通达信随心MACD指标(MACD类)指标公式

核心逻辑

这是一个综合型技术指标,主要基于MACD和布林带两大经典指标进行优化。核心逻辑包括: 1. **MACD系统**:通过12日和24日指数移动平均线的差值(DIFF)以及9日DEA来判断趋势方向和动能 2. **布林带系统**:用20日均线和标准差计算上下轨,判断价格波动范围和支撑压力 3. **背离判断**:检测价格与MACD指标的顶部和底部背离,预判趋势反转 4. **成交量分析**:通过天地量(地量<21%、天量>340%)判断资金活跃程度 5. **特殊信号**:结合波谷波峰Bars函数识别必买必卖点

买卖信号

**买入信号**: - 底背离形成(价格新低但MACD未新低,且金叉) - 必买信号:波谷Bars前值为0且当日有实体 - MACD金叉(DIFF上穿DEA) - 价格站上布林带下轨 **卖出信号**: - 顶背离形成(价格新高但MACD未新高,且死叉) - 必卖信号:波峰Bars前值为1 - MACD死叉(DEA上穿DIFF) - 价格跌破布林带上轨

用法

1. **趋势判断**:DIFF在0轴上方为多头趋势,下方为空头;红柱表示多头动能 2. **背离交易**:底背离是重要买入信号,顶背离是重要卖出信号,需结合成交量验证 3. **布林带辅助**:价格触及下轨获支撑可考虑买入,触及上轨遇阻可考虑卖出 4. **必买必卖**:作为辅助确认信号,配合其他条件使用 5. **天地量配合**:地量+底背离可能预示中期底部,天量+顶背离需警惕回调风险

公式源码

