通达信MACD布林主图TDX00916

指标源码

通达信MACD布林主图
源码
M6:(EMA(C,5)+EMA(C,6))/2;
M12:=EMA(C,12);
M26:EMA(C,26),COLORRED,LINETHICK2;
DIF:=EMA(M12-M26,9);
SBL:M26+2*(26/12)*STD(DIF,26),COLORYELLOW,DOTLINE;
XBL:M26-2*(26/12)*STD(DIF,26),COLORGREEN,DOTLINE;

1. 代码整体概述

这段公式是 通达信(TDX)主图指标,把 MACD 的 DIF布林带(Bollinger Bands)结合在一起,放在 行情主图(即 K 线图)上展示。

  • M26(红线):26 日指数移动平均线(EMA),代表中期趋势。
  • DIF:MACD 的 DIF 线(12‑26‑9 的 EMA 差值),反映短期动量。
  • SBL / XBL(黄/绿点线):以 M26 为基准,对 DIF 的标准差 进行 ±2 倍(并乘以 26/12 的比例系数)形成的上下轨,用来观察 DIF 相对于其中期均值的波动范围。

换句话说,SBL / XBL 并不是直接给价格的布林带,而是给 MACD 的 DIF 加了“布林”区间,从而把 动量波动 同时显示在主图上。


2. 逐行代码详解

行号 代码 含义 备注
1 M6:(EMA(C,5)+EMA(C,6))/2; 5 日 EMA 与 6 日 EMA 的简单平均,作为短期参考 这条线在后面没有再被引用,实质上是冗余的,可删掉或保留作辅助。
2 M12:=EMA(C,12); 12 日 EMA(短期 EMA)。 为后面的 DIF 计算提供“短期”基准。
3 M26:EMA(C,26),COLORRED,LINETHICK2; 26 日 EMA(中期 EMA),画成红色粗线 主图的中轴线,常作为支撑/阻力
4 DIF:=EMA(M12-M26,9); ① 先算 M12-M26(即 12 日 EMA 与 26 日 EMA 的差),再对其进行 9 日 EMA 平滑,得到 MACD 的 DIF 与传统 MACD(12‑26‑9)完全一致。
5 SBL:M26+2*(26/12)*STD(DIF,26),COLORYELLOW,DOTLINE; 上轨 = M26 + 2×(26/12)×STD(DIF,26)。STD(DIF,26) 为 DIF 在最近 26 天的标准差。乘以 2*(26/12)≈4.333,得到比普通布林(2 倍)更宽的区间。 黄色点线,用来标识 DIF 的极端上升区域。
6 XBL:M26-2*(26/12)*STD(DIF,26),COLORGREEN,DOTLINE; 下轨 = M26 – 2×(26/12)×STD(DIF,26)。 绿色点线,标识 DIF 的极端下降区域。

关键数学点

  • STD(DIF,26):对 DIF(已经平滑的 12‑26 差值)再取 26 期标准差,反映 DIF 的波动幅度。
  • *2(26/12):在普通布林带里,系数是 2。这里乘上 26/12≈2.1667,得到约 4.33 的宽度。这样做是让 SBL/XBL 与 M26(26 日 EMA)保持相同的周期比例,理论上更适合 12‑26‑9** 这种周期组合。
  • 主图绘制:因为 SBL/XBL 是基于 M26(价格)绘制的,所以它们会随 K 线 同步上下波动,形成 在价格坐标系下的“动量带”

3. 如何在通达信里加载并使用

  1. 打开通达信客户端功能公式系统公式管理器
  2. 主图指标(或 副图指标,但本公式是主图)页面,新建自定义公式
  3. 把上面的代码粘贴进去(建议去掉第一行 M6:,因为它没有实际用途),给公式起个名字,例如 MACD布林主图(也可以直接使用系统提供的编号 00916)。
  4. 设置 绘制方式主图叠加(默认就是),线型点线(DOT)或不选均可。
  5. 保存后返回行情页面,右键 K 线图叠加指标MACD布林主图

提示:如果想把它放在 副图(MACD 所在的位置),可以把 M26SBLXBL 设为 副图{DRAWBAND}{PLOT} 等语法),但在主图使用更能直观看出价格与动量带的关系。


4. 解读与实战用法

形态 解读 可能的交易信号
价格上穿 M26(红线) 中期趋势转多,股价在 26 日 EMA 之上。 买入(可配合成交量放大)
价格下穿 M26 中期趋势转空,股价在 26 日 EMA 之下。 卖出
DIF 上穿 SBL(黄点) DIF 突破其上方动量带,说明短期动量显著增强。 激进买入(或视为 突破 信号)
DIF 下穿 XBL(绿点) DIF 跌破下方动量带,短期动量大幅减弱。 激进卖出
DIF 在 SBL 与 XBL 之间波动 动量在正常区间,趋势不明显。 建议观望或结合其他指标(如成交量、RSI)
DIF 与价格出现背离(如价格创新高而 DIF 未创新高) 趋势可能即将转向。 减仓反向操作

