序列变量在TB中的应用教材_第1页
序列变量在TB中的应用教材_第2页
序列变量在TB中的应用教材_第3页
序列变量在TB中的应用教材_第4页
序列变量在TB中的应用教材_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1序列变量在系统交易中

的实际应用

陈丽琳深圳市拓瑞邦泽科技有限公司2序列变量的定义序列类型的变量是和Bar长度一致的数据排列,我们可以通过回溯来获取当前Bar以前的任意值。3序列变量的类型数值型序列变量布尔型序列变量字符串型序列变量4具体实例讲述序列变量求上下穿状态(布尔型)1求当天开盘价(数值型)2求日内高低点(数值型)3求日内均线(数值型)45具体实例讲述序列变量求上下穿状态(布尔型)16

上下穿状态的三大要素记录是否有上穿的动作(即金叉)记录是否有下穿的动作(即死叉)一旦没有任何的交叉动作则将之前的状态维持传递下去求上下穿状态17

变量的声明声明两个数值型序列变量以记录均线价格声明一个布尔型序列变量以记录当前状态VarsNumericseriesA;NumericseriesB;BoolseriesCondition;

求上下穿状态18公式计算主体对不同变量(A,B)分别进行赋值

A=average(close,5);B=average(close,10);求上下穿状态19公式计算主体对同一变量(Condition)在不同条件下分别赋予不同的值

if(crossover(A,B)){Condition=true;}elseif(crossunder(A,B)){Condition=false;}else{Condition=Condition[1];}求上下穿状态110可以对一个序列变量在不同的条件下赋予不同的值,而简单变量则不可数值型、布尔型、字符串型序列变量可以实现上这一点

11用一个K线形态将布尔序列变量表现出来VarsNumericseriesA;NumericseriesB;BoolseriesCondition;BeginA=average(close,5);B=average(close,10);if(crossover(A,B)){Condition=true;}elseif(crossunder(A,B)){Condition=false;}else{Condition=Condition[1];}if(Condition==true)plotbar("con",high,low,yellow);if(Condition==false)plotbar("con",high,low,blue);end序列变量的声明计算主体变量的赋值线型的输出求上下穿状态112对比图----均线在图表上的表现求上下穿状态1两条均线在图表上直接输出需人为观察交叉点出现的K线位置及均线走向13对比图---K线形态在图表上的表现直观、清晰可见交叉点及两条均线的方位关系求上下穿状态114具体实例讲述序列变量求当天开盘价(数值型)215求当日开盘价的四个要素适用小于日线的周期需要取9:00的这个开盘价格任意位置K线都能取到当天开盘价格当天任意位置K线上的数值都是一样求当天开盘价216

在当天的任意K线上求取当天的开盘价格求当天开盘价(数值型)217声明一个序列变量dayopen来记录当日开盘价VarsNumericseriesdayopen;BeginIf(date!=date[1]) { dayopen=open;}else{ dayopen=dayopen[1];}声明一个序列变量每日开盘第一根K线上将开盘价赋值给变量除去每日第一根以外的K线上将开盘价传递下去求当天开盘价218在指标中的输出Vars Numericseriesdayopen;Begin if(date!=date[1])//每日开盘的第一根K线上

{ dayopen=open;//将开盘价赋值给变量

}else//除去每日第一根以外的K线上

{ dayopen=dayopen[1];//将开盘价传递下去

}

PlotNumeric(“dayopen”,dayopen,yellow); end求当天开盘价219指标:直接图表上输出每日开盘价曲线可以在任意周期上读取到当天开盘价格求当天开盘价220

交易指令

以现价高于当天开盘价上20点开多仓为例

if(marketposition!=1)//没有持多仓时

{ if(high>=dayopen+20*minmove*pricescale) { buy(1,dayopen+20*minmove*pricescale); }}求当天开盘价221指令在图表上的表现求当天开盘价222

