DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA :=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
JC:=CROSS(DIFF,DEA)||ISLASTBAR&&MACD<0,NODRAW;
SC:=CROSSDOWN(DIFF,DEA)||ISLASTBAR&&MACD>0,NODRAW;
N1:=BARSLAST(JC)+1;
N2:=BARSLAST(SC)+1;
HH:=BARSLASTCOUNT(BACKSET(SC,HHVBARS(MACD,N1)+1))=1;
LL:=BARSLASTCOUNT(BACKSET(JC,LLVBARS(MACD,N2)+1))=1;
// 取MACD最长红绿柱的峰值作如下标注;
DRAWCOLORKLINE(HH,COLORGREEN,0);
DRAWCOLORKLINE(LL,COLORRED,0);
DRAWTEXT(HH,H,'M'),COLORGREEN,VALIGN2;
DRAWTEXT(LL,L,'M'),COLORRED,VALIGN0;
DRAWHORIZONTALLINE(HH,H,COLORGREEN),DOT;
DRAWHORIZONTALLINE(LL,L,COLORRED),DOT;
DRAWNUMBER(HH||ISLASTBAR,REF(VALUEWHEN(HH,H),1),REF(VALUEWHEN(HH,H),1),2,COLORGREEN),FONTSIZE13,VALIGN1,ALIGN0;
DRAWNUMBER(LL||ISLASTBAR,REF(VALUEWHEN(LL,L),1),REF(VALUEWHEN(LL,L),1),2,COLORRED),FONTSIZE13,VALIGN1,ALIGN0;
// 取MACD最短红绿柱做如下标注;
DRAWCOLORKLINE(CROSS(DIFF,DEA),RGB(255,128,0),0);
DRAWCOLORKLINE(CROSSDOWN(DIFF,DEA),COLORYELLOW,0);
DRAWHORIZONTALLINE(CROSS(DIFF,DEA),H,RGB(255,128,0)),DOT;
DRAWHORIZONTALLINE(CROSSDOWN(DIFF,DEA),L,COLORYELLOW),DOT;
DRAWNUMBER(CROSS(DIFF,DEA)||ISLASTBAR,REF(VALUEWHEN(CROSS(DIFF,DEA),H),1),REF(VALUEWHEN(CROSS(DIFF,DEA),H),1),2,RGB(255,128,0)),FONTSIZE13,VALIGN1,ALIGN0;
DRAWNUMBER(CROSSDOWN(DIFF,DEA)||ISLASTBAR,REF(VALUEWHEN(CROSSDOWN(DIFF,DEA),L),1),REF(VALUEWHEN(CROSSDOWN(DIFF,DEA),L),1),2,COLORYELLOW),FONTSIZE13,VALIGN1,ALIGN0;
// 取正负DIFF最大最小值作如下标注
HHD:=BARSLASTCOUNT(BACKSET(SC,HHVBARS(DIFF,N1)+1))=1;
LLD:=BARSLASTCOUNT(BACKSET(JC,LLVBARS(DIFF,N2)+1))=1;
DRAWCOLORKLINE(HHD,RGB(128,255,0),0);
DRAWCOLORKLINE(LLD,RGB(244,0,0),0);
DRAWTEXT(HHD,H,'D'),RGB(128,255,0),VALIGN2;
DRAWTEXT(LLD,L,'D'),RGB(244,0,0),VALIGN0;
DRAWHORIZONTALLINE(HHD,H,RGB(128,255,0)),DOT;
DRAWHORIZONTALLINE(LLD,L,RGB(244,0,0)),DOT;
DRAWNUMBER(HHD||ISLASTBAR,REF(VALUEWHEN(HHD,H),1),REF(VALUEWHEN(HHD,H),1),2,RGB(128,255,0)),FONTSIZE13,VALIGN1,ALIGN0;
DRAWNUMBER(LLD||ISLASTBAR,REF(VALUEWHEN(LLD,L),1),REF(VALUEWHEN(LLD,L),1),2,RGB(244,0,0)),FONTSIZE13,VALIGN1,ALIGN0;
// 取DIFF上穿下穿零轴作如下标注;
DRAWCOLORKLINE(CROSS(DIFF,0),COLORBLUE,0);
DRAWCOLORKLINE(CROSSDOWN(DIFF,0),COLORBLUE,0);
DRAWTEXT(CROSS(DIFF,0),H,'DI'),COLORBLUE,VALIGN2;
DRAWTEXT(CROSSDOWN(DIFF,0),L,'DI'),COLORBLUE,VALIGN0;
DRAWICON(CROSS(DIFF,0),L,4),VALIGN0;
DRAWICON(CROSSDOWN(DIFF,0),H,5),VALIGN2;
DRAWSL(CROSS(DIFF,0),C,0,3,0,COLORBLUE),DOT;
DRAWSL(CROSSDOWN(DIFF,0),C,0,3,0,COLORBLUE),DOT;
DRAWNUMBER(CROSS(DIFF,0),C,C,2,COLORBLUE),FONTSIZE13,VALIGN1,ALIGN2;
DRAWNUMBER(CROSSDOWN(DIFF,0),C,C,2,COLORBLUE),FONTSIZE13,VALIGN1,ALIGN2;
// 取DEA下穿零轴作如下标注;
DRAWCOLORKLINE(CROSS(DEA,0),RGB(255,128,192),0);
DRAWCOLORKLINE(CROSSDOWN(DEA,0),RGB(255,128,192),0);
DRAWTEXT(CROSS(DEA,0),H,'DE'),RGB(255,128,192),VALIGN2;
DRAWTEXT(CROSSDOWN(DEA,0),L,'DE'),RGB(255,128,192),VALIGN0;
DRAWICON(CROSS(DEA,0),L,4),VALIGN0;
DRAWICON(CROSSDOWN(DEA,0),H,5),VALIGN2;
DRAWSL(CROSS(DEA,0),C,0,3,0,RGB(255,128,192)),DOT;
DRAWSL(CROSSDOWN(DEA,0),C,0,3,0,RGB(255,128,192)),DOT;
DRAWNUMBER(CROSS(DEA,0),C,C,2,RGB(255,128,192)),FONTSIZE13,VALIGN1,ALIGN2;
DRAWNUMBER(CROSSDOWN(DEA,0),C,C,2,RGB(255,128,192)),FONTSIZE13,VALIGN1,ALIGN2;