实战技巧

  1. 配合成交量:在 DIF 突破 SBL 或价格突破 M26 时,若成交量同步放大,可提高信号的可靠性。
  2. 多周期共振:可以在 日线 主图使用该指标,同时在 周线60 分钟 图表上观察同周期的 MACD,以捕捉更大周期的趋势。
  3. 止损/止盈:可以把 M26 视为动态止损线——收盘价跌破 M26 时考虑止损;相反,跌破 XBL 时可考虑部分止盈。
  4. 过滤假突破:若 DIF 仅是“稍微”穿过 SBL/XBL(比如只有 1‑2 根 K 线),建议等待 DIF 重新回落或突破后形成收盘价确认。

5. 参数调节与自定义思路

参数 默认值 一 般 调 节 思 路
EMA(C,12)(短期) 12 短线更敏感可改为 8、10;长线可改为 15、20。
EMA(C,26)(中期) 26 与常用的 26 保持一致,若想更平滑可改为 30、50。
EMA(M12-M26,9)(DIF 平滑) 9 加大可让 DIF 更平滑(12、15),减小则更灵敏(6、7)。
STD(DIF,26)(标准差周期) 26 可改为 20、30,以改变带的宽度。
*倍数 2(26/12)** ≈4.33 若想收紧带,可改为 2(即普通布林),或自行设定如 35
M6 实际上无用,建议直接删除,减小公式冗余。

示例:如果你想让 SBL/XBL 更像传统的价格布林带,只需要把 2*(26/12) 改为 2,即:

SBL:M26+2*STD(DIF,26),COLORYELLOW,DOTLINE;
XBL:M26-2*STD(DIF,26),COLORGREEN,DOTLINE;

这样就得到 2 倍标准差 的 DIF‑布林带,适合更保守的交易者。


6. 常见问题 & 注意事项

  1. 为什么 M6 没用到?

    • 代码里只出现了 M6: 这么一行,后面没有任何引用。它的存在要么是 写公式时的草稿,要么是 作者留作以后扩展。实际使用时可删掉,保持公式简洁。
  2. 为什么 SBL/XBL 用的是 “DOTLINE” 而不是实线?

    • 作者有意把 用点线表现,以免与 K 线M26(实线)混淆。点线在视觉上更“淡”,便于观察 DIF 的交叉。
  3. 该指标适合在哪种行情使用?

    • 趋势行情(明显上涨/下跌)表现最好,因为 M26 能提供支撑/阻力,DIFSBL/XBL 的交叉能捕捉动量加速。
    • 横盘震荡 区间,DIF 常常在带内来回穿越,容易产生 假信号,建议结合 RSIMACD 柱成交量 做过滤。
  4. 是否可以把 SBL/XBL 放在副图?

    • 可以。把 SBLXBLPLOTDRAWBAND 方式绘制在副图,M26 则仍保留在主图,以保持 价格 vs 动量带 的对比。
    • 示例(副图):
M26:=EMA(C,26);
DIF:=EMA(EMA(C,12)-M26,9);
SBL:=M26+2*(26/12)*STD(DIF,26);
XBL:=M26-2*(26/12)*STD(DIF,26);
PLOT(SBL,"SBL");
PLOT(XBL,"XBL");
  1. 该指标是否适合程序化/量化回测?
    • 完全可以使用,因为它是 确定义的数值,没有未来函数。只要把 买入条件(DIF 上穿 SBL 且价格 > M26)与 卖出条件(DIF 下穿 XBL 且价格 < M26)写入回测模型即可。注意设置合适的 滑点手续费,防止过度优化。

7. 小结

  • MACD‑布林主图 是把 MACD 的 DIF 套上 布林带(基于 26 日 EMA)后直接叠加在 K 线 上,能够 同时看到趋势(M26)和动量强度(DIF 与带的相对位置)
  • 核心信号
    • 价格M26 的突破 → 中期多/空。
    • DIFSBL / XBL 的突破 → 短期动量加速。
    • 背离 → 可能预示趋势反转。
  • 使用方法:在通达信中新建主图指标,粘贴代码并叠加到 K 线图;结合成交量或其他指标进行过滤;可根据个人偏好调节 EMA、STD 周期以及倍数。
  • 注意:该指标的 SBL/XBL 并不是传统的价格布林带,而是 DIF 的波动带,因此在横盘震荡时会产生较多 “虚假” 交叉,建议配合其他确认信号。