Chaikin Money Flow (CMF)

A bounded volume oscillator measuring buying vs. selling pressure over a fixed lookback. Reads on a −1 to +1 scale — comparable across instruments.

Updated 2026-05-24
7 min read
intermediate

A bounded volume oscillator that measures buying vs. selling pressure over a fixed lookback (default 20 bars). Computed from the same Money Flow Volume as the A/D Line, but normalized — produces readings between roughly −1 and +1, making CMF readings directly comparable across instruments.

On confirmation tools

CMF is a confirmation indicator. Its readings validate or invalidate the strength of price moves; rarely do they fire trades by themselves. Use it as a filter for price-based signals, especially for breakouts and trend continuations.

Placeholder · Video / Clip

CMF(20) on MES daily — selling-to-buying-pressure transition

Author hint: MES daily, ~120-bar window. CMF(20) in sub-panel oscillating between roughly -0.4 and +0.4, with horizontal reference lines at 0 and ±0.2. Show one transition from negative (selling pressure) to positive (buying pressure). ≤ 10 seconds, no audio. Save to /public/images/guide/indicators/cmf/chart.mp4.

What it measures

  • Net buying vs. selling pressure over the lookback. Positive = accumulation dominating; negative = distribution dominating.
  • Normalized scale. Bounded oscillator-style — CMF readings on MES and AAPL are directly comparable in a way OBV or A/D Line values aren't.
  • Slow-moving confirmation. Less reactive than per-bar volume; smooths out noise to reveal sustained accumulation/distribution.

Formula

How AlgoLift computes it

For each bar inside the lookback:

CLV[i] = ((Close − Low) − (High − Close)) / (High − Low)
Money Flow Volume[i] = CLV[i] × Volume[i]

Then:

CMF = sum(Money Flow Volume over period) / sum(Volume over period)

The numerator is the same calculation as A/D Line's per-bar money flow. The denominator normalizes by total traded volume, producing a ratio between −1 and +1 (in practice, almost always between −0.5 and +0.5).

The bounded scale is what differentiates CMF from A/D Line. A/D Line drifts indefinitely; CMF resets every bar to a fresh −1 to +1 reading.

Developed by Marc Chaikin.

Inputs in AlgoLift

SettingDefaultRangeNotes
Period201–200Lookback for summing money flow and volume. Standard is 20 or 21 (one trading month).

Recommended periods

  • 10 (fast): Short-term flow detection.
  • 20 (default): Chaikin's recommendation — one trading month.
  • 21: Equivalent — also common.
  • 50: Slower — emphasizes only major flow shifts.

Outputs in AlgoLift

HandleTypePlottedNotes
CMF ValueNumericAlwaysThe oscillator. Roughly −0.5 to +0.5 in practice.
SlopeNumericOn selectRate of change. Useful for spotting flow shifts before CMF crosses zero.
Money Flow VolumeNumericOn selectPer-bar raw money flow — same calculation as A/D Line's input.
DirectionNumericOn selectBinary: 1 when CMF > 0 (bullish flow), −1 when CMF < 0.
Placeholder · Screenshot

CMF node — default state

Author hint: The CMF node on a fresh canvas with default Period=20. All four output handles labeled. Dark theme. Tight crop. Save to /public/images/guide/indicators/cmf/node.png.

How to read it

  • CMF > +0.2: Sustained buying pressure — accumulation regime.
  • CMF < −0.2: Sustained selling pressure — distribution regime.
  • CMF between −0.05 and +0.05: Neutral — neither flow side is dominant.
  • CMF crossing zero: Net flow has flipped direction — confirmation of a trend transition.
  • CMF rising while above zero: Buying pressure is intensifying.
  • CMF falling from a high level while still positive: Buying is fading even though net flow is still positive — early warning of a transition.

The ±0.2 thresholds are loose conventions, not strict rules. Strong-flow instruments may see CMF readings above +0.3 sustained; weaker-flow ones may rarely cross ±0.1.

Key Takeaway

