下载此文档

TB程序化交易模型示例.ppt


文档分类:金融/股票/期货 | 页数:约40页 举报非法文档有奖
1/40
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/40 下载此文档
文档列表 文档介绍
*TB程序化交易模型示例内容安排介绍四套交易模型一、单均线加通道交易模型二、四周法则交易模型三、双均线交叉交易模型四、RangeBreak日内突破模型*例1:单均线加通道突破系统交易规则:以简单移动平均线判断趋势,收盘价在均线之上为多头趋势,在均线之下为空头趋势;为过滤均线假突破,在均线基础上加减一定百分比形成围绕均线的上下两条通道;价格盘中突破上轨,进场做多或平空反多;价格盘中突破下轨,进场做空或平多反空;增加跟踪止盈的功能(峰值价回落ATR倍数);跟踪止盈后突破出场前高(低)点再进场;交易头寸暂为1手。*策略设计(1)进出场技术指标的编写: ATRValue=AvgTrueRange(ATRLength); Commentary("ATRValue="+text(ATRValue)); MA=AverageFC(Close,Length); UpperBand=MA[1]*(1+FilterPercent/10000); LowerBand=MA[1]*(1-FilterPercent/10000); PlotNumeric("MA",MA); PlotNumeric("UpperBand",UpperBand); PlotNumeric("LowerBand",LowerBand); 其中参数:ATRLength---平均真实波幅的计算周期 FilterPercent---通道的比例(万分之几)*策略设计(2)为了让系统的组合更灵活,把一个完整的交易模型分成做多和做空两个模型分别编写;初次进场和再次进场,多空模型分别通过序列变量bLongStoped和bShortStoped来判断;进场后,两个变量设为false,重新记录跟踪止损状况跟踪止盈触发后,设置为true趋势反转后,有仓位需要止损,但不设置标志跟踪止损和再次进场创新高(低)的判断,都需要记录盈利峰值价(也就是前高或前低),因此需要设置两个序列变量HigherAfterEntry和LowerAfterEntry,进场后及时记录价格的新高(低)的变化;*策略设计(3)跟踪止盈采用的是盈利峰值价回落ATR的一定比例后触发止损,加上本身趋势反转时的止损,两部分代码合在一起,以多头模型为例说明:止损价的设置 StopLine=LowerBand; if(StopLine<HigherAfterEntry-ATRValue[1]*TrailStopNumATR) StopLine=HigherAfterEntry-ATRValue[1]*TrailStopNumATR;止损的触发 If(Low<=StopLine) { MyPrice=StopLine; If(Open<MyPrice)MyPrice=Open; Sell(0,MyPrice); bLongStoped=true; }*策略设计(4)集合竞价数据过滤集合竞价时,会产生一个Tick,这个Tick会驱动图表中加载的公式应用的运算,如果这时符合交易条件,则会发送委托单。但交易所此时并未开市,从而产生废单。为处理这种情况,我们需要在代码中过滤这些数据,我们在公式中加入以下代码:分钟周期和Tick周期下If((BarType==1orBarType==2)&&BarStatus==2&&date!=date[1]&&high==low)return;日线周期If(BarType==0&&BarStatus==2&&CurrentTime<=&&high==low)return;*模型参数说明Length:均线周期,默认值为10;ATRLength:ATR的周期,默认值为20;FilterPercent:通道幅度比例(万分之几),默认为100,即为百分之一;TrailStopNumATR:追踪止损,回测ATR的倍数,默认值为2;Lots:头寸大小,默认为交易1手。*例2:四周法则突破系统交易规则:价格突破最近四周(即日线20根K线)高点,做多,跌破四周低点做空;增加更小周期作为止损,持多单跌破两周低点(即日线10根K线)止损出场,持空突破两周高点止损出局;增加跟踪止盈的功能(峰值价回落ATR倍数);跟踪止盈后突破出场前高(低)点再进场;交易头寸暂为1手。*策略设计(1)进出场技术指标的编写: HiBand1=highest(high[1],Length1); LoBand1=lowest(low[1],Length1); HiBand2=highest(high[1],Length2); LoBand2=lowest(low[1],Length2); PlotNumeric("HiBand1",HiBand1); PlotNumeric("LoBand1",LoBand1); plotnumeric("HiBa

TB程序化交易模型示例 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数40
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文档大全
  • 文件大小654 KB
  • 时间2019-03-12