WhitmanTrading

What Is the Volume Flow Indicator?

Volume flow indicator accumulates volume signed by price direction, but discards bars whose move was smaller than a volatility-based threshold and caps unusually large volume. The filtering is meant to leave only decisive participation, and the thresholds that decide what counts are set by the author.

What Is the Volume Flow Indicator? — illustrated on a chart Watch: Volume Flow Indicator (LazyBear) Tutorial

Most volume indicators count every bar. The volume flow indicator throws some away, and the argument for it rests entirely on whether the bars it discards were worth discarding.

How it works

A price series with volume weighted by direction.
The volume flow indicator weights volume by direction. Illustrative chart - not real market data.

Start with signed volume. If the typical price rose against the previous bar, that bar’s volume counts positive; if it fell, negative.

A steady series where small bars are discarded.
It cuts out bars that barely moved. Illustrative chart - not real market data.

Then apply a cutoff. Bars whose move is smaller than a threshold — derived from recent volatility — contribute nothing at all, on the reasoning that a tiny move on any volume is not a decision.

A rising series where only decisive bars accumulate.
So only decisive bars count. Illustrative chart - not real market data.

And cap the outliers. Volume far above its recent average is trimmed, so one extraordinary bar cannot dominate the whole accumulation.

A falling series where the indicator still cannot see participants.
And it still cannot see who traded. Illustrative chart - not real market data.

Why the filtering is the whole idea

A choppy series where most bars are filtered out.
The thresholds are choices, not findings. Illustrative chart - not real market data.

On-balance volume counts everything. A bar that closed a fraction higher adds its entire volume, which means a long sideways stretch accumulates a large number that means nothing.

A slow series where the accumulation drifts over time.
And different again over a long horizon. Illustrative chart - not real market data.

The cutoff is a real improvement on that. Requiring a minimum move before volume counts removes the accumulation that comes from noise rather than from anybody deciding anything.

A calm series where almost nothing registers.
A quiet stretch hides what it measures. Illustrative chart - not real market data.

But the threshold is a parameter. Set it high and almost nothing counts; set it low and you are back to on-balance volume. Nothing in the market determines where it should sit.

A worked example

Take this site’s shared series. The median bar range is 0.493, the tenth percentile is 0.17, and the ninetieth is 1.101.

A threshold near the median discards roughly half the bars. Everything below 0.493 contributes nothing, so the indicator is built from the larger half of the distribution.

A falling series with a stop level marked.
A stop fills where the market is. Illustrative chart - not real market data.

Move the threshold to the tenth percentile of 0.17 and almost every bar counts again — the filtering stops filtering, and the output converges toward on-balance volume.

Move it to the ninetieth at 1.101 and only one bar in ten registers, making the line jump between long flat stretches. The same indicator, on the same data, produces three different pictures.

What volume can and cannot tell you

Every trade has a buyer and a seller. Volume is a count of shares that changed hands, not a measure of which side was keener — by construction, both sides are equal.

So “buying volume” describes the price, not the participants. A bar that rose on heavy volume means a lot of ownership changed at rising prices, which is a narrower claim than it sounds.

The defensible reading is about establishment. A price reached on heavy volume has more agreement behind it than one reached on almost no trading, and is therefore less likely to be revised immediately.

That is genuinely useful and considerably smaller than most volume indicators imply. Any tool described as showing “institutional accumulation” is claiming to see something the data does not contain — the tape does not label its participants.

The original data

On this site’s shared series: median bar range 0.493, tenth percentile 0.17, ninetieth percentile 1.101, largest bar 2.338. A round trip costs 0.0098, about 2% of the median bar range.

That 0.17-to-1.101 spread is what the threshold is cutting through. The distribution is wide, so where the cutoff sits changes which market you are measuring rather than merely how sensitively.

A candlestick chart annotated with the cost of a round trip.
A round trip costs a share of a bar. Illustrative chart - not real market data.

And direction runs average 2.01 bars with a longest of 11, which limits what any accumulation indicator can deliver — a measure built to identify persistent pressure is describing a market that usually does not persist.

A price series with volume shown beneath.
Volume and price measure different things. Illustrative chart - not real market data.

How it compares

Against on-balance volume, VFI is the same idea with a noise filter and an outlier cap. Strictly more considered, and with two more parameters to get wrong.

Against Chaikin money flow, the difference is where in the bar the weighting comes from — Chaikin uses the close’s position within the bar’s range, VFI uses the change between bars.

Against accumulation-distribution, similar again: all three sign volume by some measure of direction and accumulate it, differing in how direction is defined.

Which is why running several of them is not confirmation. They share inputs and differ in arrangement, so agreement between them is close to automatic and tells you nothing independent.

What the parameters actually are

The cutoff coefficient sets how large a move must be before its volume counts, expressed as a multiple of recent volatility rather than a fixed price amount, so it adapts across instruments.

The volume cap trims bars whose volume exceeds a multiple of its own recent average, stopping one extraordinary session from dominating a running total for months afterwards.

And the smoothing length averages the result, which is what makes the plotted line readable rather than a spiky mess.

Three parameters is three opportunities to fit the past. Each has a defensible purpose and none has a correct value, so any published “best settings” is somebody’s preference repeated until it looked like a standard.

When it fails

The characteristic failure is reading the accumulation line as a record of who was buying. The line rises, the interpretation is that institutions were accumulating, and a position is taken on that belief. What the line actually recorded is that prices rose on bars with meaningful volume — which is the same information the price chart already showed, re-expressed. No volume indicator can identify a participant, because the data feed does not carry that; treating a signed-volume total as a window into institutional behaviour is reading intent into arithmetic.

A candlestick series with a gap through a level.
A gap skips the level entirely. Illustrative chart - not real market data.

A second failure is optimising the threshold on past data, which fits the filter to a period rather than testing it.

A third is comparing the absolute value across instruments. It is a running total, so its level depends on where the calculation started.

A fourth is stacking it with OBV or Chaikin and treating their agreement as independent evidence.

A declining series cut short at a decision point.
The line is rising. Who was buying? Illustrative chart - not real market data.

And a fifth is expecting it to lead price. It is computed from price and volume, so it cannot contain information that neither of them had.

On-balance volume covers the unfiltered version this improves on. Volume analysis covers what volume can honestly support. And WaveTrend covers another widely used indicator from the same author.

What I actually do

The filtering idea here is genuinely better than plain on-balance volume, which counts a bar that moved a hundredth of a point the same as one that moved a full range. What it cannot fix is the thing underneath: every trade has a buyer and a seller, so ‘buying volume’ is a description of the price, not a count of buyers.

— Michael Whitman, from this video

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