移动平均线收敛与发散指标(MACD)比较收盘价的快速指数移动平均线与慢速指数移动平均线。信号线对这一差值进行平滑处理;柱状图显示 MACD 线与信号线之间的差值。
MACD 衡量什么
示例使用基于收盘价的 12 根 K 线快速 EMA、26 根 K 线慢速 EMA 和 9 根 K 线信号 EMA。这些是经典默认设置,并非优化后的建议。
- MACD 线等于快速 EMA 减去慢速 EMA。
- 信号线是 MACD 线的 EMA。
- 柱状图等于 MACD 线减去信号线。
本下载文件使用的计算方法
MACD[i] = EMA(close, FastEma)[i] - EMA(close, SlowEma)[i] Signal[i] = EMA(MACD, SignalEma)[i] Histogram[i] = MACD[i] - Signal[i] alpha = 2 / (N + 1) EMA[i] = EMA[i-1] + alpha * (x[i] - EMA[i-1])
初始值与预热
每条 EMA 均以其前 N 个输入值的简单平均值作为初始值。价格的快速和慢速 EMA 分别从各自的初始化 K 线开始;信号 EMA 从最早可用的 SignalEma 个 MACD 值开始。索引从最早的 K 线起算。历史数据充足时,首个 MACD 索引为 SlowEma − 1,首个信号和柱状图索引为 SlowEma + SignalEma − 2。更早的值为空。历史数据不足时,所有缓冲区保持为空,下次调用会从头重新计算。
初始平均值的计算方式是:第一个值加上各值相对于该值的差值的平均值。这与简单平均值相同,并能让一串相同值保持精确。N = 1 时,EMA 就是输入值本身。
如何定义交叉
当 MACD 线从信号线下方移动到上方时,发生看涨信号线交叉。看跌交叉则相反。等价地说,柱状图的正负号发生变化。而零线交叉是在 MACD 线本身的正负号发生变化时出现。
上方和下方采用严格比较。恰好为零时保留先前所在的一侧:仅触及而未改变正负号,不算交叉。经过精确零值的交叉会在严格位于新一侧的第一根 K 线上报告。第一根确定所在一侧的 K 线没有可供交叉的先前一侧。
交叉描述过去的 K 线,并不预测价格。
交叉在正负号变化变得可见的收盘 K 线上报告,绝不会回溯标记到更早的 K 线。最新的 K 线可能仍在形成,不能确认交叉。其 MACD、信号和柱状图值会在每个 tick 重新计算。只要已收盘历史数据保持不变,已收盘 K 线上的事件就不会被删除或移动;重新加载历史数据时,指标会基于新数据重新计算。
解读图表示例
这些图表使用 EURUSD 小时 K 线,价格和 MACD 值以每 EUR 对应的 USD 表示。采集的导出数据包含 5,000 根已收盘 K 线,时间从 2025-12-04 15:00 到 2026-09-24 22:00。这是历史样本,并非实时报价。
图表时间是终端中 K 线的开盘时间。采集时测得的终端时钟偏移为 UTC+3;未对历史夏令时变化进行建模。周末和交易时段间隔被压缩,间隔处以浅色竖线标出。
近期样本概览

零线下方的看涨交叉

零线上方的看跌交叉

每个交叉示例都是最近一次符合条件的交叉:两侧各有 40 根 K 线作为上下文,且随后在 30 根 K 线内发生零线交叉。筛选不依据后续价格结果。两个窗口重叠 75 根 K 线,展示的是样本同一区段中的相关事件。
密集的连续交叉

波动极值之后的交叉

下载指标
指标在独立窗口中运行,显示 MACD 线、信号线、柱状图和信号线交叉箭头。它不会下单、发送提醒或使用 DLL 导入。
配置
- 选择适用于目标平台的源代码文件或已编译文件。
- 使用平台的指标文件夹和指标控件加载自定义指标。
- 设置 FastEma、SlowEma 和 SignalEma。FastEma 和 SignalEma 必须为正数;SlowEma 必须大于 FastEma。
- 解读显示内容之前,请核对信号线计算约定、可用历史数据和已收盘 K 线上的行为。
局限性
本工具不检测 MACD 背离。它标记交叉,不预测价格,也不进行交易。样本中的交叉次数不是命中率,也未进行交易表现测试。其他实现可能使用不同的信号线平均方法、初始值或首根 K 线,从而改变其早期值或信号线。
样本中的次数不是命中率,也未进行交易表现测试。
常见问题
MACD 线衡量什么?
它是收盘价的快速 EMA 减去收盘价的慢速 EMA。
柱状图显示什么?
它是 MACD 线减去信号线。当 MACD 在信号线上方时为正,在信号线下方时为负。
示例使用哪些设置?
快速、慢速和信号 EMA 的周期分别为 12、26 和 9 根 K 线,应用于收盘价。
信号线交叉与零线交叉相同吗?
不同。信号线交叉改变的是 MACD 减去信号所得差值的正负号。零线交叉改变的是 MACD 线本身的正负号。
最新的 K 线能确认交叉吗?
不能。最新的 K 线可能仍在形成,其值在每个 tick 都会变化;本下载文件仅在已收盘 K 线上报告交叉事件。
为什么 MetaTrader 内置的 MACD 看起来可能不同?
内置指标使用简单平均信号线,并将 MACD 线绘制为柱状图。本下载文件使用 EMA 信号线,并将 MACD 减去信号绘制为柱状图。
下载文件会检测背离吗?
不会。本工具不检测 MACD 背离。
延伸阅读
杠杆产品可能迅速造成亏损;中国大陆居民不得通过境外经纪商进行差价合约或外汇零售交易。




