MACD终极优化 N:=12; M:=26; {DRAWGBK(O>C,RGB(40,40,40),RGB(0,0,40),0,'01',0); {背景不要可删除} DIF:100*(EMA(CLOSE,N)-EMA(CLOSE,M)),COLORWHITE,LINETHICK1; DEA:EMA(DIF,9),COLORYELLOW,LINETHICK1; MACD:(DIF-DEA)*2,COLORSTICK; 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),COLORYELLOW; 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),COLORGREEN; FH1:=REF(MACD,1)<REF(MACD,2) AND REF(MACD,2)<REF(MACD,3) AND REF(MACD,3)<REF(MACD,4); FH2:=MACD>=0 AND COUNT(MACD>REF(MACD,1),1)=1; FH3:=FH1 AND FH2 AND EMA(C,13)>REF(EMA(C,13),1); FH4:=FH1 AND FH2 AND ABS((DIF-DEA)/C)<0.018; FH5:=FH1 AND FH2 AND MACD<0.10; 二次翻红:(FH3 OR FH4 OR FH5),COLORRED,NODRAW; 低买:CROSS(DIF,DEA) AND DIF<0,COLORFF00FF,NODRAW; 加油:CROSS(DIF,DEA) AND DIF>0,COLORYELLOW,NODRAW; DRAWICON(二次翻红,-0.05,1); DRAWTEXT(二次翻红,-0.15,'↖翻红'),COLORRED; DRAWTEXT(CROSS(DIF,DEA) AND DIF<0,DEA-0.02,'↖低买'),COLORFF00FF; DRAWTEXT(CROSS(DIF,DEA) AND DIF>0,DEA-0.05,'↖加油'),COLORYELLOW; XG:二次翻红 OR 低买 OR 加油,NODRAW; YLZC:=IF(CLOSE=INDEXC,(INDEXC+INDEXH+INDEXL+INDEXO)/4,AMOUNT/(VOL+0.01)/100); A1:=C>REF(C,4); NT:=BARSLASTCOUNT(A1); TJ11:=NT=9; TJ13:=ISLASTBAR AND BETWEEN(NT,5,8); AY:=(BACKSET(TJ11>0,9) OR BACKSET(TJ13>0,NT))*NT; DRAWTEXT(AY>0,MACD*1.02,VAR2STR(AY,0)),COLORLIRED; DRAWTEXT(NT=9,MACD*1.02,'9'),COLORGREEN; B1:=C<REF(C,4); NT0:=BARSLASTCOUNT(B1); TJ21:=NT0=9 ; TJ23:=ISLASTBAR AND BETWEEN(NT0,5,8); AY1:=(BACKSET(TJ21>0,9) OR BACKSET(TJ23>0,NT0))*NT0; DRAWTEXT(AY1>0,MACD*0.98,VAR2STR(AY1,0)),COLORGREEN; DRAWTEXT(NT0=9,MACD*0.98,'9'),COLORRED; DRAWICON(CROSS(DIF,DEA),DEA,1); DRAWICON(CROSS(DEA,DIF),DEA,2); 死叉:=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;{股民学院 www.58188.com 整理} 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); 底部钝化:直接底背离 OR 隔峰底背离,NODRAW; 底背离:((MDIFB2>REF(MDIFB2,1))*REF(直接底背离,1)) OR ((MDIFB3>REF(MDIFB3,1))*REF(隔峰底背离,1)),NODRAW; {DRAWTEXT(TFILTER(B,(REF(DIF,1)>REF(DIF,2) AND DIF<REF(DIF,1)),1),DIFL2,'钝化开始'),COLORYELLOW;} STICKLINE(底部钝化,DIF,DEA,1,0),COLORRED; DRAWTEXT(TFILTER(底背离,C<REF(CL1,1),1),DIF*0.98,'底部结构形成'),COLORMAGENTA; 金叉:=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); 顶部钝化:直接顶背离 OR 隔峰顶背离,NODRAW; 顶背离:((MDIFT2<REF(MDIFT2,1))*REF(直接顶背离,1)) OR ((MDIFT3<REF(MDIFT3,1))*REF(隔峰顶背离,1)),NODRAW; {DRAWTEXT(TFILTER(T,(REF(DIF,1)<REF(DIF,2) AND DIF>REF(DIF,1)),1),DIFH2,'钝化开始'),COLORYELLOW;} STICKLINE(顶部钝化,DIF,DEA,1,0),COLORGREEN; DRAWTEXT(TFILTER(顶背离,C>REF(CH1,1),1),DIF*1.02,'顶部结构形成'),COLORMAGENTA; DRAWICON(CROSS(DIF,DEA),DEA,36); DRAWICON(CROSS(DEA,DIF),DEA,37); MACDDIF:=IF(ABS(MACD)>ABS(DIF),MACD,DIF); DRAWICON(REF(DIF,1)>REF(DIF,2) AND DIF<REF(DIF,1) AND DIF>0 AND DIF>DEA,MACDDIF*1.1,39),COLORGREEN; DRAWICON(REF(DIF,1)<REF(DIF,2) AND DIF>REF(DIF,1) AND DIF<0 AND DIF<DEA,MACDDIF*1.1,38),COLORRED; { 低9选股: B1:=C<REF(C,4); NT0:=BARSLASTCOUNT(B1); 低九:NT0=9; MACD买点选股: DIF:=100*(EMA(CLOSE,12)-EMA(CLOSE,26)); DEA:=EMA(DIF,9); 买点:REF(DIF,1)<REF(DIF,2) AND DIF>REF(DIF,1) AND DIF<0 AND DIF<DEA; MACD低买选股: DIF:=100*(EMA(CLOSE,12)-EMA(CLOSE,26)); DEA:=EMA(DIF,9); 低买:CROSS(DIF,DEA) AND DIF<0; MACD加油选股: DIF:=100*(EMA(CLOSE,12)-EMA(CLOSE,26)); DEA:=EMA(DIF,9); 加油:CROSS(DIF,DEA) AND DIF>0; MACD翻红选股: DIF:=100*(EMA(CLOSE,12)-EMA(CLOSE,26)); DEA:=EMA(DIF,9); MACD:=(DIF-DEA)*2; FH1:=REF(MACD,1)<REF(MACD,2) AND REF(MACD,2)<REF(MACD,3) AND REF(MACD,3)<REF(MACD,4); FH2:=MACD>=0 AND COUNT(MACD>REF(MACD,1),1)=1; FH3:=FH1 AND FH2 AND EMA(C,13)>REF(EMA(C,13),1); FH4:=FH1 AND FH2 AND ABS((DIF-DEA)/C)<0.018; FH5:=FH1 AND FH2 AND MACD<0.10; 翻红:(FH3 OR FH4 OR FH5); }; |