本文按收盘价、EMA 和 12、26、9 这组参数计算 MACD 副图上的三样东西。DIF 是两条 EMA(指数移动平均)的差:12 根 K 线的 EMA 减去 26 根的。DEA 是把 DIF 自己再做一次 9 根的 EMA。那排柱子,就是 DIF 减 DEA。
所以 MACD(12,26,9) 这三个数,没有一个是「天」。图表切在 15 分钟,12 就是 12 根 15 分钟线;切到日线才是 12 天。这一点跟 MA7、MA25 那几条均线一样,换周期时最容易看走眼。
MACD(12,26,9) 三个参数分别算哪条线
币安学院《MACD指标解释》(页面标注更新于 2026-04-16,2026 年 10 月 29 日打开核对)把三样东西写成了三行式子:MACD线 = 12天EMA − 26天EMA;信号线 = MACD线的9天指数移动平均线;MACD直方图 = MACD线 − 信号线。文中的「天」是按日线举例,换成别的周期就是根数。同一篇也写明,标准设置就是 MACD(12,26,9)。

TradingView 的 MACD 帮助页写法更抽象:MACD = Fast MA − Slow MA,Signal = MACD 的移动平均,Histogram = MACD − Signal。它的设置里能单独改 Source(数据来源)、Fast length、Slow length、Signal length,还有两项均线类型,可以从 EMA 换成 SMA。换成 SMA 以后,算出来的就不再是本文下面那几个数了。
DIF、DEA、MACD 柱:同一条线在不同软件里叫什么
名字是 MACD 最绕的地方。中文行情软件常把快线叫 DIF、慢线叫 DEA;TradingView 叫 MACD 和 Signal;上面的学院说明页叫 MACD 线和信号线。三套叫法说的是同两条线。
麻烦出在「MACD」这个词本身。在前面两篇说明里,MACD 线指的是 12 减 26 的那条快线;中文维基的MACD 词条却把 DIF 的 9 日平均(它记作 DEM)叫作「又称MACD值」,也就是慢线。看别人截图说「MACD 翻正了」,先弄清他指的是快线、慢线还是柱子,三者翻正不是一回事。
如果你手上的软件显示的柱子数值和 DIF − DEA 对不上,打开它的指标说明,看柱子那一行到底怎么写。本文的数都按前面两篇说明的 DIF − DEA 来算。
拿两根 K 线把 DIF、DEA 和柱子算一遍
先套均线那篇的 EMA 递推式:
新 EMA = 上一个 EMA +(新收盘价 − 上一个 EMA)× α
α = 2 ÷(根数 + 1)。12 根取 2/13,26 根取 2/27;给 DIF 做平滑时,把式中的收盘价换成 DIF,9 根取 2/10 = 0.2。
假设某个币在 1 小时图上,上一根 K 线收完时:EMA12 = 100.00,EMA26 = 98.00,DIF = 2.00,DEA = 1.80,柱子 = 0.20(单位都是 USDT)。接下来两根 K 线分别收在 104 和 103:
| 收盘价 | EMA12 | EMA26 | DIF | DEA | 柱子 DIF − DEA |
|---|---|---|---|---|---|
| 起点 | 100.0000 | 98.0000 | 2.0000 | 1.8000 | 0.2000 |
| 104 | 100.6154 | 98.4444 | 2.1709 | 1.8742 | 0.2968 |
| 103 | 100.9822 | 98.7819 | 2.2004 | 1.9394 | 0.2609 |
第一根收在 104,DIF 升到 2.1709。把它代进信号线:DEA = 1.80 +(2.1709 − 1.80)× 0.2 ≈ 1.8742;两者相减,柱子约为 0.2968。表中计算保留中间精度,最后才显示四位小数。
第二根才是要看的。收盘价从 104 回落到 103,比上一根的收盘价低,可 103 仍然高于 EMA12,EMA12 还在往上挪,DIF 继续涨到 2.2004。柱子却从 0.2968 缩到 0.2609——DEA 涨得比 DIF 快,两条线在靠拢。
MACD 柱子变短了,是不是价格要跌
不能这么直接对上。上面那张表里,柱子变短的那一根,价格确实回落了,但 DIF 还在创新高;换一组数,价格继续涨、只是涨得比前几根慢,柱子同样会缩。柱子量的是 DIF 和 DEA 的距离,柱子仍为正但变短,只说明 DIF 与 DEA 的正差值正在缩小,离「价格下跌」还隔着好几层。
先读正负号,再读长短;红绿配色可以改,不能拿颜色代替数值。
DIF 穿过零轴、DIF 穿过 DEA,各说明什么
DIF 过零轴,看的是两条 EMA 的交叉:DIF 从负变正,就是 EMA12 从低于 EMA26 变成高于它。
柱子从负翻正,等于 DIF 从下往上穿过 DEA,也就是常说的金叉;从正翻负是死叉。交叉由价格计算而来,正在形成的 K 线也会让它变化。前面引用的学院文章把 MACD 归为滞后类别指标,也提醒交叉信号不总是可靠、不该单靠 MACD 做决定。
背离同理。学院文章写的是:价格创出更高的高点、MACD 的高点却更低,叫顶背离,通常被解释为卖出机会;反过来是底背离。「解释为」三个字值得留意,它说的是一种读法,不是一条会自动兑现的规则。
MACD 的数值为什么不能拿两个币直接比
DIF 是两个价格相减,单位就是价格本身。一个几万 USDT 的币,DIF 动辄几十几百;一个零点几 USDT 的币,DIF 可能只有小数点后好几位。说「这个币 MACD 有 300,那个只有 0.002,前者强多了」,没有把价格尺度和各自的波动幅度分开,不能直接据此比较趋势强弱。
这里要分清绝对价差和百分比。假设整段价格序列及 EMA 初值都乘以 10,按同一递推公式,EMA12、EMA26 和 DIF 也都乘以 10;若只是把每个价格及 EMA 初值都加上 9,两条 EMA 的差却不变。所以币价从 1 到 10 本身,不能推出 DIF 会变大多少。
最后一根柱子为什么一直在动
还没收线的那根 K 线,收盘价就是此刻的最新价。价格每跳一次,EMA12、EMA26 都要重算,DIF、DEA、柱子跟着变。所以最右边那根柱子在盘中会时长时短,甚至翻到零轴另一边;等这根 K 线收完,它才固定下来。
盘中看到柱子刚翻正,可以说暂时出现了金叉,但它还没有收线确认,收盘前仍可能消失。拿 1 小时图做判断,就等这一小时走完再读这根柱子;拿日线,就得等到切根那一刻。
参数换了,数值对不上怎么办
把 12、26、9 改成 5、35、5,会怎样?
这组三个参数不是一起变短:快线周期从 12 减到 5,慢线从 26 增到 35,信号线从 9 减到 5。按 EMA 公式,两个 5 会提高各自对最新输入的权重,35 则降低慢线对最新价格的权重。学院文章把 5、35、5 列为更敏感的设置,并提醒提高敏感度可能带来更多错误信号;实际出现多少次交叉,还取决于价格走势。
同一个币,交易所图上的 MACD 和别的软件对不上,是谁算错了?
先别判定是谁算错,计算条件不同就可能得到不同结果。依次对四样:三个参数是不是都是 12、26、9;价格均线和信号线各选的是 EMA 还是 SMA;数据来源是不是收盘价;K 线的计算周期和切根时刻。币安帮助中心写明其 TradingView 图表计算基于 UTC+0,改变显示时区不改变数据;若另一软件确实按北京时间重新划分日线,两边才会使用不同的收盘价(切根时刻见这篇),收盘价一变,后面三个数全跟着变。四样都一致还有小差,再看两边加载的历史有多长,EMA 起点不同会留下一点尾差。