老师,我想请教一下,为什么编写的背离指标能通过测试但是完全不是我想要的效果,同时“抄底”输出但是没显示出来。是不是输出含有变量的原因?能怎么修改吗?
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
MACD:(DIF-DEA)*2,COLORSTICK;
X_2:=BARSLAST(REF(MACD,1)<0 AND MACD>0);
X_3:=LLVBARS(MACD,X_2+20);
X_4:=IF(X_3>=X_2,REF(MACD,X_3),0);
X_5:=MACD<0 AND MACD>X_4 AND L=LLV(L,X_2+20) AND X_4<0 ;
X_6:=REF(X_5,1)=1 AND MACD>REF(MACD,1) AND REF(DIF,X_3)<0 AND MACD<0 ;
DRAWLINE1(X_4=X_3,MACD,X_6,MACD,0),COLORRED,LINETHICK2;
X_7:=HHVBARS(MACD,X_2+20);
X_8:=IF(X_7>X_2,REF(MACD,X_7),0);
X_9:=MACD>0 AND MACD<X_8 AND H=HHV(HIGH,X_2+20) AND X_8>0;
X_10:=REF(X_9,1)=1 AND MACD>REF(MACD,1) AND REF(DIF,X_7)>0;
DRAWLINE1(X_8=X_7,MACD,X_10,MACD,0),COLORGREEN,LINETHICK2;
X_11:=C/MA(C,40)*100<78;
X_12:=C/MA(C,60)*100<74;
X_13:=H>L*1.051;
X_14:=X_13 AND COUNT(X_13,5)>1;
X_15:=IF(X_14 AND (X_11 OR X_12),2,0);
X_16:=C/REF(C,25)<=1.1;
X_17:=SMA(MAX(C-REF(C,2),0),7,1)/SMA(ABS(C-REF(C,2)),7,1)*100<15;
X_18:=(C-LLV(LOW,8))/(HHV(H,8)-LLV(L,8))*100;
X_19:=SMA(X_18,2,1);
X_20:=SMA(X_19,2,1);
X_21:=IF(X_19>REF(X_19,1) AND REF(X_19,1)<REF(X_19,2) AND X_19<23,1.5,0);
抄底:X_16 AND X_15 AND X_17 AND X_21 ,LINETHICK2,COLORWHITE;
用DRAWTRENDLINE函数试试,参考:
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:2*(DIFF-DEA),COLORSTICK;
SC:=MACD<0 AND REF(MACD,1)<0 AND REF(MACD,2)<0 AND MACD>REF(MACD,1) AND REF(MACD,1)<REF(MACD,2);
N2:=BARSLAST(SC)+1;
LL:=VALUEWHEN(SC,LLV(L,N2+1));
LL2:=VALUEWHEN(SC,REF(LL,1));
MLD:=VALUEWHEN(SC,LLV(MACD,N2+1));
MLD2:=VALUEWHEN(SC,REF(MLD,1));
B:=SC&&LL<LL2&&MLD>MLD2;
DRAWICON(B,MACD-0.02,4);
DRAWTEXT(B,MACD-0.03,'底背离');
DRAWTRENDLINE( B,MLD, SC, MLD2,COLORRED);