单均线加通道突破系统[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;
如果以上指标公式不适用于您常用的行情软件
或者您想改编成选股公式,以便快速选出某种形态个股的话,
- 上一篇:用TB实现DMI指标
- 下一篇:四周法则突破系统 TB交易模型
相关文章
-
没有相关内容