源码
自用MACD,加了4个指标的背离,自用MACD,加了4个指标的背离
DIFF : EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);
DEA : EMA(DIFF,M);
MACD : 2*(DIFF-DEA);
Zero : 0;
STICKLINE(MACD>=0,MACD,0,4,1),colorred;
STICKLINE(MACD<0,MACD,0,4,1),colorgreen;
STICKLINE(MACD0,0,MACD,4,0 ),colorwhite;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,4,0 ),COLORF00FF0;
低位金叉:=CROSS(DIFF,DEA) AND DIFF<-0.1;
STICKLINE(低位金叉,DEA*0.86,DEA*0.66,6,0),coloryellow;
DRAWTEXT(低位金叉,dea*0.86,' 低位金叉'),coloryellow;
JCCOUNT:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA>=0));
二次金叉:=CROSS(DIFF,DEA) AND DEA<0 AND COUNT(JCCOUNT=2,21)=1;
STICKLINE(二次金叉,DEA*0.96,DEA*0.76,6,0),ColorFF00FF;
DRAWICON(二次金叉,dea*1.1,'BUY') ;
DRAWTEXT(二次金叉,DEA*0.96,' 二次金叉'),ColorFF00FF;
A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));
底背离:=REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA) AND LLV(C,10)=LLV(C,a1+10);
STICKLINE(底背离,DEA*1.09,DEA*0.86,6,0),Color00FF00;
DRAWLINE(A1=0,DEA,底背离,DEA,0),colorred,linethick1;
DRAWTEXT(底背离,DEA*1.09,' MACD底背离'),Color6600FF;
A2:=BARSLAST(REF(CROSS(DEA,DIFF),1));
顶背离:=REF(CLOSE,A2+1)
DRAWLINE(A2=0,DEA,顶背离,DEA,0),colorgreen,linethick1;
DRAWTEXT(顶背离,DEA*1.2,'MACD 顶背离'),Color00FF00;
TRR := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);
HD := HIGH-REF(HIGH,1);
LD := REF(LOW,1)-LOW;
PDM:= SUM(IF(HD>0 AND HD>LD,HD,0),14);
MDM:= SUM(IF(LD>0 AND LD>HD,LD,0),14);
PDI:= PDM*100/TRR;
MDI:= MDM*100/TRR;
/*A1:=BARSLAST(REF(CROSS("MACD.DIFF"(12,26,9),"MACD.DEA"(12,26,9)),1));*/
/*B1:=REF(C,A1+1)>C AND REF("MACD.DIFF"(12,26,9),A1+1)<"MACD.DIFF"(12,26,9) AND CROSS("MACD.DIFF"(12,26,9),"MACD.DEA"(12,26,9));*/
A2:=BARSLAST(REF(CROSS("KDJ.K"(9,3,3),"KDJ.D"(9,3,3)),1));
B2:=REF(C,A2+1)>C AND REF("KDJ.K"(9,3,3),A2+1)<"KDJ.K"(9,3,3) AND CROSS("KDJ.K"(9,3,3),"KDJ.D"(9,3,3));
A3:=BARSLAST(REF(CROSS("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24)),1));
B3:=REF(C,A3+1)>C AND REF("RSI.RSI1"(6,12,24),A3+1)<"RSI.RSI1"(6,12,24) AND CROSS("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24));
/*C1:=BARSLAST(REF(CROSS("MACD.DEA"(12,26,9),"MACD.DIFF"(12,26,9)),1));*/
/*D1:=REF(C,C1+1)
C2:=BARSLAST(REF(CROSS("KDJ.D"(9,3,3),"KDJ.K"(9,3,3)),1));
D2:=REF(C,C2+1)
C3:=BARSLAST(REF(CROSS("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24)),1));
D3:=REF(C,C3+1)
C4:=BARSLAST(REF(CROSS(MDI,PDI),1));
D4:=REF(C,C+1)
A4:=BARSLAST(REF(CROSS(PDI,MDI),1));
B4:=REF(C,A4+1)>C AND REF(PDI,A4+1) DMI底背:IF(B4>0,-ABS(MACD)*1.5,0),COLOR0099FF,POINTDOT; DRAWTEXT(B4>0,-ABS(MACD)*1.6,'DMI底背'),COLOR0099FF; DMI顶背:IF(D4>0,ABS(MACD)*1.5,0),colorblue,POINTDOT; DRAWTEXT(D4>0,ABS(MACD)*1.6,'DMI顶背'),colorblue; /*MACD底背:IF(B1>0,-10,0),colorred,POINTDOT;*/ /*DRAWTEXT(B1>0,-15,'MACD底背'),colorred;*/ KDJ底背:IF(B2>0,-ABS(MACD)*1.4,0),COLORFF00FF,POINTDOT; DRAWTEXT(B2>0,-ABS(MACD)*1.5,'KDJ底背'),COLORFF00FF; RSI底背:IF(B3>0,-ABS(MACD)*1.6,0),coloryellow,POINTDOT; DRAWTEXT(B3>0,-ABS(MACD)*1.7,'RSI底背'),coloryellow; /*MACD顶背:IF(D1>0,10,0),COLOR00FF00,POINTDOT;*/ /*DRAWTEXT(D1>0,25,'MACD顶背'),COLOR00FF00;*/ KDJ顶背:IF(D2>0,ABS(MACD)*1.4,0),COLORFFCC66,POINTDOT; DRAWTEXT(D2>0,ABS(MACD)*1.5,'KDJ顶背'),COLORFFCC66; RSI顶背:IF(D3>0,ABS(MACD)*1.6,0),COLORFFFFFF,POINTDOT; DRAWTEXT(D3>0,ABS(MACD)*1.7,'RSI顶背'),COLORFFFFFF; /*STICKLINE(B1>0,-10,0,0,0),colorred;*/ STICKLINE(B2>0,-ABS(MACD)*1.4,0,0,0),COLORFF00FF; STICKLINE(B3>0,-ABS(MACD)*1.6,0,0,0),coloryellow; /*STICKLINE(D1>0,1,0,0,0),COLOR00FF00;*/ STICKLINE(D2>0,ABS(MACD)*1.4,0,0,0),COLORFFCC66; STICKLINE(D3>0,ABS(MACD)*1.6,0,0,0),colorwhite; STICKLINE(B4>0,-ABS(MACD)*1.5,0,0,0),COLOR0099FF; STICKLINE(D4>0,ABS(MACD)*1.5,0,0,0),colorblue;