前期发现自己其中一个模型信号会出现闪烁现象。而且代码上面检查不出问题。最近发现一个好久以前的帖子,火哥的一个例子如下: 十二、突破模型信号也会消失的一个例子及其处理方法,大家小心。
比如,大家常用的四周法则,一般人都是这样写的
//4周转向 entertime:=time<=143000; if h>hh then begin//突破高点,平空做多 if l<ll then begin if time>=150000 then begin//收盘平仓
咋一看,没啥问题。其实信号也是会消失的...................... 请问:我仔细看过代码,发现不出哪个地方会导致信号闪烁,请老师指出谢谢。(H在K线中已经出现,这只能更加高,而不会缩小,而且HH在当条K线也不会改变,为何会闪烁呢?L同理,想不明白。) |
同一根k线h>hh和l<ll同时满足时会出现的情况
处理办法阿火后面也写了
火哥后面的解答我不是很明白。我节选了其中一部分,如下:
goto skip@;
end
if holding>0 and l<ll then begin
sell(1,1,limitr,min(o,ll-0.2)-0.6);//先是平仓
buyshort(1,1,limitr,min(o,ll-0.2)-0.6);
end
skip@;
//注意做多条件和做空条件同时成立的处理方法,这里采用20周期均线向上才做多,向下才做空
if holding=0 and h>hh and ref(c,1)>ref(c,20) and entertime then buy(1,1,limitr,max(o,hh+0.2)+0.6);//后开仓
if holding=0 and l<ll and ref(c,1)<ref(c,20) and entertime then buyshort(1,1,limitr,min(o,ll-0.2)-0.6);//后开仓
if time>=150000 then begin
sell(1,1,limitr,o);
sellshort(1,1,limitr,o);
end
1.满足条件后跳过,不再处理后面的反向开仓
2.这是新加的一个条件,在H>HH和L<LL之外另加了一个,避免同时开多开空在一根k线上同时满足