DIF:EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:EMA(DIF,9);
MACD:2*(DIF-DEA), COLORSTICK,LINETHICK2;
A1:=BARSLAST(REF(CROSS(DIF,DEA),1));
�ױ���:=REF(CLOSE,A1+1)>CLOSE AND DIF>REF(DIF,A1+1) AND CROSS(DIF,DEA);
STICKLINE(�ױ���,0,0.03,6,0),COLOR00FF00;
�ױ�:DRAWLINE(A1=0,DEA,�ױ���,DEA,0),COLORRED,LINETHICK4;
DRAWTEXT(�ױ���,0.12,' �ױ���'),COLORFF00FF;
A2:=BARSLAST(REF(CROSS(DEA,DIF),1));
������:=REF(CLOSE,A2+1)<CLOSE AND REF(DIF,A2+1)>DIF AND CROSS(DEA,DIF);
����:DRAWLINE(A2=0,DEA,������,DEA,0),COLORGREEN,LINETHICK4;
DRAWICON(CROSS(DIF,DEA),DEA,1);
DRAWICON(CROSS(DEA,DIF),DEA,2);
STICKLINE(MACD>REF(MACD,1)AND MACD>0,0,MACD,0.2,0),COLORRED;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,0.2,0),COLORRED;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,0.2,0),COLORBLUE;
STICKLINE(MACD<REF(MACD,1)AND MACD<0,0,MACD,0.2,0),COLORBLUE;
����:=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<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);
B:ֱ�ӵױ��� OR ����ױ���,NODRAW;
BG:((MDIFB2>REF(MDIFB2,1))*REF(ֱ�ӵױ���,1)) OR ((MDIFB3>REF(MDIFB3,1))*REF(����ױ���,1)),NODRAW;
�ױ�����ʧ:=(REF(ֱ�ӵױ���,1) AND DIFL1<=DIFL2 ) OR (REF(����ױ���,1) AND DIFL1<=DIFL3);
DRAWTEXT(TFILTER(B,MACD>0,1),(DIF+MACD),'�ۻ�'),COLORRED;
STICKLINE(B OR BG,DIF,DEA,1,0),COLORRED;
DRAWTEXT(TFILTER(�ױ�����ʧ,B,1),(DIF+MACD),'��ʧ'),COLORYELLOW;
DRAWTEXT(TFILTER(BG,MACD>0,1),DIF*1.1,'�ṹ�γ�'),COLORGREEN;
���:=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<MDIFH2) AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT2>=REF(MDIFT2,1);
���嶥����:=(CH1>CH3 AND CH3>CH2 ) AND (MDIFT3<MDIFH3) AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT3>=REF(MDIFT3,1);
T:ֱ�Ӷ����� OR ���嶥����,NODRAW;
TG:((MDIFT2<REF(MDIFT2,1))*REF(ֱ�Ӷ�����,1)) OR ((MDIFT3<REF(MDIFT3,1))*REF(���嶥����,1)),NODRAW;
��������ʧ:=(REF(ֱ�Ӷ�����,1) AND DIFH1>=DIFH2 ) OR (REF(���嶥����,1) AND DIFH1>=DIFH3);
DRAWTEXT(TFILTER(T,MACD<0,1),(DIF+MACD),'�ۻ�'),COLORGREEN;
DRAWTEXT(TFILTER(��������ʧ,T,1),(DIF+MACD),'��ʧ'),COLORYELLOW;
STICKLINE(T OR TG,DIF,DEA,1,0),COLORGREEN;
DRAWTEXT(TFILTER(TG,MACD<0,1),DIF*1.02,'�ṹ�γ�'),COLORMAGENTA;