通达信万箭穿心指标(MACD类)指标公式

核心逻辑

该指标是一个基于MACD的变形指标,结合了类似KDJ的RSV计算方式。主要包含两个部分: 1. **VAR1-VAR7部分**:计算一个类似KDJ的RSV值,然后通过SMA平滑得到VAR6,当VAR6上穿0轴时产生信号。 2. **MACD部分**:使用15日和26日的EMA计算DIF,然后对DIF进行5日EMA平滑得到DEA,形成MACD柱状线。同时还构造了一个变形的DIF2(4倍DIF-3倍DEA)并对其进行1日EMA平滑。 核心用途是捕捉MACD在0轴下方的底背离机会,通过连续4根K线MACD值递增(但仍为负值)来判断下跌趋势的减缓。

买卖信号

**买入信号:** - VAR19:MACD<0且MACD连续4根K线递增(底背离形态) - VAR7 AND VAR19:VAR6上穿0轴的同时满足底背离条件("万箭穿心"信号) **卖出信号:** - 无明确卖出条件代码,主要通过颜色变化判断:MACD向下运行时显示绿色

用法

1. **关注"万箭穿心"信号**:当同时出现VAR6上穿0轴和MACD底背离时,是较强的买入信号 2. **观察VAR17颜色**:VAR17上穿时显示蓝色,下降时显示绿色,可作为多空参考 3. **MACD柱状线颜色**:上涨时显示不同深度的蓝色,下跌时显示绿色,直观反映多空力量 4. **分界线**:0轴作为多空分界线,MACD在0轴下方时关注底背离机会

公式源码

VAR1:=(CLOSE-LLV(LOW,9));
VAR2:=(HHV(HIGH,9)-LLV(LOW,9));
VAR3:=VAR1/VAR2*100;
VAR4:=SMA(VAR3,2,1);
VAR5:=SMA(VAR4,2,1);
VAR6:=3*VAR4-2*VAR5;
VAR7:=crOSS(VAR6,0);
VAR8:=(EMA(CLOSE,15)-EMA(CLOSE,26));
VAR16:=EMA(VAR8,5);
macd:2*(VAR8-VAR16),COLORSTICK;
DIF2:4*VAR8-3*VAR16,COLORFF00FF;
VAR17:=EMA(DIF2,1);
VAR19:=MACD<0 AND MACD>REF(MACD,1) AND REF(MACD,1)<REF(MACD,2) AND REF(MACD,2)<REF(MACD,3) AND REF(MACD,3)<REF(MACD,4);
IF(C>VAR17,VAR17,DRAWNULL),COLOR0000F0,LINETHICK3;
IF(VAR17<=REF(VAR17,1),VAR17,DRAWNULL),COLOR00E600,LINETHICK3;
STICKLINE(VAR19,1,MACD,2,0),COLORFF00FF;
分界线:0,COLORFF00FF;
DRAWICON(VAR19,1.5,1);
DRAWICON(VAR7 AND VAR19,1.2,1);
DRAWTEXT(VAR7 AND VAR19,1.3,'←万箭穿心'),COLOR00FFFF;
STICKLINE(MACD>REF(MACD,1) AND MACD>0,0,MACD,1.8,0),COLOR000055;
STICKLINE(MACD>REF(MACD,1) AND MACD>0,0,MACD,1.1,0),COLOR000099;
STICKLINE(MACD>REF(MACD,1) AND MACD>0,0,MACD,0.6,0),COLOR0000BB;
STICKLINE(MACD<=REF(MACD,1) AND MACD>0,0,MACD,1.8,0),COLOR40FF00;
STICKLINE(MACD<=REF(MACD,1) AND MACD>0,0,MACD,1.1,0),COLOR40FF00;
STICKLINE(MACD<=REF(MACD,1) AND MACD>0,0,MACD,0.6,0),COLOR40FF00;
STICKLINE(MACD>REF(MACD,1) AND MACD<0,0,MACD,1.8,0),COLOR000055;
STICKLINE(MACD>REF(MACD,1) AND MACD<0,0,MACD,1.1,0),COLOR000099;
STICKLINE(MACD>REF(MACD,1) AND MACD<0,0,MACD,0.6,0),COLOR0000BB;
STICKLINE(MACD<=REF(MACD,1) AND MACD<0,0,MACD,1.8,0),COLOR40FF00;
STICKLINE(MACD<=REF(MACD,1) AND MACD<0,0,MACD,1.1,0),COLOR40FF00;
STICKLINE(MACD<=REF(MACD,1) AND MACD<0,0,MACD,0.6,0),COLOR40FF00;