将特定K线位置的数据通过序列变量来记录并传递,为后面的一系列操作提供所需的数据信息如开仓价格、开仓时间以及加仓等状态的记录,为接下来的条件平仓提供必要的数据,以便现实个性化的交易策略。

23具体实例讲述序列变量求日内高低点(数值型)324小于日线的周期以每日数据单独进行计算开盘第一根K线上的高(或低)点为基数存入变量将最新K线上的高点与前一个最高价进行比较判断,取其高值存入变量将最新K线上的低点与前一个最低价进行比较判断,取其低值存入变量求日内高低点的要素求日内高低点325确定高点VarsNumericseriesdayhigh;Beginif(date!=date[1]){dayhigh=high;}else{dayhigh=max(dayhigh[1],high);}声明变量确定高点价格比较判断是否新高,存新高价求日内高低点326确定低点VarsNumericseriesdaylow;Beginif(date!=date[1]){daylow=low;}else{daylow=min(daylow[1],low);}声明变量确定低点价格比较判断是否新低,存新低价求日内高低点327日内高低点走势曲线指标VarsNumericseriesdayhigh;Numericseriesdaylow;Beginif(date!=date[1]){dayhigh=high;daylow=low;}else{dayhigh=max(dayhigh[1],high);daylow=min(daylow[1],low);}

plotnumeric("dayhigh",dayhigh,red);plotnumeric("daylow",daylow,cyan);End求日内高低点328高低点曲线图求日内高低点3不断突破的新高(低)取代之前的高(低)点没有突破则维持原高(低)点价格来传递29日内突破系统规则突破早上前30分钟的高点做多突破早上前30分钟的低点做空收盘前1分钟平仓下单价格偏移3个最小变动单位如果开盘价大于或小于下单条件(有缺口),以开盘价下单求日内高低点330日内突破线ParamsNumericnMins(30);VarsNumericSeriesHighestOfMins;NumericSerieslowestOfMins;BeginIf(Date!=Date[1]){HighestOfMins=High;lowestOfMins=Low;}ElseIf(Time<0.0900+nMins*0.0001){HighestOfMins=max(high,HighestOfMins[1]);lowestOfMins=min(Low,lowestOfMins[1]);}Else{HighestOfMins=HighestOfMins[1];lowestOfMins=lowestOfMins[1];}

PlotNumeric("HighestOfMins",HighestOfMins); PlotNumeric("lowestOfMins",lowestOfMins); End设定30分钟(可调整的参数)声明变量求日内高低点331求日内高低点332

日内突破系统

P-1Params NumericnMins(30);NumericnOffset(3);Vars NumericSeriesHighestOfMins;NumericSerieslowestOfMins;NumericmyPrice;NumericMinPoint;Numericlots(1);可设置的突破分钟数突破价格偏移点求日内高低点333

日内突破系统

P-2BeginMinPoint=MinMove*PriceScale;If(Date!=Date[1]){HighestOfMins=High;lowestOfMins=Low;}ElseIf(Time<0.0900+nMins*0.0001){HighestOfMins=max(high,HighestOfMins[1]);lowestOfMins=min(Low,lowestOfMins[1]);}Else{HighestOfMins=HighestOfMins[1];lowestOfMins=lowestOfMins[1];}求日内高低点334

日内突破系统

P-3

If(High>=HighestOfMins+nOffset*MinPoint&&MarketPosition!=1){myPrice=HighestOfMins+nOffset*MinPoint;If(Open>myPrice)myPrice=Open;Buy(lots,myPrice);}If(Low<=lowestOfMins-nOffset*MinPoint&&MarketPosition!=-1){myPrice=lowestOfMins-nOffset*MinPoint;If(Open<myPrice)myPrice=Open;SellShort(lots,myPrice);}If(Time>=0.1459){Sell(lots,Open);BuyToCover(lots,Open);}End求日内高低点335求日内高低点336求日内高低点337

在记录传递一个序列值的同时,与当前行情价格进行比较,并按条件要求判断

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论