{MACD时间}
{3,7,3}{7,21,2}{12,52,9}
N:=3;
M:=9;
M1:=3;
DIF:EMA(CLOSE,N)-EMA(CLOSE,M),NODRAW;
DEA:EMA(DIF,M1),NODRAW;
MACD:(DIF-DEA)*2,COLORSTICK;
{多周期统计}
当红:IF(BARSLAST(MACD 0),BARSLAST(MACD 0),0),NODRAW,COLORRED;
当绿:IF(BARSLAST(MACD 0),BARSLAST(MACD 0),0),NODRAW,COLORGREEN;
{MACD周值}
周DIF:= MACD.DIF#WEEK
周DEA:= MACD.DEA#WEEK
周MACD:=(周DIF-周DEA)*2;
周红:IF(周MACD 0,BARSLAST(CROSS(周MACD,0)),DRAWNULL)+1,COLORYELLOW,NODRAW;
周绿:IF(周MACD 0,BARSLAST(CROSS(0,周MACD)),DRAWNULL)+1,COLORCYAN,NODRAW;
{MACD月值}
月DIF:= MACD.DIF#MONTH
月DEA:= MACD.DEA#MONTH
月MACD:=(月DIF-月DEA)*2;
月红:IF(月MACD 0,BARSLAST(CROSS(月MACD,0)),DRAWNULL)+1,COLORRED,NODRAW;
月绿:IF(月MACD 0,BARSLAST(CROSS(0,月MACD)),DRAWNULL)+1,COLORGREEN,NODRAW;
STICKLINE(MACD REF(MACD,1) AND MACD 0,0,MACD,1,0),COLORRED;
STICKLINE(MACD REF(MACD,1) AND MACD 0,0,MACD,1,-1),COLORRED;
STICKLINE(MACD REF(MACD,1) AND MACD 0,0,MACD,1,0),COLORGREEN;
STICKLINE(MACD REF(MACD,1) AND MACD 0,0,MACD,1,-1),COLORGREEN;
ZM:=REF(MACD,BARSLAST(周红=1));
STICKLINE(MACD ZM AND ZM 0,ZM,ZM,1,0),COLORWHITE;
DRAWBAND(DEA,RGB(250,250,0),DEA,RGB(0,0,0));
DRAWBAND(IF(DIF DEA,DIF,DRAWNULL),RGB(250,0,0),DIF,RGB(0,0,0));
DRAWBAND(IF(周红 1,DEA,DRAWNULL),RGB(0,250,0),DEA,RGB(0,0,0));
DRAWTEXT(周红=1,0,'周'),COLORYELLOW,DRAWABOVE;
低位金叉:=CROSS(DIF,DEA) AND DIF -0.1;
JCCOUNT:=COUNT(CROSS(DIF,DEA),BARSLAST(DEA =0));
二次金叉:=CROSS(DIF,DEA) AND DEA 0 AND COUNT(JCCOUNT=2,21)=1;
DRAWTEXT(二次金叉,DEA*0.2,'二金'),COLORWHITE;
三次金叉:=CROSS(DIF,DEA) AND DEA 0 AND COUNT(JCCOUNT=3,60)=1;
DRAWTEXT(三次金叉,DEA*0.2,'三金'),COLORLIMAGENTA;
四次金叉:=CROSS(DIF,DEA) AND DEA 0 AND COUNT(JCCOUNT=4,90)=1;
DRAWTEXT(四次金叉,DEA*0.2,'四金'),COLORYELLOW;
五次金叉:=CROSS(DIF,DEA) AND DEA 0 AND COUNT(JCCOUNT=5,120)=1;
DRAWTEXT(五次金叉,DEA*0.2,'五金'),COLORBROWN;
六次金叉:=CROSS(DIF,DEA) AND DEA 0 AND COUNT(JCCOUNT=6,150)=1;
DRAWTEXT(六次金叉,DEA*0.2,'六金'),COLORBLUE;
{MACD日线底背离}
A1:=BARSLAST(REF(CROSS(DIF,DEA),1));
底背离:=REF(CLOSE,A1+1) CLOSE AND DIF REF(DIF,A1+1) AND CROSS(DIF,DEA);
DRAWTEXT(底背离,DIF*0.5,'底背'),COLORRED;
{日底背画线:DRAWLINE(A1=0,DEA,底背离,DEA,0),COLORRED,DOTLINE;}
{MACD日线顶背离}
A2:=BARSLAST(REF(CROSS(DEA,DIF),1));
顶背离:=REF(CLOSE,A2+1) CLOSE AND REF(DIF,A2+1) DIF AND CROSS(DEA,DIF);
DRAWTEXT(顶背离,DIF*1.12,'顶背'),COLORGREEN;
{日顶背画线:DRAWLINE(A2=0,DEA,顶背离,DEA,0),COLORGREEN,DOTLINE;}
{MACD积背离}
JC:= DEA-DIF;
绿柱面积:=IF(MACD 0,SUM(MACD,BARSLAST(JC 0)),0);
红柱面积:=IF(MACD 0,SUM(MACD,BARSLAST(JC 0)),0);
本次最低价:=LLV(L,BARSLAST(JC
本次最高价:=HHV(H,BARSLAST(JC
X1:=IF (MACD 0,BARSLAST(CROSS(DIF,DEA)),0);
前次绿柱面积:=REF(绿柱面积,X1+1);
前次最低价:=REF(本次最低价,X1+1);
Y1:=IF((绿柱面积 0 AND ABS(绿柱面积) ABS(前次绿柱面积) AND 本次最低价 前次最低价 ),1,0);
RS1:= MACD 0 AND REF(MACD,1) 0 AND C 前次最低价
AND ABS(绿柱面积) ABS(前次绿柱面积) AND ABS(MACD) ABS(REF(MACD,1));
底背驰:= IF (CROSS(DIF,DEA),REF(Y1,1),0);
DRAWTEXT(底背驰,DEA*0.8,'积底背'),COLORFF80FF;
X2:=IF (MACD 0,BARSLAST(CROSS(DEA,DIF)),0);
前次红柱面积:=REF(红柱面积,X2+1);
前次最高价:=REF(本次最高价,X2+1);
Y2:=IF((红柱面积 0 AND 红柱面积 前次红柱面积 AND 本次最高价 前次最高价 ),1,0);
RS2:= MACD 0 AND REF(MACD,1) 0 AND C 前次最高价 AND ABS(红柱面积) ABS(前次红柱面积) AND ABS(MACD) ABS(REF(MACD,1));
顶背驰:= IF (CROSS(DEA,DIF),REF(Y2,1),0);
DRAWTEXT(顶背驰,DEA*0.8,'积顶背'),COLORCYAN;
周K:= KDJ.K#WEEK 周D:= KDJ.D#WEEK
DRAWTEXT(CROSS(周K,周D),0,'KDJ周'),COLORYELLOW;
DRAWTEXT_FIX(1,0.02,0.06,0,'周线金叉出现在周一,周五收盘后才能确定信号是否成立'),COLORLIGRAY;