MACD 指标:公式、参数与读法
MACD 是收盘价的快速与慢速指数移动平均线之差,同时绘制一条信号线(即该差值的指数平均)以及两者差距的柱状图。公开的默认参数为 12、26 和 9,出自 Gerald Appel 的原始研究。
Senzoukria · 指标 · Updated September 2026
MACD — 动量, 显示在图表下方的独立面板中.
MACD 测量的是什么
两条移动平均线都以简单移动平均作为起点,并使用标准平滑系数 2/(N+1),与主流看盘平台的惯例一致。MACD 线是价格之差,因此单位是该品种的价格单位,而不是百分比。信号线只在 MACD 序列已有定义的部分上计算,预热阶段的空缺绝不会被当作一串零值,把平均值拉向零轴。柱状图只在 MACD 线和信号线都存在的地方绘制;它绝不会假设缺失值来填充某根K线。
公式:代码中的实现
这不是别处常见的定义,而是所发布代码实际计算的内容,记录在实现旁边:
MACD (Appel) — EMAs à graine SMA (parité helpers/TradingView, α=2/(N+1)) : macd = EMA_fast(close) − EMA_slow(close) signal = EMA_signal(macd) — calculée sur le suffixe défini de macd hist = macd − signal — histogramme, point seulement si les deux sont définis (jamais de valeur inventée) Défauts 12/26/9 (Appel). Sorties : [ligne MACD, ligne signal, histogramme].
如何解读
- MACD 在零轴上方表示该K线上快线位于慢线之上;在零轴下方则相反。
- MACD 线与信号线的交叉是惯常关注的事件,柱状图只是即将被穿越的那段差距的大小。
- 柱状图放大说明两条平均线在分离;缩小说明它们在靠拢,这会发生在交叉之前,但并不保证一定交叉。
- MACD 与价格的背离应在 MACD 线上判断,而不是在柱状图上,因为仅信号线平均值变动时柱状图也会变化。
- 由于数值以价格为单位,一个合约上的读数 3 与另一个合约上的读数 3 不可比,与同一合约换月后的读数也不可比。
参数与默认值
快线默认 12,可设为 1 到 200;慢线默认 26,可设为 1 到 500;信号线默认 9,可设为 1 到 200。拉大快慢线之间的差距会让线条更慢、摆动幅度更大;缩小差距则会产生更多交叉。上述范围允许把快线周期设得比慢线更长,但这会颠倒正负号的含义,因为此时线条是用较慢的平均减去较快的平均。
| 参数 | 类型 | 默认值 | 取值范围 |
|---|---|---|---|
| Fast EMA | number | 12 | 1 – 200 |
| Slow EMA | number | 26 | 1 – 500 |
| Signal | number | 9 | 1 – 200 |
它无法显示的内容
MACD 的每个读数都是两条滞后平均线的比较,因此该指标描述的是趋势力量对比已经发生的变化,而不是接下来会发生什么。在震荡区间中,它会反复交叉而少有延续,因为两条平均线不断在同一价位附近互换位置。它只由收盘价计算:成交量、成交规模和主动方完全缺席,因此一次交叉不包含任何关于市场参与度的信息。数值刻度随价格水平漂移,这使得在较长时期内或跨合约换月的历史比较并不可靠。
相关指标
- RSI — 动量
- Stochastic — 动量
- Stoch RSI — 动量
- CCI — 动量
- ROC — 动量
- Williams %R — 动量
其他语言版本
Frequently asked questions
- 为什么 MACD 柱状图比 MACD 线出现得晚?
- 信号线是 MACD 线的指数平均,因此在 MACD 线出现之后还需要自己的预热期。柱状图是两者之差,只在两者都有定义的地方绘制,所以它会在 MACD 线出现若干根K线之后才开始。
- MACD 中的 12、26 和 9 是什么意思?
- 它们是以K线计的周期:12 周期的快速指数移动平均、26 周期的慢速指数移动平均,以及对两者之差取 9 周期指数平均得到的信号线。这是 Gerald Appel 公布的数值,适用于图表所设定的任何K线周期,并不特指日线。
- MACD 是动量指标还是趋势指标?
- 介于两者之间。两条移动平均线之间的距离描述趋势的一致性,而这个距离变化的速度表现得像动量。两种读数都不包含成交量或订单流,因此它只描述价格结构。