DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);
DEAA : EMA(DIFF,9);
MACD1:2*(DIFF-DEAA),COLORSTICK;
SC:=CROSSDOWN(DIFF,DEAA);
JC:=CROSS(DIFF,DEAA);
NN1:=BARSLAST(JC)+1;
NN2:=BARSLAST(SC)+1;
HH:=VALUEWHEN(CROSSDOWN(DIFF,DEAA),HHV(H,NN1));//上次MACD1红柱期间合约最大值
HH2:=VALUEWHEN(CROSSDOWN(DIFF,DEAA),REF(HH,1));//上上次MACD1红柱期间合约最大值
MHD:=VALUEWHEN(CROSSDOWN(DIFF,DEAA),HHV(MACD1,NN1));//上次MACD1红柱期间MACD1最大值
MHD2:=VALUEWHEN(CROSSDOWN(DIFF,DEAA),REF(MHD,1));//上上次MACD1红柱期间MACD1最大值
LL:=VALUEWHEN(CROSS(DIFF,DEAA),LLV(L,NN2));//上次MACD1绿柱期间合约最小值
LL2:=VALUEWHEN(CROSS(DIFF,DEAA),REF(LL,1));//上上次MACD1绿柱期间合约最小值
MLD:=VALUEWHEN(CROSS(DIFF,DEAA),LLV(MACD1,NN2));//上次MACD1绿柱期间MACD1最小值
MLD2:=VALUEWHEN(CROSS(DIFF,DEAA),REF(MLD,1));//上上次MACD1绿柱期间MACD1最小值
A:=HH>HH2&&MHD<MHD2;//顶背离
B:=LL<LL2&&MLD>MLD2;//底背离
/////////////////////////////////////////
DIF: 100*(EMA(CLOSE, 12)-EMA(CLOSE, 26));
DEA: EMA(DIF,9);
MACD: (DIF-DEA)*2, COLORSTICK;
A1: =C>REF(C, 4);
NT: =BARSLASTCOUNT(A1);
TJ11:=NT=9;
B1: =C<REF(C,4);
NT0: =BARSLASTCOUNT(B1);
TJ13: =ISLASTBAR AND BETWEEN(NT0,5,8);
AY:=(BACKSET(TJ11>0,9) OR BACKSET(TJ13>0, NT))*NT;
DRAWNUMBER1(AY>0, MACD*1.02, AY,0), COLORRED;
TJ21: =NT0=9;
TJ23: =ISLASTBAR AND BETWEEN(NT0,5,8);
AY1: =(BACKSET(TJ21>0,9) OR BACKSET(TJ23>0, NT0))*NT0;
DRAWNUMBER1(AY1>0, MACD*0.98, AY1,0), COLORGREEN;
DRAWTEXT (NT0=9, MACD*0.98,'?'), COLORRED;
死叉:=CROSS(DEA,DIF);
N1:=BARSLAST(死叉),NODRAW;
//{最近一次死叉的位置}
N2:=REF(BARSLAST(死叉),N1+1),NODRAW;
//{倒数第二次死叉与倒数第一次死叉的区间}
N3:=REF(BARSLAST(死叉),N2+N1+2),NODRAW;
//{倒数第三次死叉与倒数第二次死叉的区间}
CL1:=LLV(C,N1+1),NODRAW;
//{最近一次死叉后,最低收盘价}
DIFL1:=LLV(DIF,N1+1),NODRAW;
CL2:=REF(CL1,N1+1),NODRAW;
//{倒数第二次死叉与倒数第一次死叉之间的最低收盘价}
DIFL2:=REF(DIFL1,N1+1),NODRAW;
CL3:=REF(CL2,N1+1),NODRAW;
//{倒数第三次死叉与倒数第二次死叉之间的最低收盘价}
DIFL3:=REF(DIFL2,N1+1),NODRAW;
PDIFL2:=REF(DIFL2>0,INTPART(LOG10(DIFL2))-1);
MDIFL2:=INTPART(DIFL2/POW(10,PDIFL2));
PDIFL3:=IF(DIFL3>0,INTPART(LOG10(DIFL3))-1,INTPART(LOG10(-1*DIFL3))-1);
MDIFL3:=INTPART(DIFL3/POW(10,PDIFL3));
MDIFB2:=INTPART(DIF/POW(10,PDIFL2));
MDIFB3:=INTPART(DIF/POW(10,PDIFL3));
直接底背离:=(CL1<CL2) AND (MDIFB2>MDIFL2) AND (MACD<0 AND REF(MACD,1)<0) AND MDIFB2<=REF(MDIFB2,1);
隔峰底背离:=(CL1<CL3 AND CL3<CL2 ) AND (MDIFB3>MDIFL3) AND (MACD<0 AND REF(MACD,1)<0) AND MDIFB3<=REF(MDIFB3,1);
底部钝化:直接底背离 OR 隔峰底背离,NODRAW;
底背离:CROSS(B,0.5),NODRAW;
//{DRAWTEXT(TFILTER(B,(REF(DIF,1)>REF(DIF,2) AND DIF<REF(DIF,1)),1),DIFL2,'钝化开始'), COLORYELLOW;
STICKLINE(底部钝化,DIF,DEA,1,0),COLORRED;
DRAWTEXT(底背离&&COUNT(底背离,BARSLAST(MACD>0)+1)=1,DIF*0.98,'底部结构形成 '), COLORYELLOW,VALIGN0;
金叉:=CROSS(DIF,DEA);
M1:=BARSLAST(金叉),NODRAW;
//{最近一次金叉的位置}
M2:=REF(BARSLAST(金叉),M1+1),NODRAW;
//{倒数第二次金叉与倒数第一次金叉的区间}
M3:=REF(BARSLAST(金叉),M2+M1+2),NODRAW;
//{倒数第三次金叉与倒数第二次金叉的区间}
CH1:=HHV(C,M1+1),NODRAW;
//{最近一次金叉后,最高收盘价}
DIFH1:=HHV(DIF,M1+1),NODRAW;
CH2:=REF(CH1,M1+1),NODRAW;
//{倒数第二次金叉与倒数第一次金叉之间的最高收盘价}
DIFH2:=REF(DIFH1,M1+1),NODRAW;
CH3:=REF(CH2,M1+1),NODRAW;
//{倒数第三次金叉与倒数第二次金叉之间的最高收盘价}
DIFH3:=REF(DIFH2,M1+1),NODRAW;
PDIFH2:=IF(DIFH2>O,INTPART(LOG10(DIFH2))-1,INTPART(LOG10(-1*DIFH2))-1);
MDIFH2:=INTPART(DIFH2/POW(10,PDIFH2));
PDIFH3:=IF(DIFH3>0,INTPART(LOG10(DIFH3))-1,INTPART(LOG10(-1*DIFH3))-1);
MDIFH3:=INTPART(DIFH3/POW(10,PDIFH3));
MDIFT2:=INTPART(DIF/POW(10,PDIFH2));
MDIFT3:=INTPART(DIF/POW(10,PDIFH3));
直接顶背离:=(CH1>CH2) AND (MDIFT2<MDIFH2) AND MACD>0 AND REF(MACD,1)>0 AND MDIFT2>=REF(MDIFT2,1);
隔峰顶背离:=(CH1>CH3 AND CH3>CH2) AND (MDIFT3<MDIFH3) AND (MACD>O AND REF(MACD,1)>0) AND MDIFT3>=REF(MDIFT3,1);
顶部钝化:直接顶背离 OR 隔峰顶背离,NODRAW;
顶背离:CROSS(A,0.5),NODRAW;
STICKLINE(顶部钝化,DIF,DEA,1,0),COLORGREEN;
DRAWTEXT(顶背离&&COUNT(顶背离,BARSLAST(MACD<0)+1)=1,DIF*1.02,'顶部结构形成'),COLORYELLOW;
DRAWTEXT(CROSS(DIF,DEA),DEA,'×'),RGB(255,0,128);
DRAWTEXT(CROSS(DEA,DIF),DEA,'×'),RGB(0,128,255);
MACDDIF:=IF(ABS(MACD)>ABS(DIF),MACD,DIF);
DRAWTEXT(REF(DIF,1)>REF(DIF,2) AND DIF<REF(DIF,1) AND DIF>0 AND DIF>DEA,MACDDIF*1.1,'▼'),COLORGREEN;
DRAWTEXT(REF(DIF,1)<REF(DIF,2) AND DIF>REF(DIF,1) AND DIF<0 AND DIF<DEA,MACDDIF*1.1,' ▲ '), COLORRED,VALIGN0;
联系客服