通达信实战型MACD指标(其他)指标公式

核心逻辑

这是一个基于MACD指标的改进型公式,在标准MACD(DIFF和DEA)基础上增加了背离识别功能。核心原理是:通过比较股价与MACD指标的创新高低情况,识别潜在的趋势反转信号。标准MACD用于判断趋势方向和动能,背离条件用于捕捉可能的转折点。此外还增加了基于DIFF历史波动计算的轨道带(UB/LB)和中轴线(ZJS/ZJX),用于辅助判断多空状态。

买卖信号

**买入信号:** - 金叉:DIFF上穿DEA,且DEA≤0,且不是底背离(DIBL1=0)时显示黄色线条 - 底背离:股价创新低但DIFF未创新低,且满足其他条件时显示红色线条 **卖出信号:** - 死叉:DEA上穿DIFF,且DEA≥0,且不是顶背离(DINGBL1=0)时显示黄色线条 - 顶背离:股价创新高但DIFF未创新高,且满足其他条件时显示绿色线条 **其他信号:** - 红色彩带:底背离成立时显示红色柱状图 - 绿色彩带:顶背离成立时显示绿色柱状图 - 红色横线:DEA>DIFF且DEA>0且DEA>ZJS时 - 绿色横线:DEA<DIFF且DEA<0且DEA<ZJX时

用法

该指标适用于中短期交易择时。使用时注意:1)金叉/死叉信号需结合DEA位置判断,零轴上方为多头区域,下方为空头区域;2)背离信号为辅助判断工具,需结合成交量和股价

公式源码

SHORT:=12;
LONG:=26;
MID:=9;
DIFF:EMA(C,SHORT)-EMA(C,LONG);
DEA:EMA(DIFF,MID);
macd:(DIFF-DEA)*2,COLORFFFF00,COLORSTICK;
A1:=BARSLAST(REF(crOSS(0, DEA),1));
A2:= BARSLAST(REF(COUNT(DEA<=0,A1+1)=A1+1  AND  LLV(DIFF,5)=LLV(DIFF,A1+1)  AND  CROSS(DIFF,DEA),1));
A3:= BARSLAST(REF(CROSS(DIFF,DEA),1));
DIBL1:=LLV(C,A3+1)=LLV(C,A1+1)  AND   NOT(LLV(DIFF,A3+1)=LLV(DIFF,A1+1))  AND  COUNT(DEA<=0,A2+1)=A2+1 AND CROSS(DIFF,DEA);
金叉:IF(CROSS(DIFF,DEA) AND DEA<=0 AND DIBL1=0,0,DEA),COLORYELLOW;
底背离:IF(DIBL1,0,DEA),COLORRED;
B1:=BARSLAST(REF(CROSS(DEA,0),1));
B2:=BARSLAST(REF(COUNT(DEA>=0,B1+1)=B1+1   AND   HHV(DIFF,5)=HHV(DIFF,A1+1)  AND  CROSS(DEA,DIFF),1));
B3:=BARSLAST(REF(CROSS(DEA,DIFF),1));
DINGBL1:=  HHV(C,B3+1)=HHV(C,B1+1)   AND  NOT(HHV(DIFF,B3+1)=HHV(DIFF,B1+1))   AND  COUNT(DEA>=0,B2+1)=B2+1 AND CROSS(DEA,DIFF); 
死叉:IF(CROSS(DEA,DIFF) AND DEA>=0 AND DINGBL1=0,0,DEA),COLORFFFF00;
顶背离:IF(DINGBL1,0,DEA),COLORGREEN; 
DIBJG:=LLV(C,A3+1)=LLV(C,A1+1)  AND   NOT(LLV(DIFF,A3+1)=LLV(DIFF,A1+1))  AND  DIFF>REF(DIFF,1)  AND  COUNT(DEA<=0,A2+1)=A2+1 AND DIFF<DEA ;
DINGBJG:=HHV(C,B3+1)=HHV(C,B1+1)   AND  NOT(HHV(DIFF,B3+1)=HHV(DIFF,B1+1)) AND REF(DIFF,1)>DIFF   AND  COUNT(DEA>=0,B2+1)=B2+1 AND DIFF>DEA ;
STICKLINE(DIBJG =1 ,DEA,DIFF,2,0),COLORRED;
STICKLINE(DINGBJG =1 ,DEA,DIFF,2,0),COLORGREEN;
MB:=EMA(DIFF,20);
UB:=MB+1.9104*STD(DIFF,20);
LB:=MB-1.9104*STD(DIFF,20);
ZJS:=HHV(DEA,B1+1)/2;
ZJX:=LLV(DEA,A1+1)/2;
STICKLINE(DEA>DIFF  AND  DEA>0  AND  DEA>ZJS, ZJS,REF(ZJS,1),1,0), COLORRED;
STICKLINE(DEA<DIFF  AND  DEA<0  AND  DEA<ZJX,ZJX, REF(ZJX,1),1,0),COLORGREEN;