# Volume-weighted MACD

A Momentum & Oscillators concept (MACD lineage) in the LuxAlgo Library, with 1 indicator implementation.

## What is the Volume-weighted MACD?

The Volume-weighted MACD swaps the averages inside [MACD](https://www.luxalgo.com/library/concept/macd/): instead of subtracting a slow EMA from a fast EMA of price, it subtracts a slow [VWMA](https://www.luxalgo.com/library/concept/vwma/) from a fast VWMA (implementations commonly keep the familiar 12 and 26 lengths) and smooths the difference into a signal line, most often a 9-period EMA. A VWMA multiplies each close by its volume and divides the sum by the window's total volume, so heavily traded bars pull the lines hard while quiet drift barely moves them.

The design, associated with volume analyst Buff Dormeier, lets participation decide how much each bar's price counts. A rally on expanding volume accelerates the volume-weighted line ahead of its price-only counterpart; a drift higher on thinning volume leaves it lagging or unconvinced. That comparison is the indicator's distinctive read, a computed cousin of the [effort vs result](https://www.luxalgo.com/library/concept/effort-vs-result/) principle: it asks whether volume sits on the same side as price.

A useful property falls straight out of the arithmetic: when volume is roughly flat across the window, the VWMA collapses toward the simple average of the same closes and the volume-weighted MACD nearly reproduces its classic sibling. The two constructions only separate when participation shifts, which means every visible gap between them is informative by construction. The histogram inherits the same weighting, so a shrinking volume-weighted histogram under a rising market is a participation warning delivered in familiar MACD grammar, and the signal line remains a plain EMA of the spread in most builds, though volume-weighted variants of that stage exist too.

In practice the tool earns its keep in two modes. Standalone, it runs the standard MACD playbook with volume conviction baked into every event, the form popularized on the platform by LazyBear's port and extended in combinations like gavar's pairing with RSI. Comparatively, it runs beside the classic MACD as a two-line participation audit, with divergence between the pair flagging exactly the moves volume does not endorse. Its honest boundary is its input: the weighting only adds information where the volume series itself is trustworthy and varied enough to matter.

## How to identify the Volume-weighted MACD

The construction is MACD with one substitution, so identification is about confirming where the volume enters.

1. Compute the fast and slow volume-weighted averages of price, commonly 12 and 26 periods, each bar's close weighted by its volume.
2. Subtract slow from fast: the volume-weighted MACD line, in price units like its classic cousin.
3. Smooth the line, usually with a 9-period EMA, for the signal; the difference between them is the histogram.
4. Read the standard grammar: line/signal crossovers, zero-line crosses, histogram turns, each now weighted by participation.
5. Overlay the classic MACD: the gap between the two versions is itself a read, since they only separate when volume shifts sides.

## How it's calculated

MACD built from volume-weighted moving averages, so heavily traded bars pull the averages harder than quiet ones.

```
VWMA_n = Σ(C_i × V_i over the last n bars) / Σ(V_i over the last n bars)
VW_MACD_t = VWMA_fast - VWMA_slow
Signal_t = EMA_s(VW_MACD)
Histogram_t = VW_MACD_t - Signal_t

  C: close price
  V: volume
  i: bar index inside the averaging window
  t: current bar index
  n: VWMA length in bars
  fast: fast VWMA length (default 12)
  slow: slow VWMA length (default 26)
  s: signal length (default 9)
  EMA_s(x): exponential moving average of x over s bars
```

Defaults mirror the classic MACD (12, 26, 9); the signal line stays a plain EMA because the MACD line is already volume weighted.

Buff Dormeier's published VW-MACD is this VWMA form; later variants substitute volume-weighted EMAs (EMA_n(C × V) / EMA_n(V)) or elastic VWMA for the simple VWMA.

With constant volume, VWMA reduces to an SMA, so the oscillator behaves like an SMA-based MACD.

## How traders use it

- With MACD's normal signal set (line/signal crossovers, zero-line crosses, histogram turns), where volume weighting is built into each signal because thin-volume moves carry little weight in the averages.
- Overlaid against the classic MACD: the volume-weighted line running stronger argues volume backs the trend, while a weaker line flags participation failing to keep pace.
- For divergence against price, which here doubles as a [volume divergence](https://www.luxalgo.com/library/concept/volume-divergence/) read: a new price high the indicator refuses to confirm means volume-weighted prices are not following.
- As a breakout filter, since a thrust on heavy [volume at the breakout](https://www.luxalgo.com/library/concept/volume-at-breakout/) moves VWMA-based lines faster than the same thrust on thin tape.
- Inside momentum stacks: pairing it with a bounded oscillator like [RSI](https://www.luxalgo.com/library/concept/rsi/) covers complementary failure modes, the bounded gauge handling stretch and saturation while the volume-weighted spread reports whether participation backs the move at all.

## Volume-weighted MACD vs. related indicators

- **MACD** (https://www.luxalgo.com/library/concept/macd/): Identical signal grammar, different weighting: MACD averages price alone, while the volume-weighted version scales each bar by its volume, so the two diverge exactly when price and participation disagree.
- **Volume Oscillator** (https://www.luxalgo.com/library/concept/volume-oscillator/): A volume oscillator measures volume only (a fast versus a slow average of volume, no price at all). The volume-weighted MACD still measures price momentum; volume just sets the weights.
- **Klinger Volume Oscillator** (https://www.luxalgo.com/library/concept/klinger-volume-oscillator/): The KVO builds an EMA spread from a signed volume-force series, so its output lives in volume terms and tracks swings in buying and selling pressure. The volume-weighted MACD stays in price units, using volume only to weight its averages.

## FAQ

### How is the volume-weighted MACD different from the regular MACD?

Only the averages change: VWMAs replace EMAs, so each bar's close is weighted by its volume before averaging. The practical effect is that high-participation moves register faster and low-volume drift registers slower. The signal types (crossovers, zero-line crosses, histogram) read exactly the same way as in the classic version.

### Who invented the volume-weighted MACD?

It is most closely associated with Buff Dormeier, whose volume research popularized substituting volume-weighted moving averages into the MACD. The underlying idea is generic rather than proprietary: any MACD becomes volume-weighted by swapping its EMAs for VWMAs, which is why many public variants exist with slightly different lengths and signal-line choices.

### Does the volume-weighted MACD work on forex and crypto?

With caveats. Spot forex has no centralized volume, so platforms substitute tick volume, a proxy of unverified quality. Crypto volume is fragmented across exchanges and can be inflated. The indicator is only as meaningful as the volume series behind it, so it is most trustworthy on centrally reported markets such as listed stocks and futures.

### When do the volume-weighted and classic MACD diverge most?

Exactly when participation changes character: a low-volume drift that the classic version dutifully follows while the weighted one hangs back, or a heavy-volume thrust that yanks the weighted line ahead. When volume runs flat, the VWMA converges toward a simple average and the two indicators nearly coincide. That is why the overlay comparison works: any visible gap is a statement about volume, not noise.

### What settings does the volume-weighted MACD use?

Most builds keep the classic 12/26/9: fast and slow VWMAs of 12 and 26 bars, a 9-period EMA signal. The familiar trade-offs apply, shorter lengths for speed and noise, longer for stability and lag, with one addition: the weighting only helps where volume genuinely varies, so on markets with flat or unreliable volume the extra machinery changes little and the classic version does the same job.

### How should the volume-weighted histogram be read?

Like the classic histogram, with participation folded in. Expanding bars say volume-weighted momentum is accelerating; a histogram that shrinks while price grinds higher says the advance is proceeding without volume behind it, the indicator's version of a participation warning. Histogram divergence at price extremes carries the same double meaning, momentum and volume fading together, which is precisely the condition the tool was built to expose.

## Implementations in the Library

- Volume-weighted MACD (LuxAlgo): https://www.luxalgo.com/library/indicator/volume-weighted-macd/

## Related concepts

- MACD: https://www.luxalgo.com/library/concept/macd/
- PPO: https://www.luxalgo.com/library/concept/ppo/
- APO: https://www.luxalgo.com/library/concept/apo/
- OsMA: https://www.luxalgo.com/library/concept/osma/
- Zero-lag MACD: https://www.luxalgo.com/library/concept/zero-lag-macd/
- MACD-V: https://www.luxalgo.com/library/concept/macd-v/
- Impulse MACD: https://www.luxalgo.com/library/concept/impulse-macd/
- Schaff Trend Cycle: https://www.luxalgo.com/library/concept/schaff-trend-cycle/

---

Source: https://www.luxalgo.com/library/concept/volume-weighted-macd/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/