CMF is the normalized, bounded cousin of A/D Line. The bounded scale makes it directly comparable across instruments — perfect for portfolio-level analysis or cross-symbol filters. The fixed lookback gives steady readings rather than the drifting cumulative sums of OBV and A/D Line.

Best in / worst in

Best in sustained-flow regimes where buying or selling pressure persists over many bars. Excellent for medium-term confirmation of trends and as a portfolio-level relative-strength indicator across multiple instruments.

Worst in very-short timeframes where the 20-bar lookback creates significant lag, and in instruments with frequent gaps that distort the CLV calculations.

Three confirmation patterns

1. Trend confirmation via Direction output

Use CMF's Direction (1 / −1) as a binary flow-regime flag for price-based strategies.

  • Long-only mode: CMF Direction = 1 (positive flow) — price strategies permitted to take longs only.
  • Short-only mode: CMF Direction = −1 — short entries only.

A clean no-tuning regime gate that runs in parallel with other systems.

Placeholder · Screenshot

CMF Direction as a regime gate

Author hint: Node graph showing CMF Direction output feeding two parallel comparisons (=1 and =-1) that gate two Entry nodes for long-only and short-only modes. Save to /public/images/guide/indicators/cmf/setup-01.png.

2. Breakout confirmation with flow strength

Filter breakouts by CMF magnitude.

  • Valid upside breakout: Price closes above a 20-bar high AND CMF > +0.15 (strong buying flow).
  • Valid downside breakout: Symmetric with CMF < −0.15.
  • Failed/suspect breakout: Price breaks but CMF is weak (within ±0.05) → skip.

The magnitude check eliminates breakouts happening without underlying flow support.

3. Divergence as a reversal warning

When price makes new extremes but CMF doesn't, flow is fading.

  • Bearish divergence: Price's 20-bar high > price's 20-bar high from 20 bars ago AND CMF's 20-bar high < CMF's 20-bar high from 20 bars ago.
  • Bullish divergence: Symmetric for lows.

Wire via BarsAgo Modifier comparisons. Pair with a range-regime filter (KAMA ER < 0.3) — divergence in range markets means reversal; divergence in trends often just means flow is consolidating.

Advanced patterns in AlgoLift

CMF for cross-instrument relative-strength. The bounded scale means CMF readings are comparable across symbols. Compute CMF on multiple instruments via separate Data Source nodes — trade the strongest 2-3 (highest CMF) long and weakest 2-3 (lowest CMF) short. A momentum-rotation pattern that uses flow rather than price as the ranking metric. See strategy correlation.

CMF Direction in Conditional Flow. Route the strategy between long-bias and short-bias sub-logic based on CMF Direction. Single graph adapts to current flow regime.

CMF + ADX combo for high-conviction trend entries. ADX > 25 confirms a trend is strong; CMF > +0.15 (or < −0.15) confirms the flow is real. Requiring both produces fewer but much higher-conviction entries.

Money Flow Volume slope for scale-in timing. Per-bar Money Flow Volume tells you instantaneous flow. Sustained positive flow (use a Tally over the last N bars) signals fresh accumulation — a good time to scale into a winning long.

Common mistakes

  • Treating CMF and A/D Line as identical. They share inputs but produce different signals. A/D Line drifts (great for divergence over weeks); CMF resets each bar (great for current-regime classification).
  • Using too-tight thresholds. Setting "CMF > 0" as a long signal is too sensitive — flow oscillates around zero constantly. Use ±0.1 or ±0.15 as practical thresholds.
  • Trading CMF alone. It's a confirmation tool. Without a price-based primary signal, CMF rarely produces tradable edges.
  • Ignoring divergence direction. CMF divergence works similarly to OBV divergence but is more reliable on shorter timeframes due to the bounded scale.
Common Misconception
Myth
CMF measures dollar volume flowing into or out of an instrument.
Reality
CMF measures the *ratio* of CLV-weighted volume to total volume — not dollar-denominated flow. A reading of +0.3 doesn't mean 30% more dollars went in than out; it means the volume-weighted average bar closed roughly 30% into the upper half of its range. The interpretation as 'money flow' is metaphor, not arithmetic.