站点图标 天云复盘

通达信MACD量化指标源码公式,量化交易策略

MACD应该是家家户户都在使用

家版本比较简单易懂

红涨买的力量

绿跌卖的力量

用我家的看下面5张图为例

上证指数、上证50、沪深300、中国平安、中国太保

DIF:=EMA(CLOSE,13)-EMA(CLOSE,26);

DEA:=EMA(DIF,9);

MACD:=(DIF-DEA)*2;

DIF2:=EMA(CLOSE,12*2)-EMA(CLOSE,26*2);

DEA2:=EMA(DIF2,9*2);

MACD2:=(DIF2-DEA2)*2;

零下金叉:CROSS(DIF,DEA) AND DIF<0,NODRAW,COLOR0000FF;

零上金叉:CROSS(DIF,DEA) AND DIF>=0 ,NODRAW,COLOR4080FF;

DRAWICON(零上金叉,DEA,11) ;

DRAWICON(零下金叉,DEA,1) ;

死叉:=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;

DRAWTEXT_FIX(CURRBARSCOUNT=120,0.4,0.01,0,'更多指标:(ttyfp指标)');

底背离消失:=(REF(直接底背离,1) AND DIFL1<=DIFL2 ) OR (REF(隔峰底背离,1) AND DIFL1<=DIFL3);

DRAWTEXT(TFILTER(B,MACD>0,1),(DIF+MACD),'下跌钝化'),COLORRED;

DRAWTEXT(TFILTER(底背离消失,B,1),(DIF+MACD),'消失'),COLORYELLOW;

DRAWTEXT(TFILTER(BG,MACD>0,1),DIF*1.1,'底背离'),COLOR0000FF;

金叉:=CROSS(DIF,DEA);

M11:=BARSLAST(金叉),NODRAW;

M2:=REF(BARSLAST(金叉),M11+1),NODRAW;

M3:=REF(BARSLAST(金叉),M2+M11+2),NODRAW;

CH1:=HHV(C,M11+1),NODRAW;

DIFH1:=HHV(DIF,M11+1),NODRAW;

CH2:=REF(CH1,9+1),NODRAW;

DIFH2:=REF(DIFH1,9+1),NODRAW;

CH3:=REF(CH2,9+1),NODRAW;

DIFH3:=REF(DIFH2,9+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;

DRAWTEXT(TFILTER(TG,MACD<0,1),DIF*1.02,'顶背离'),COLORMAGENTA;

DRAWBAND(DIF,RGB(165,0,0),DEA,RGB(0,60,0));

DRAWBAND(DIF2,RGB(98,00,00),DEA2,RGB(00,98,00));

STICKLINE(MACD>0,MACD,0,0.42,0),COLOR2020D8;

STICKLINE(MACD<0,MACD,0,0.42,0),COLOR20D020;

退出移动版