Volume-Weighted MACD 指标:公式、参数与读法
成交量加权 MACD(Volume-Weighted MACD)保留了 Gerald Appel 的 MACD 结构,但把两条移动平均都换成成交量加权移动平均:主线为收盘价的 VWMA(快) − VWMA(慢),信号线是主线的 EMA,柱状图为两者之差。因此,成交量更大的K线在计算中的权重高于清淡的K线。
Senzoukria · 指标 · Updated September 2026
Volume-Weighted MACD — 成交量, 显示在图表下方的独立面板中.
Volume-Weighted MACD 测量的是什么
每条均线等于 N 根K线内收盘价 × 成交量之和,除以同样 N 根K线的成交量之和,因此均线跟随实际发生成交的价格,而不是对每根K线一视同仁。快线减去慢线得到一个以品种价格单位表示的动量值。信号线仍是该值的普通 EMA:主线已不再是价格,对它再次按成交量加权在量纲上没有意义。默认参数为 Appel 的 12、26 和 9。在期货上,隔夜时段和常规交易时段的成交量可能差别很大,其读数与标准 MACD 明显不同,这也是指标库同时提供两者的原因。
公式:代码中的实现
这不是别处常见的定义,而是所发布代码实际计算的内容,记录在实现旁边:
Volume-Weighted MACD — le MACD d'Appel dont les deux jambes sont des VWMA au lieu d'EMA : vwmacd = VWMA_fast(close) − VWMA_slow(close) signal = EMA_signal(vwmacd) (sur chaque segment défini de vwmacd) hist = vwmacd − signal (point seulement si les deux existent) avec VWMA_N = Σ_N(close·volume) / Σ_N(volume). POURQUOI : le MACD classique traite toutes les barres comme égales. En substituant le VWMA, les barres à gros volume pèsent davantage dans les deux moyennes — le croisement se déclenche sur la dynamique du prix RÉELLEMENT ÉCHANGÉ, pas sur celle des barres creuses de nuit. Sur des futures dont les sessions ont des profils de volume très différents, l'écart avec le `macd` (momentum.ts) est franc, ce qui justifie de livrer les deux. CONVENTION SIGNAL : la ligne signal reste une EMA du vwmacd (choix de TradingView et de la plupart des implémentations « VW-MACD ») — le vwmacd n'est plus un prix, le pondérer une seconde fois par le volume n'aurait pas de sens dimensionnel. Défauts 12/26/9 (Appel). Warm-up : vwmacd à partir de l'indice max(fast, slow) − 1, signal N_signal−1 barres plus tard. Σvolume = 0 sur une fenêtre VWMA → null (0/0). Le signal conserve son passé et réamorce une SMA de N_signal valeurs consécutives après chaque trou, puis reprend l'EMA. Les segments ne sont pas recollés. Sorties : [ligne VW-MACD, ligne signal, histogramme].
如何解读
- 主线与信号线的交叉,标志着快慢两条成交量加权均线之间的平衡发生了变化。应把它当作对这种平衡的描述,而不是交易指令。
- 柱状图等于主线减去信号线,只在两个值都存在时绘制。其符号显示主线位于信号线的哪一侧;其高度的变化显示差距是在扩大还是缩小。
- 此指标的零值是快慢两条 VWMA 相等之处。穿越零轴和穿越信号线是不同的事件,很少出现在同一根K线上。
- 在同一品种上将其与标准 MACD 并排比较:两者出现分歧时,差异来自那些成交量相对相邻K线异常高或异常低的K线。
- 数值带有品种的价格单位,因此一个合约上的 2.5 与另一个合约上的 2.5 毫无可比性。应对照该品种上指标自身的近期范围来判断极值。
参数与默认值
快速 VWMA 默认为 12,可取 1 到 200;慢速 VWMA 默认为 26,可取 1 到 500。两个长度越接近,与信号线的交叉越频繁;拉开距离则交叉更少、更晚。信号 EMA 默认为 9,可取 1 到 200:信号线越短,越紧贴主线,柱状图越扁平;越长则越滞后,柱状图被拉伸。四项颜色设置分别对应主线、信号线以及正负柱,均不影响计算。
| 参数 | 类型 | 默认值 | 取值范围 |
|---|---|---|---|
| Fast VWMA | number | 12 | 1 – 200 |
| Slow VWMA | number | 26 | 1 – 500 |
| Signal EMA | number | 9 | 1 – 200 |
它无法显示的内容
两条腿都是移动平均,因此每个数值都落后于产生它的价格。仅预热阶段就需要 max(快, 慢) − 1 根K线,主线才开始出现,而信号线还要在此之后再过信号周期减一根K线才开始。如果某个 VWMA 窗口内的成交量之和为零,均线无定义,不返回任何值,序列因此被切成若干段;数据恢复后,信号线先用前 N 个连续值的简单平均重新起算,再回到指数公式。空缺两侧的段落不会被拼接起来,所以跨越空缺比较的水平并不连续。该指标也只看到收盘价和总成交量,从不知道哪一方是主动方,因此它既不能确认也不能否定足迹图或 delta 序列所显示的内容;在报告的成交量不完整或经过聚合的品种上,加权也会继承这种失真。
相关指标
- Volume — 成交量
- Buy/Sell Volume — 成交量
- Average Trade Size — 成交量
- Volume ROC % — 成交量
- Relative Volume — 成交量
- Trade Count — 成交量
其他语言版本
Frequently asked questions
- MACD 与成交量加权 MACD 有什么区别?
- 标准 MACD 由两条指数移动平均相减得出,无论每根K线成交多少,其影响都相同。成交量加权 MACD 改用成交量加权移动平均,因此成交量更大的K线对两条均线的影响更大。在各交易时段成交量极不均衡的品种上,例如隔夜时段清淡的期货,两者的读数差异最大。
- VW-MACD 的信号线也使用成交量吗?
- 不使用。信号线是 VW-MACD 主线的指数移动平均,这是大多数成交量加权 MACD 实现所遵循的约定。主线是动量值而不是价格,对它再次进行成交量加权在量纲上没有意义。只有快慢两条均线是按成交量加权的。
- 当某个窗口完全没有成交量时,指标会怎样?
- 成交量加权平均变成除以零,因此该窗口不产生数值,序列就此中断,而不是输出替代数字。成交量恢复后,信号线先用前 N 个连续值的简单平均重新起算,再切换回指数公式。空缺前后被视为不同的段落,因此线条从不跨越空缺绘制。