# MACD-V

Also known as: volatility-normalized MACD.
A Momentum & Oscillators concept (MACD lineage) in the LuxAlgo Library, with 1 indicator implementation.

## What is MACD-V?

MACD-V is a volatility-normalized [MACD](https://www.luxalgo.com/library/concept/macd/) proposed by Alex Spiroglou in a 2022 paper. The classic MACD line (12-period EMA minus 26-period EMA) is divided by a 26-period ATR and multiplied by 100, with a 9-period signal line applied to the result. Expressing the spread as a percentage of typical true range fixes raw MACD's core defect: its values are denominated in price, so they cannot be compared across instruments, timeframes, or even different eras of the same chart.

The payoff is a stable, universal scale. Because a given reading means the same thing on any symbol, MACD-V supports fixed reference levels that raw MACD never could: Spiroglou's formulation treats roughly -50 to +50 as a neutral zone and readings beyond ±150 as overextended, layered on top of the familiar zero-line and signal-line events.

Spiroglou's motivation was consistency. A raw MACD reading of 2.5 is meaningless without knowing the symbol and the era: it may be enormous on a low-priced stock and invisible on an index, and even on one chart the same value means different things a decade apart. Dividing by ATR restates the EMA spread in units of the instrument's own typical bar, so [momentum](https://www.luxalgo.com/library/concept/momentum/) becomes a pure number. That turns MACD from a single-chart tool into a framework: the same thresholds and lifecycle vocabulary apply to a currency pair, an index, and a small-cap stock without re-calibration.

The normalization also changes the indicator's character subtly: when volatility expands faster than the EMA spread, readings compress, so MACD-V measures momentum relative to prevailing volatility rather than absolute speed. Everything else carries over from the parent: the 9-period signal line, histogram-style reading of the gap, and zero-line logic work unchanged, with Spiroglou's bands adding a fixed map on top and his lifecycle framing, in which each signal is weighted by the zone it occurs in, as the main practical addition.

## How to calculate MACD-V

The construction is the classic MACD with one extra division:

1. Compute the 12- and 26-period EMAs of price and take their difference; this is the ordinary MACD line.
2. Divide that difference by the 26-period ATR of the same chart and multiply by 100, restating momentum as a percentage of typical true range.
3. Apply a 9-period EMA to the normalized line to form the signal line; the gap between the two can be drawn as a histogram.
4. Mark reference bands at ±50 (neutral border) and ±150 (overextension border); because the scale is normalized, the same lines apply on every symbol.
5. Read events exactly as with MACD, zero-line and signal-line crosses included, weighting each by the band it occurs in.

## How it's calculated

MACD momentum rescaled by average true range so readings are in volatility units and comparable across markets and timeframes.

```
Fast_t = EMA(P, 12)_t
Slow_t = EMA(P, 26)_t
MACDV_t = 100 × (Fast_t - Slow_t) / ATR(26)_t
Signal_t = EMA(MACDV, 9)_t
Hist_t = MACDV_t - Signal_t

  P: source price series (commonly close)
  t: bar index
  EMA(x, n)_t: exponential moving average of series x over n bars, at bar t
  Fast_t: fast EMA of price at bar t (default length 12)
  Slow_t: slow EMA of price at bar t (default length 26)
  ATR(26)_t: 26-bar average true range at bar t (Wilder smoothing is standard)
  MACDV_t: MACD-V line at bar t
  Signal_t: signal line at bar t (default 9-bar EMA of MACDV)
  Hist_t: MACD-V histogram at bar t
```

Introduced by Alex Spiroglou (2022) as volatility normalised momentum; the 12, 26 and 9 lengths mirror classic MACD and the ATR length matches the slow EMA.

Spiroglou reads values above +150 as overbought, below -150 as oversold, and the band between -50 and +50 as ranging with no meaningful trend momentum.

Because of the 100 multiplier, a reading of 100 means the EMA spread equals one full ATR.

## How traders use it

- As a cross-market momentum rank: normalized readings can be compared across an entire watchlist to find which instruments carry the strongest momentum relative to their own volatility.
- As a lifecycle map: signal-line crosses are weighted by where they occur; a cross inside the neutral band is treated as noise-prone, while one unwinding from an extreme carries more information.
- As an [overbought/oversold](https://www.luxalgo.com/library/concept/overbought-oversold/) framework for a trend-following tool: beyond ±150 a move is stretched relative to its own volatility, which reads as exhaustion risk rather than an automatic fade.
- For divergence work on a consistent scale: [regular bullish and bearish divergences](https://www.luxalgo.com/library/concept/regular-bullish-bearish-divergence/) are read exactly as on MACD, with the normalization making swing-to-swing comparisons more honest when volatility has shifted between the swings.
- As a signal filter: acting only on signal-line crosses outside the neutral band discards the low-conviction crosses raw MACD users learn to distrust, at the cost of later entries.
- Alongside bounded oscillators: pairing it with [RSI](https://www.luxalgo.com/library/concept/rsi/) or the [Stochastic Oscillator](https://www.luxalgo.com/library/concept/stochastic-oscillator/) separates volatility-adjusted trend momentum from range position, two related but distinct reads on the same move.

## MACD-V vs related oscillators

- **MACD** (https://www.luxalgo.com/library/concept/macd/): The parent. Same 12/26 EMA spread and 9-period signal line, but denominated in price, so amplitude depends on symbol and era. MACD-V divides by ATR to make readings portable and fixed levels meaningful.
- **Volume-weighted MACD** (https://www.luxalgo.com/library/concept/volume-weighted-macd/): Another MACD variant, but it modifies the input, building the spread from volume-weighted averages, rather than the output scale. The two changes address different weaknesses and are not substitutes.
- **RSI** (https://www.luxalgo.com/library/concept/rsi/): Also solves cross-market comparability, but by bounding momentum into 0-100 through its own gain/loss averaging. RSI compresses at extremes; MACD-V stays unbounded, so it can keep registering acceleration where RSI flattens.
- **CCI** (https://www.luxalgo.com/library/concept/cci/): An older expression of the same normalizing instinct: distance from a moving average divided by mean deviation. MACD-V swaps in an EMA spread over ATR, keeping the trend-following genes of MACD rather than CCI's stationary-mean framing.

## FAQ

### How is MACD-V different from regular MACD?

It uses the same 12/26 EMA spread, but divides it by a 26-period ATR and multiplies by 100, so the units become momentum as a percentage of typical volatility instead of raw price. That makes readings comparable across instruments, timeframes, and history, and it allows fixed overbought/oversold levels, which raw MACD's price-denominated scale cannot support. Signal-line and zero-line logic works unchanged.

### What do the MACD-V ranges mean?

In Spiroglou's formulation, readings between -50 and +50 mark a neutral zone where momentum is weak and signal-line crosses are least reliable; 50 to 150 (and the negative mirror) marks trending momentum; beyond ±150 the move is overextended relative to its own volatility. These are his published conventions for reading the scale, not certainties, and most users still require price confirmation.

### Who created MACD-V?

Alex Spiroglou introduced it in a 2022 paper titled 'MACD-V: Volatility Normalised Momentum', which received the CMT Association's Charles H. Dow Award. The design keeps the structure of Gerald Appel's original MACD, including the 12/26/9 parameters, and adds the ATR division so readings become comparable across instruments and across time.

### What settings does MACD-V use?

The published form inherits MACD's 12/26/9 EMAs and uses a 26-period ATR as the divisor. The inputs can be changed, but the ±50 and ±150 levels were framed around the defaults, so heavy retuning weakens the case for the standard bands.

### Can MACD-V stay above 150 without reversing?

Yes. The scale is unbounded, and strong trends can hold readings beyond the overextension band for a while. The zones flag stretch relative to volatility rather than commanding a fade, which is why many users wait for the signal line to roll over or for price structure to break before acting on an extreme reading.

### Is MACD-V better than MACD?

It fixes one specific defect: comparability. It does not change the underlying engine, so the lag of the EMAs and whipsaw in flat markets remain. For a trader watching one familiar instrument the benefit is modest; across a multi-asset watchlist, or for anyone wanting fixed levels, it is substantial.

## Implementations in the Library

- MACD-V (LuxAlgo): https://www.luxalgo.com/library/indicator/macd-v/

## 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/
- Impulse MACD: https://www.luxalgo.com/library/concept/impulse-macd/
- Volume-weighted MACD: https://www.luxalgo.com/library/concept/volume-weighted-macd/
- Schaff Trend Cycle: https://www.luxalgo.com/library/concept/schaff-trend-cycle/

---

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