WhitmanTrading

What Is Chaikin Money Flow?

Chaikin Money Flow scores every bar from +1 to −1 by where the close sat between the high and the low, multiplies each score by that bar's volume, and averages the result over 20 bars. The previous close is not in the formula, so gaps are invisible to it.

What Is Chaikin Money Flow? — illustrated on a chart Watch me read volume against price (14:00)

Marc Chaikin’s idea was that where a bar closes inside its own range says who won it. The idea is sound and the implementation has one hole in it worth an entire section.

How it works

A candlestick chart with a bar that closed near its high marked and scored.
A close at the high scores plus one, at the low minus one. Illustrative chart - not real market data.

Score every bar by where it closed inside itself:

multiplier = ((close − low) − (high − close)) / (high − low)

Close at the high and that is +1. Close at the low, −1. Close in the middle, zero. On this chart the strongest bar scored +0.96.

A candlestick chart with an oscillator panel oscillating around zero beneath it.
Where the close sat in each bar, weighted by that bar's volume.

Multiply each score by that bar’s volume, sum over 20 bars, divide by the volume over the same 20. The result runs between +1 and −1 and is usually somewhere near zero.

The gap it cannot see

A price chart with a bar that opened far below the previous close and then closed at its own high.
It opened 0.75 below the last close and scored +0.94.

Read the formula again and notice what is missing: the previous close.

Every input is from inside the current bar. So a bar that gapped down 0.75 below the previous close and then recovered to finish at its own high scores +0.94 — near-maximum buying pressure, on a bar where anyone holding overnight lost money before it opened.

That is not an edge case, it is every earnings reaction and every weekend gap. On daily stock charts, the most informative single event on the chart is the one this indicator is structurally unable to register.

It is fine on a continuous intraday market, where consecutive bars genuinely touch. That restriction is the honest scope of the tool and it is rarely stated.

Compared with On Balance Volume

Both fold volume into a line and both have a blind spot, in opposite places.

OBV only looks at the previous close — it compares this close with the last one and ignores everything about the bar’s shape. A tick higher counts the whole volume as buying.

Chaikin Money Flow only looks inside the bar — it grades the close against the high and the low, and ignores where the bar started relative to yesterday.

So each sees exactly what the other misses. Running both is genuinely two measurements rather than one twice, which is unusual on this site and worth saying when it is true.

The zero line

The oscillator panel with the zero line marked and its crossings visible.
Above zero or below it — crossed three times here.

Above zero means bars have been closing in the upper half of their ranges, on volume. Below, the lower half.

Three crossings on this chart, which is a workable rate. The ±0.05 lines some platforms draw are a convention for “meaningfully away from zero” and have no more basis than CCI’s ±100.

The reading people run it for

Price making a higher high while the Chaikin Money Flow reading falls.
A higher high in price on a weaker reading.

Price went from 101.10 to 101.55 — a higher high. The reading went from 0.12 to −0.10, crossing below zero into the new high.

The story: bars were finishing in the lower half of their ranges even while the highs got higher, so the pushes were being sold into.

The honest status: a description that has to resolve. It is the same class of claim as every divergence on this site, and it is worth treating as a question rather than a signal.

The settings

The Chaikin Money Flow drawn over 20 bars and over 10.
Length 20 in blue, length 10 in amber.

One number: the averaging window, 20 by default.

A shorter window makes the line reach further from zero more often, which reads as more signal and is more noise — the trade every indicator here makes.

A worked example

Check the instrument gaps. Daily stocks gap; intraday futures mostly do not. That single question decides whether this tool is appropriate before anything else.

Look at which side of zero it has been on, not at the exact value.

Use a disagreement with price as a reason to look harder, and get the level and the invalidation from the price chart.

And pair it with OBV if you want the other blind spot covered — that is the one honest case on this site for running two volume tools at once.

The original data

Across our study of 24,971 trading videos, 48 cover Chaikin Money Flow. The median one gets 2,579 views, 96% never pass 50,000, and the median length is 8.0 minutes.

That 96% is the highest saturation measured for any indicator in this glossary — above Hull moving averages and position trading, both at 92%. Only forex or stocks, at a clean 100% on 28 videos, is worse anywhere on the site.

The corpus carries description text for 48 of those 48 — the entire field — and across all 48, zero mention invalidation, failure, or what a bad read looks like.

Forty-eight out of forty-eight, and not one of them mentions the gap.

When it fails

The gap, which is most of the page

Covered above and repeated because it is the failure that matters. A bar that opened 0.75 lower scored +0.94. On daily charts that is not rare, and the indicator reports it as strength.

Sideways it crosses zero constantly

A sideways chart with the reading crossing zero repeatedly.
Sideways: repeated zero crossings in a market going nowhere.

In a trading range the close lands in the upper half about as often as the lower, so the average sits near zero and crosses on noise.

A close in the middle scores zero however big the bar

A huge bar that finished at its midpoint contributes nothing, the same as a doji with no range at all. Size is in the volume weighting but not in the multiplier, and a violent indecisive session is recorded as an absence.

A narrow bar can score the maximum

The reverse of the same flaw. The multiplier divides by the bar’s own range, so a bar that moved almost nothing and happened to close at the top of that nothing scores close to +1 — the same as a bar that ran a full day and closed at its high.

On a quiet session that is a maximum reading produced by a market doing nothing at all, and because the average is volume-weighted rather than range-weighted, a quiet-but-busy bar carries real influence on the line.

You read the divergence once price had turned

The chart cut off with the reading fading and nothing after it.
The reading is fading. A warning, or a quiet week?

A fading reading before a top and a fading reading before a continuation are the same picture at the moment you have to act.

On Balance Volume is the complementary tool — blind where this one sees, and seeing where this one is blind.

Volume is the input both of them accumulate.

And candlesticks is where the underlying idea comes from: a close near the high of a bar means something, and that observation predates every indicator here.

What I actually do

I do not run this and the gap problem is the reason. On a stock chart with overnight sessions the thing I most want a volume tool to notice is exactly the thing this one cannot see, which is a market that opened somewhere completely different. Where I think it is genuinely good is intraday on a continuous market, because then there are no gaps for it to miss and the bar-position idea is a real observation.

— Michael Whitman, from this video

This page is educational, not financial advice. Test every idea on your own charts before risking money.