MACD(指数平滑异同移动平均线,MACD/DIF/DEA):算法、金叉背离与参数
MACD(Moving Average Convergence Divergence,指数平滑异同移动平均线)由快慢两条 EMA 相减得到 DIF,再对 DIF 平滑得到 DEA,二者之差构成红绿柱状图,用来刻画趋势动能的增强与衰减。本文讲清 DIF、DEA、柱状图三者怎么一层层算出来(带数字示例)、常用参数 12/26/9 为什么这么取、金叉死叉/零轴/背离在震荡市与趋势市的不同读法、四类常见误用,以及在大斑(Bastix)多智能体投研系统里技术分析 Agent 如何把 MACD 当作一条可追溯的动能证据、而非买卖指令。大斑只做研究、不下单、不连接券商、不承诺收益。
MACD 是什么
MACD(Moving Average Convergence Divergence,指数平滑异同移动平均线,图表里显示为 MACD,代码注册真名 MACD) 是 Gerald Appel 在 1970 年代末提出的一套动能指标,也是全世界使用最广的技术指标之一。它的名字直译过来是"移动平均线的聚合与分离"——Convergence(聚合,两条均线靠拢)与 Divergence(分离,两条均线张开),这两个词恰好点出了它的全部核心:不看单条均线的绝对位置,而看快慢两条均线之间的距离在怎么变化。
它诞生的背景是这样的:单看一条移动平均线,你只知道价格相对某段均值偏上还是偏下,却看不出"上涨这件事本身是在加速还是在减速"。Appel 的洞见是——把一条快均线和一条慢均线相减,得到的差值就是一条能反映动能的曲线:差值扩大,说明快线甩开慢线、上涨在加速;差值收敛,说明涨势在放缓。MACD 把"趋势的速度与加速度"可视化了出来。
打个比方:如果把价格看成一辆车的位置,那么单条均线告诉你"车大概在哪",MACD 的 DIF 告诉你"车开得多快",而柱状图告诉你"车在加速还是在踩刹车"。一辆还在前进(DIF 为正)但已经开始松油门(柱子缩短)的车,和一辆猛踩油门(柱子放大)的车,处境完全不同——MACD 想捕捉的正是这层"加速度"信息。
也正因如此,MACD 本质上是一个动能(momentum,价格变动的力度与速度)指标,而不是一个价格水平指标。它不告诉你"价格贵不贵",而告诉你"当前这波涨/跌的劲头是在增强还是在衰减"。理解这一点,是不误用 MACD 的前提。
在大斑(Bastix)的图表体系里,MACD 是副图(振荡类,画在 K 线下方独立窗口里)指标,注册真名 MACD,在代码里是独立注册项,其三条线底层都复用 EMA(Exponential Moving Average,指数移动平均)计算——EMA 是一种给近期价格更高权重的加权均线,比简单移动平均反应更快。
顺带说明一个容易被忽略的点:正因为 MACD 用的是 EMA 而非简单移动平均,它对最近几天的价格变化更敏感、反应更快,但也继承了 EMA 的"记忆"——很久以前的价格仍以极小的权重残留在计算里。这也解释了为什么两只当前价格接近的股票,MACD 的形态却可能大不相同:它们各自的价格历史不一样。
这里要澄清一个常被夸大的说法:MACD 不是"万能拐点探测器"。它的三条线全部来自历史价格的平滑,因此它能很好地描述已经形成的动能变化,却无法预知尚未发生的转折。指望它精准抄底逃顶,是把一个描述性工具当成了预测工具——这既做不到,也不该期待。
怎么算
MACD 由三部分构成,层层派生,从快到慢:
- DIF(快线,Difference 差离值) = 短周期 EMA − 长周期 EMA(默认 12 日 EMA − 26 日 EMA)。它衡量快慢两条均线的乖离程度。
- DEA(慢线 / 信号线,Difference Exponential Average) = DIF 的 9 日 EMA。它是对 DIF 再做一次平滑,滤掉 DIF 的毛刺。
- 柱状图(MACD 柱,Histogram) = DIF − DEA,再乘以 2 只是画图习惯(不同软件有的乘 2、有的不乘,本仓库按注册实现为准)。柱子放大代表动能增强,缩短代表动能衰减。
默认参数写作 12/26/9,就是这三个 EMA 各自的周期。它们之间是一条单向的派生链:价格 → 快慢 EMA → DIF → DEA → 柱状图。链条越往后,平滑得越多、反应越慢,但也越干净——柱状图站在链条末端却因为是"差值"反而最灵敏,这个看似矛盾的性质,后面读信号时会反复用到。
举个具体数字帮助理解。假设某股当前算下来:12 日 EMA = 10.80 元,26 日 EMA = 10.50 元。那么:
- DIF = 10.80 − 10.50 = 0.30。DIF 为正,说明快线在慢线上方,中期偏多。
- 假设前 8 天的 DIF 经过 9 日 EMA 平滑后,昨天的 DEA = 0.24。
- 柱状图 = DIF − DEA = 0.30 − 0.24 = 0.06,柱子为正(红柱),且比昨天更长,说明上涨动能仍在扩张。
第二天如果涨势放缓,DIF 只微升到 0.31,而 DEA 因为持续平滑跟涨到 0.28,那么柱状图缩短到 0.31 − 0.28 = 0.03——DIF 还在涨,柱子却在缩短。这正是 MACD 最有价值的地方:柱状图提前于两线交叉,反映动能的边际变化。柱子由长变短,往往是金叉尚未消失、但涨势已开始乏力的早期迹象。
把这几天连起来看会更直观。假设一段行情里柱状图依次是 0.02 → 0.05 → 0.08 → 0.06 → 0.03 → 0.00 → −0.02:
- 0.02 → 0.08:红柱越来越长,DIF 甩开 DEA,上涨在加速,这是动能最强的阶段。
- 0.08 → 0.03:红柱还在零轴上方(DIF 仍高于 DEA,金叉未消失),但柱子在缩短,说明加速度已经转负、涨势在放缓——这是柱状图领先于死叉发出的第一声预警。
- 0.00 → −0.02:柱子翻绿,对应 DIF 下穿 DEA 的死叉正式出现。可以看到,等死叉出现时,动能其实已经衰减好几天了,这就是"滞后"的直观含义。
要强调的是:DIF、DEA 全都从 EMA 派生,而 EMA 又是历史价格的加权平均。这意味着 MACD 天然滞后于价格——它是对已经发生的价格做平滑,不是预测。这是它一切局限的根源,也是为什么柱状图(对动能求了一次差分、转向最早)比两线交叉本身更值得关注。
组成部分与参数怎么选:为什么是 12/26/9
默认参数 (12, 26, 9) 是 Appel 给出的经典起点,各有含义:
- 快线周期 12:约两周的交易日,捕捉短期动能。
- 慢线周期 26:约一个月的交易日,代表中期趋势。快慢周期一短一长,二者相减才有"乖离"可言——两个周期离得越开,DIF 越平滑、信号越少但越稳;离得越近,DIF 越灵敏但越吵。
- 信号线周期 9:对 DIF 再平滑约两周,用来过滤 DIF 的抖动、产生金叉死叉。信号线本身不带方向判断,它的唯一作用是给 DIF 提供一个"参照基准"——DIF 相对这条基准是往上穿还是往下穿,才有了金叉死叉之说。
调参的方向很直观:把周期整体调短(如 5/13/5),MACD 会更灵敏、拐点提示更早,但假信号也更多;整体调长(如 19/39/9),更平滑稳健,但反应更慢、更滞后。参数没有普适最优值,需要针对具体标的、具体持仓周期自己回测验证——把别人在某只股票上跑出来的"神奇参数"直接套到另一只股票上,通常是徒劳的。
一个实操上常被忽略的细节:改快慢周期时,信号线周期最好一起想清楚。快慢周期决定 DIF 的灵敏度,信号线周期决定金叉死叉出现的频率;只改前者不管后者,可能得到一条很灵敏的 DIF 配一条很迟钝的 DEA,交叉信号反而更乱。三个参数是一套系统,不是三个可以独立乱拧的旋钮。
三条线里,最值得盯的其实是柱状图:它是 DIF 与 DEA 之差,等于对动能求了一次"差分",因此对动能变化最敏感、转向最早。很多有经验的读图者看 MACD,第一眼看的是柱子在变长还是变短,而不是两线有没有交叉。
还有一个关于 12/26/9 的常见误解值得澄清:这三个数字不是什么"经过统计学证明的最优参数",而是 Appel 当年在特定市场(当时以周线、日线为主的美股)上凭经验选定、后来被行业沿用成默认值的历史约定。它能流行至今,很大程度上是因为"大家都用它、于是它自我实现地有效",而不是因为它对每只股票都最优。把它当成起点、而非终点,是使用参数的正确心态。
信号怎么读
MACD 常被简化成"金叉买、死叉卖",这是最典型、也最危险的误用。同一个金叉,在不同市况下的可靠性天差地别。稳妥的读法是把它当观察点而非指令,重点看三类信号,并分清震荡市与趋势市:
- 金叉 / 死叉:DIF 上穿 DEA 为金叉(柱状图由绿翻红),DIF 下穿 DEA 为死叉(柱状图由红翻绿)。它反映短期动能相对中期动能的强弱转换。
- 趋势市:处在明确上升趋势中,零轴上方出现的金叉是趋势中继、再度加速的观察点,相对可靠;但强趋势里死叉也可能只是短暂回踩就继续上行,机械按死叉离场会错失主升段。
- 震荡市:DIF 与 DEA 在零轴附近反复缠绕,金叉死叉一天一变,绝大多数是噪声,此时几乎不能单凭交叉做判断。
- 零轴上下:零轴由 DIF 是否大于 0 划分。DIF、DEA 在零轴上方代表 12 日 EMA 仍在 26 日 EMA 之上、多头动能占优;在零轴下方代表空头占优。零轴上方的金叉和零轴下方的金叉含义不同,前者是顺势加速,后者多是超跌反抽,不能一概而论。
- 举个对比:同样一个"DIF 上穿 DEA 的金叉",若发生在 DIF = 0.20(零轴上方)处,是上升趋势中回踩后的再度启动,顺势且相对可靠;若发生在 DIF = −0.35(零轴下方深处)处,则是大跌之后的技术性反抽,能不能站上零轴还是未知数,可靠性明显更弱。数值本身不变,位置不同,含义就不同——这正是"不能脱离零轴谈金叉"的原因。
- 背离(Divergence):价格创新高而 MACD(DIF 或柱状图)未创新高叫顶背离,提示上涨动能在衰减;价格创新低而 MACD 未创新低叫底背离,提示下跌动能在衰减。背离是 MACD 最受推崇、也最容易被误用的信号——趋势可以在背离状态下继续走很久,它只是"动能与价格不同步"的警示,不是反转的确认。
举一个背离的数字例子。某股第一波上涨时价格从 10 元冲到 12 元,对应柱状图峰值 0.30;随后回调,再冲高到 12.5 元创出新高,但这一次柱状图峰值只有 0.18——价格更高,动能却更弱,这就是典型的顶背离。它告诉 Agent 或读图者"这波新高是靠惯性勉强顶上去的,买方力量在退潮",值得警惕。但请注意:背离出现后,价格完全可能在 12.5 元之上再磨几周、甚至再创一次新高才真正见顶。背离是"减速带",不是"红灯"。 把减速带当红灯,急着逆势做空,是背离信号最典型的翻车方式。
一句话:MACD 描述的是"动能状态",不是"买卖时机"。 任何一个信号都要和趋势方向、成交量、基本面交叉验证。
还需要补充一个多周期的视角:同一只股票,日线的 MACD 可能刚金叉、周线的 MACD 却还在死叉状态,二者并不矛盾——它们分别刻画的是"这几天的动能"和"这几个月的动能"。经验做法是先看大周期定方向、再看小周期找节奏,而不是把某一个周期的一次交叉当成全部真相。孤立地引用"MACD 金叉了"却不说是哪个周期,是最容易误导人的表述之一。
常见误用
- 把金叉死叉当买卖点:最普遍的错误。MACD 滞后于价格,震荡市里交叉信号绝大部分是噪声,机械执行会被反复打脸。一段横盘里 DIF 与 DEA 可能一周之内金叉、死叉、再金叉,逐个执行只会来回挨耳光、白付手续费。
- 忽略零轴位置:只看"有没有金叉",不看金叉发生在零轴上方还是下方。零轴下方超跌区的金叉,可靠性通常远低于零轴上方顺势区的金叉。
- 把背离当反转确认:看到顶背离就断定要见顶。背离能持续很久,强趋势中"背离了又背离"屡见不鲜,单凭背离逆势操作风险极高。
- 误以为柱状图归零就该动手:柱子缩短只说明动能边际减弱,不等于趋势结束。把"柱子变短"直接翻译成"卖出信号",忽略了它可能只是趋势中途的一次喘息。
- 在不同周期上用同一套结论:日线 MACD 金叉、60 分钟 MACD 死叉是家常便饭,二者刻画的是不同时间尺度的动能。不声明"这是哪个周期算出来的"就下结论,等于把两把不同刻度的尺子读数混在一起。
大斑多智能体系统里,MACD 扮演什么角色
这是大斑与"把指标当信号灯"的工具最本质的区别。在大斑的多智能体投研系统里,MACD(以及其余 100 多个技术指标)不是一个会自动触发买卖的信号源,而是技术分析 Agent(技术分析智能体)在形成研究结论时引用的一条动能证据。
- 技术分析 Agent 读取 DIF/DEA 的相对位置、是否在零轴上下、柱状图的放大或缩短、是否出现背离,把它转述成自然语言判断(例如"MACD 柱连续三日缩短并在价格新高处出现顶背离,上涨动能边际减弱,但 DIF 仍在零轴上方、趋势未破,需警惕回落而非断定反转"),并标注这是基于哪段行情数据、用 12/26/9 哪组参数算出来的,纳入可追溯的证据链。
- 这里体现了 MACD 作为"动能证据"的独特价值:它帮 Agent 判断当前这波趋势的劲头是在增强还是衰减,从而校准对其他信号的解读——柱状图持续放大的加速阶段,Agent 会更看重突破的延续性;柱状图收敛、出现背离时,则会对追涨类信号更谨慎。
- 举个协同的例子:假设 RSI(相对强弱指数)已进入超买区、看上去"该回落了",但同一时刻 MACD 的柱状图仍在稳步放大、DIF 稳居零轴上方——两条动能证据一个说"过热"、一个说"仍在加速"。此时 Agent 不会简单二选一,而是把这份"分歧"本身如实写进研究结论,交由后续与基本面、情绪面证据一起权衡。指标之间的矛盾不是要被抹平的噪声,而是需要被记录、被解释的信息。
- 这条技术面证据会与基本面、市场情绪等其他 Agent 的判断共同进入研判,而不是单独拍板。因为 MACD 本质滞后、震荡市假信号多,Agent 通常会把它与趋势结构、量能等交叉验证,而非单独采信。
- 最终大斑产出的是研究结论与目标权重层面的观点,不是"买入 700 股"这种伪精确的成交指令——大斑只做研究、不下单、不连接券商、不承诺收益。
值得强调"目标权重"和"成交指令"的区别:前者是"这类资产在组合里大约配多少比例"的研究判断,后者是"此刻按某价挂单买多少股"的执行动作。MACD 作为一条动能证据,只参与前者的形成,从不越界去指定后者。把研究观点直接翻译成精确到股数、价格的下单指令,既超出了指标能承载的信息量,也不是大斑要做的事。
换句话说:MACD 在大斑这里的价值,不是"它告诉你何时买卖",而是"它提供一个可被独立质疑、可被重新计算的动能观测,让研究结论站得住脚"。任何一条结论都能回溯到"哪段行情、哪组参数、算出什么数值",这种可追溯性,正是把 MACD 当"证据"而非"信号灯"的落脚点。
常见问题
(见上方 FAQ;本节与页面结构化数据同源。)
参考来源
- Moving Average Convergence/Divergence (MACD) — 定义、12/26/9 参数与信号Investopedia(技术分析词条) · 支撑:MACD 的 DIF/DEA/柱状图构成、12/26/9 默认参数与金叉死叉/背离的通行定义 · 访问日期:2026-08-19
- Exponential Moving Average (EMA) — MACD 底层平滑方式Investopedia(技术分析词条) · 支撑:MACD 三条线所依赖的指数移动平均(EMA)加权平滑的定义 · 访问日期:2026-08-19
KDJ(随机指标,别名 kd):RSV、K/D/J 三线、参数与钝化陷阱
KDJ(随机指标)由 K、D、J 三条线构成,先算 RSV——收盘价在最近 N 日高低区间中的相对位置,再层层平滑得到 K、D,并以 J=3K−2D 放大灵敏度。本文讲清 RSV 与三线的分步算法(带数字示例)、常用参数 (9,3,3) 怎么选、金叉死叉与 J 线钝化在震荡市与趋势市的不同读法、四类常见误用,以及它与 Stoch 在代码里是两个独立注册项这一事实,还有在大斑(Bastix)多智能体投研系统里 KDJ 作为一条可追溯动能证据、而非买卖指令的角色。大斑只做研究、不下单、不连接券商、不承诺收益。
移动平均线(Moving Average,MA):均线原理、参数与金叉死叉
移动平均线(Moving Average,MA)把最近 N 个交易日的收盘价取算术平均,抹平单日噪声、把价格的趋势方向显现出来。本文讲清简单移动平均的分步算法与数字示例、常用周期(5/10/20/60/120/250 日)的含义、灵敏度与稳定性的取舍、多头排列与金叉死叉在震荡市与趋势市里的不同读法、四类常见误用,以及在大斑(Bastix)多智能体投研系统里技术分析 Agent 如何把均线当作一条可追溯的趋势证据、而非买卖指令。大斑只做研究、不下单、不连接券商、不承诺收益。