需要跟您核实下,
以做多为例,买开仓的条件是最高价突破前20日最高或者最高价突破前20日高点减0.1倍的ATR?
止损平仓的条件是,最低价下破前20日低点加2倍的ATR?
经核实,您的止损要取到买开信号触发位置的高点,要用到信号记录函数,需要在wh8程序化软件中使用,
给您编写适用wh8的模型?
您的止损思路是 “按当时触发的20日高点的反向2倍ATR为止损”,买开信号触发位置的20日高点要通过信号记录函数来取得的,
属于程序化思路的,而wh6是看盘软件,所以没有这类函数。
“如果不能每天创出新高的话,在20日最高点的基础上每天减去0.1倍ATR” 可以参照下面的写法:
TR := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR := MA(TR,26),COLORYELLOW;
HH:=HV(H,20);
LL:=LV(L,20);
HH1:IF(H<HH,HH-0.1*ATR,HH),COLORRED,DOT;
LL1:IF(L<LL,LL+0.1*ATR,LL),COLORGREEN,DOT;
这么试下,
TR := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR := MA(TR,26),COLORYELLOW;
HH:=HV(H,20);
LL:=LV(L,20);
AA1:=VALUEWHEN(CROSS(H<HH,0.5),HH);
SS1:=COUNT(H<HH,BARSLAST(CROSS(H<HH,0.5))+1);
AA2:=VALUEWHEN(CROSS(L<LL,0.5),LL);
SS2:=COUNT(L<LL,BARSLAST(CROSS(L<LL,0.5))+1);
HH1:IF(H<HH,AA1-0.1*ATR*SS1,HH),COLORRED,DOT;
LL1:IF(L<LL,AA2+0.1*ATR*SS2,LL),COLORGREEN,DOT;