UPD:COUNT(C>=O OR C>=REF(C,1),8) NODRAW;
CM60:BARSLAST(LONGcrOSS(C,MA(C,60),8))+1 NODRAW COLORRED;
DIFF:=EMA(CLOSE,12)-EMA(CLOSE,24);
DEA:=EMA(DIFF,9);
ADIF:ATAN((DIFF/REF(DIFF,1)-1)*100)*180/3.1416 NODRAW;
RADIF:REF(ADIF,1) NODRAW;
C2:=IF(V>MA(V,150)*0.98,0.1,-0.1);
C1:=IF(V<MA(V,150)*0.98,-0.1,0.1);
B2:=EMA(CLOSE,55)-MA(CLOSE,60) DOTLINE COLORGREEN;
B3:=EMA(B2,9) DOTLINE COLORCYAN;
DRAWBAND(B2,RGB(120,50,50),B3,RGB(50,120,50));
macd:=2*(DIFF-DEA), STICK,LINETHICK1 COLORCYAN;
N:=20;
MID:=MA(C,20);
VART1:=POW((C-MID),2);
VART2:=MA(VART1,N);
VART3:=SQRT(VART2);
UPPER:=MID+2*VART3;
LOWER:=MID-2*VART3;
boll:=REF(MID,1),COLORGREEN;
UB:=REF(UPPER,1),COLOR00FFFF;
LB:=REF(LOWER,1),COLOR00FFFF NODRAW;
BLTJ:=REF(L,1)<REF(LB,1) AND L>LB;
BLLDT:BARSLAST(BLTJ ) NODRAW;
JCCOUNT:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA>=0));
A1:=BARSLAST(REF(CROSS(DIFF,DEA),1)) COLORRED  NODRAW;
底背离:REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA) NODRAW;
STICKLINE(底背离,0,0.03,1.2,1),COLOR00FF00;
{底背:DRAWLINE(A1=0,DEA,底背离,DEA,0),COLORRED,LINETHICK2 CROSSDOT;}
DRAWTEXT(底背离,0.1,' 底背离'),COLORFF00FF;
A2:=BARSLAST(REF(CROSS(DEA,DIFF),1))    ;
顶背离:REF(CLOSE,A2+1)<CLOSE AND REF(DIFF,A2+1)>DIFF AND CROSS(DEA,DIFF) CROSSDOT COLORRED NODRAW;
{顶背:DRAWLINE(A2=0,DEA,顶背离,DEA,0),COLORBLUE,LINETHICK2 CROSSDOT;}
底背D:BARSLAST(底背离)+1 NODRAW COLORRED;
顶背D:A2+1 COLORGREEN NODRAW;
{判断天地量}
AA:=SUMBARS(vol,CAPITAL);
地量:=VOL<MA(VOL,AA)*21/100 AND VOL>0;
天量:=VOL>MA(VOL,AA)*34/10 ;
MACDA:2*(DIFF-DEA), STICK,LINETHICK1 COLORCYAN;
NOTEXT3:IF(地量 AND PERIOD>4,MACD*1.5,DRAWNULL) STICK LINETHICK6 COLORYELLOW;
NOTEXT4:IF(天量 AND PERIOD>4,MACD*1.5,DRAWNULL) STICK LINETHICK6 COLORAAAAFF;
NOTEXT5:IF(V<=MA(V,5)*0.22,MACD,DRAWNULL) STICK LINETHICK4 COLORBLUE;
NOTEXT:IF(REF(MACD,1)<=MACD,MACD,DRAWNULL) STICK COLORRED;
NOTEXT1:0 LINETHICK3 COLORGRAY;
NOTEXT8:IF(V>MA(V,150)*0.98,0,DRAWNULL) COLORRED LINETHICK2 CIRCLEDOT ;
DEAA:DEA COLORYELLOW;
DIFA:DIFF COLORWHITE ;
DIFF1:EMA(CLOSE,12)-EMA(CLOSE,26) DOTLINE COLORGREEN NODRAW;
DEA1:EMA(DIFF1,9) DOTLINE COLORCYAN NODRAW;
底背:DRAWLINE(A1=0,DEA,底背离,DEA,0),COLORRED,LINETHICK2 CROSSDOT;
顶背:DRAWLINE(A2=0,DEA,顶背离,DEA,0),COLORBLUE,LINETHICK2 CROSSDOT;
强:IF(DIFF>MA(DIFF,2),DIFF,DRAWNULL),COLORRED LINETHICK2;
弱:IF(DEA>MA(DEA,2),DEA,DRAWNULL),COLORMAGENTA LINETHICK2;
必买: DRAWICON(REF(TROUGHBARS(3,15,1),1)=0 AND HIGH>LOW,0,25),COLORRED ,LINETHICK4;
必卖: DRAWICON(REF(PEAKBARS(3,15,1),1)=1,0,27),COLORRED,LINETHICK8;
B1:A1 NODRAW;
TOP:A2  NODRAW;
bsR:((BIDORDERVOL-BIDCANCELVOL)/(OFFERORDERVOL-OFFERCANCELVOL)-1)*10 NODRAW;
NOTEXTBRS:IF(BSR>0,DEA,DRAWNULL) COLORFFFFFF LINETHICK2 CIRCLEDOT;
HSJ:=BARSLAST(CROSS(DIFF,0) AND DIFF>=0 )+1 NODRAW;
LSJ:=BARSLAST(CROSS(0,DIFF) AND DIFF<0 )+1 NODRAW;
T:IF(DIFF>0,HSJ,LSJ) NODRAW;
IF(T=1,ABS(MACD),0) STICK LINETHICK2 COLORMAGENTA;
IF(CROSS(DEA,0),ABS(MACD),0) STICK LINETHICK2 COLORYELLOW;
S:IF(HSJ>1,SUM(ABS(MACD),T),DRAWNULL) NODRAW ;
DRAWNUMBER(ISLASTBAR ,ABS(MACD*1.02),S) COLORYELLOW;
DRAWNUMBER(T=1 ,ABS(MACD*1.02),REF(S,1)) ;
T2:REF(T,T)+T NODRAW;
Q1S:REF(S,T) NODRAW;
Q2S:=REF(S,T2) NODRAW;
BL:=Q1S/Q2S NODRAW;
{E2T:BARSLAST(CROSS(DIF,DEA) AND FILTER(CROSS(DIF,DEA) ,5) )+1 NODRAW;
E6T:BARSLAST(CROSS(DEA,DIF) AND FILTER(CROSS(DEA,DIF) ,5)   )+1 NODRAW;
ET:IF(DIF>=DEA,E2T,E6T) NODRAW;
ES:SUM(ABS(DIF-DEA),ET) NODRAW;
BZ:=MAX(ABS(DEA),ABS(DIF));
XS:=IF(DIF<0,-1,1);
IF(ET=1,DIF,DRAWNULL) CIRCLEDOT LINETHICK2;
DRAWNUMBER(ISLASTBAR ,DIF*1.05,ES) COLORYELLOW;
DRAWNUMBER(ET=1 ,BZ*XS*1.05,REF(ES,1)) COLORYELLOW;};
TTJ:=IF(BARSLAST(顶背离=1)+1=144 OR BARSLAST(顶背离=1)+1=89 OR BARSLAST(顶背离=1)+1=13 OR BARSLAST(顶背离=1)+1=47 OR BARSLAST(顶背离=1)+1=1 OR BARSLAST(顶背离=1)+1=8 OR BARSLAST(顶背离=1)+1=21 OR BARSLAST(顶背离=1)+1=34 OR BARSLAST(顶背离=1)+1=55,1,O) ;         
TTJA:=IF( BARSLAST(底背离=1)+1=144 OR BARSLAST(底背离=1)+1=89 OR BARSLAST(底背离=1)+1=8 OR BARSLAST(底背离=1)+1=1 OR BARSLAST(底背离=1)+1=47  OR BARSLAST(底背离=1)+1=13 OR BARSLAST(底背离=1)+1=21 OR BARSLAST(底背离=1)+1=34 OR BARSLAST(底背离=1)+1=55,1,O)  ;         
DRAWNUMBER((BARSLAST(顶背离=1)+1<144 AND TTJ=1  AND CURRBARSCOUNT<233) OR ISLASTBAR,MIN(DIFF,DEA)*0.98,BARSLAST(顶背离=1)+1) COLORGREEN;
DRAWNUMBER((BARSLAST(底背离=1)+1<144  AND TTJA=1 AND CURRBARSCOUNT<233)OR ISLASTBAR,0,BARSLAST(底背离=1)+1) COLORYELLOW;