您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者公式>>正文内容

单均线加通道突破系统[TB交易模型][开拓者公式]

交易规则:
以简单移动平均线判断趋势,收盘价在均线之上为多头趋势,在均线之下为空头趋势;
为过滤均线假突破,在均线基础上加减一定百分比形成围绕均线的上下两条通道;
价格盘中突破上轨,进场做多或平空反多;
价格盘中突破下轨,进场做空或平多反空;
增加跟踪止盈的功能(峰值价回落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 == 1 or BarType == 2 ) && BarStatus == 2 && date != date[1] && high == low) return;
日线周期
If ( BarType == 0 && BarStatus == 2 && CurrentTime <= 0.09 && high == low) return;

 

如果以上指标公式不适用于您常用的行情软件

或者您想改编成选股公式,以便快速选出某种形态个股的话,

可以联系我们相关技术人员 QQ: 262069696  点击在线交流进行 有偿 改编!

 


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容