DIFF:=100*(EMA(CLOSE,12)-EMA(CLOSE,26)),NODRAW;
DEA:=EMA(DIFF,9),NODRAW;
macd:=(DIFF-DEA)*2,NODRAW;
死叉:=crOSS(DEA,DIFF);
N1:=BARSLAST(死叉);
N2:=REF(BARSLAST(死叉),N1+1);
N3:=REF(BARSLAST(死叉),N2+N1+2);
CL1:=LLV(LOW,N1+1);
DIFL1:=LLV(DIFF,N1+1);
CL2:=REF(CL1,N1+1);
DIFL2:=REF(DIFL1,N1+1);
CL3:=REF(CL2,N1+1);
DIFL3:=REF(DIFL2,N1+1);
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(DIFF/POW(10,PDIFL2));
MDIFB3:=INTPART(DIFF/POW(10,PDIFL3));
直接底部结构:=(CL1<CL2 ) AND (MDIFB2>MDIFL2) AND DIFF<0 AND (MACD<0 AND REF(MACD,1)<0) AND MDIFB2<=REF(MDIFB2,0);
隔峰底部结构:=(CL1<CL3 AND CL3<CL2 ) AND (MDIFB3>MDIFL3) AND (MACD<0 AND REF(MACD,1)<0) AND MDIFB3<=REF(MDIFB3,0);
BG:=((MDIFB2>REF(MDIFB2,1))*REF(直接底部结构,2)) OR ((MDIFB3>REF(MDIFB3,2))*REF(隔峰底部结构,2)),NODRAW;
P:=CROSS(DIFF,DEA);
DRAWTEXT(FILTER(BG AND P,MACD>0),L*0.99,'●底部结构'),colormagenta;
金叉:=CROSS(DIFF,DEA);
M1:=BARSLAST(金叉);
M2:=REF(BARSLAST(金叉),M1+1);
M3:=REF(BARSLAST(金叉),M2+M1+2);
CH1:=HHV(HIGH,M1+1);
DIFH1:=HHV(DIFF,M1+1);
CH2:=REF(CH1,M1+1);
DIFH2:=REF(DIFH1,M1+1);
CH3:=REF(CH2,M1+1);
DIFH3:=REF(DIFH2,M1+1);
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(DIFF/POW(10,PDIFH2));
MDIFT3:=INTPART(DIFF/POW(10,PDIFH3));
直接顶部结构:=(CH1>CH2 ) AND (MDIFT2<MDIFH2) AND DIFF>0 AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT2>=REF(MDIFT2,0);
隔峰顶部结构:=(CH1>CH3 AND CH3>CH2 ) AND (MDIFT3<MDIFH3) AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT3>=REF(MDIFT3,0);
TG:=((MDIFT2<REF(MDIFT2,1))*REF(直接顶部结构,2)) OR ((MDIFT3<REF(MDIFT3,2))*REF(隔峰顶部结构,2)),NODRAW;
Q:=CROSS(DEA,DIFF);
DRAWTEXT(FILTER(TG AND Q,MACD<0),H*1.02,'●顶部结构'),colorgreen;
A1:=C>REF(C,4);
NT:=BARSLASTCOUNT(A1);
TJ11:=NT=9;
TJ13:=ISLASTBAR AND BETWEEN(NT,5,8);
DRAWTEXT(NT=9,H*1.007,'▲高点'),colorgreen;
K1:=REF(C,0)>REF(C,13);
K2:=REF(NT=9,13);
DRAWTEXT(K1 AND K2,H*1.007,'■顶'),colorred;
B1:=C<REF(C,4);
NT0:=BARSLASTCOUNT(B1);
TJ21:=NT0=9 ;
TJ23:=ISLASTBAR AND BETWEEN(NT0,5,8);
DRAWTEXT(NT0=9,L*0.994,'▲低点'),colorred;
T1:=REF(C,0)<REF(C,13);
T2:=REF(NT0=9,13);
DRAWTEXT(T1 AND T2,L*0.994,'■底'),colorgreen;
A1A:=EMA(CLOSE, 9);
A1B:=((A1A - EMA(CLOSE, 5)) < 0);
A1C:=((A1A - EMA(CLOSE, 5)) > 0);
A1D:=BARSLAST(A1B);
A1E:=BARSLAST(A1C);
A1F:=IF((A1E > 0),(CLOSE - REF(CLOSE, 1)) / REF(CLOSE, 1) * 100,0);
A20:=SUM(A1F,0);
A21:=IF((A1D > 0),(0 - 2),0);
A22:=IF((A1E > 0),SUM((CLOSE - REF(CLOSE, 1)) / REF(CLOSE, 1) * 100,A1E),0);
A23:=A22 / A1E;
A25:=EMA(EMA(EMA(CLOSE, 3), 3), 3);
上升通道:((A25 - REF(A25, 1)) + A25),colorred;
反转通道:MA(上升通道, 15),colorgreen;