我们使用heiken ashi smoothed来做敏感指标(大趋势借助其转向趋势预判,但不是马上转变),has默认使用6根k线的移动平均值来做计算的。若在6根k线规范内有一个突变的行情(k线很长),那么整个行情的判断都会受这根k线影响的。我们的做法是若6根k线内,出现超过8000千点(8刀)的变化,并且当前行情在这根k线包含之中,就把大趋势变为弱。这时的做单策略是不加仓,并择机减仓。mql4代码如下:
//6条30分k线内有一条出现8000点差判断为unknown,避免影响指标判断。修正:应该在线区间内才不做单。
if(timeFrame == big_timeframe)
{
for(int i=0;i<6;i++)
{
int index = iHighest(Symbol(),big_timeframe,MODE_HIGH,1,i);
double highPrice = iHigh(Symbol(), big_timeframe, index);
index = iLowest(Symbol(),big_timeframe,MODE_LOW,1,i);
double lowPrice = iLow(Symbol(), big_timeframe, index);
if(highPrice - lowPrice > 8 && ((Ask > lowPrice && Ask < highPrice) || (Bid < highPrice && Bid > lowPrice)))
//if(highPrice - lowPrice > 8)
{
printfPro("6条30分k线内出现过一条8刀的k线,并且当前行情在此区间内,趋势的指标无法判断" , true);
return UNKNOWN;
}
}
}