DIF:100*(EMA(CLOSE,12)-EMA(CLOSE,26));
DEA:EMA(DIF,9);
MACD:(DIF-DEA)*2,COLORSTICK;
{底部结构预警}
死叉:=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:=IF(DIFL2>0,INTPART(LOG(DIFL2))-1,INTPART(LOG(-DIFL2))-1);
MDIFL2:=INTPART(DIFL2/POW(10,PDIFL2));
PDIFL3:=IF(DIFL3>0,INTPART(LOG(DIFL3))-1,INTPART(LOG(-DIFL3))-1);
MDIFL3:=INTPART(DIFL3/POW(10,PDIFL3));
MDIFB2:=INTPART(DIF/POW(10,PDIFL2));
MDIFB3:=INTPART(DIF/POW(10,PDIFL3));
直接底背离:=(CL1
隔峰底背离:=(CL1
B:直接底背离 OR 隔峰底背离,NODRAW;
BG:((MDIFB2>REF(MDIFB2,1))*REF(直接底背离,1)) OR ((MDIFB3>REF(MDIFB3,1))*REF(隔峰底背离,1)),NODRAW;
{DRAWTEXT(TFILTER(B,(REF(DIF,1)>REF(DIF,2) AND DIF
STICKLINE(B,DIF,DEA,1,0),COLORRED; DRAWTEXT(TFILTER(BG,C
{顶部结构预警} 金叉:=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>0,INTPART(LOG(DIFH2))-1,INTPART(LOG(-DIFH2))-1); MDIFH2:=INTPART(DIFH2/POW(10,PDIFH2)); PDIFH3:=IF(DIFH3>0,INTPART(LOG(DIFH3))-1,INTPART(LOG(-DIFH3))-1); MDIFH3:=INTPART(DIFH3/POW(10,PDIFH3)); MDIFT2:=INTPART(DIF/POW(10,PDIFH2)); MDIFT3:=INTPART(DIF/POW(10,PDIFH3)); 直接顶背离:=(CH1>CH2 ) AND (MDIFT2 隔峰顶背离:=(CH1>CH3 AND CH3>CH2 ) AND (MDIFT3 T:直接顶背离 OR 隔峰顶背离,NODRAW; TG:((MDIFT2
{DRAWTEXT(TFILTER(T,(REF(DIF,1)REF(DIF,1)),1),DIFH2,'钝化开始'),COLORYELLOW;} STICKLINE(T,DIF,DEA,1,0),COLORGREEN; DRAWTEXT(TFILTER(TG,C>REF(CH1,1),1),DIF*1.02,'结构形成'),COLORMAGENTA;