WhitmanTrading

Volume-Weighted Moving Average

A volume-weighted moving average multiplies each close by that bar's volume before averaging, so heavily traded bars pull the line further than quiet ones. Its distance from an ordinary moving average of the same period is the actual signal, because that gap says which bars carried the participation.

How it works

A candlestick chart with a volume histogram beneath it, with the volume histogram emphasised. The headline on the chart reads: An average that counts the busy bars more.
An average that counts the busy bars more. Illustrative chart - not real market data.

Every moving average on a chart weights bars by age. This one weights them by how much traded.

A candlestick chart of the site's shared price history. The headline on the chart reads: Each close multiplied by its own bar volume.
Each close multiplied by its own bar volume. Illustrative chart - not real market data.

Multiply each close in the window by that bar’s volume, add those products up, and divide by the total volume in the window. A bar that traded ten times the average pulls the line ten times as hard as an ordinary bar at the same distance back.

So the line is the average price at which the period’s trading actually happened, rather than the average of the prices the period happened to close at. Those are different questions, and only one of them involves anyone’s money.

The reading is the gap, not the line

A gently rising stretch of the long price series. The headline on the chart reads: The gap to the simple line is the whole reading.
The gap to the simple line is the whole reading. Illustrative chart - not real market data.

On its own the line tells you very little — it is a moving average, and it sits somewhere near price like all of them. Put a simple moving average of the same period on top and the distance between the two becomes readable.

A calmly advancing stretch of the long price series. The headline on the chart reads: Above the simple line means the up bars carried the volume.
Above the simple line means the up bars carried the volume. Illustrative chart - not real market data.

Volume-weighted above simple means the higher-priced bars in the window were the busier ones. The advance had participation behind it. Volume-weighted below simple means the selling was where the volume was, whatever the closes did.

That is a genuinely independent piece of information, which is rare — most indicator pairs are two views of the same closes, as the confluence page sets out. This pair is price structure against participation, and those two can disagree.

A flat, quiet stretch of the long price series. The headline on the chart reads: A quiet bar barely moves it at all.
A quiet bar barely moves it at all. Illustrative chart - not real market data.

A dead bar is almost ignored. Overnight drift, a holiday session, the middle of a lunch lull — all of it enters the average with a weight close to zero, which is the behaviour most people want and few realise they are missing.

A strongly rising stretch of the long price series. The headline on the chart reads: And a heavy one drags it a long way.
And a heavy one drags it a long way. Illustrative chart - not real market data.

A single enormous bar can dominate the whole window. On an earnings day or an index rebalance, one bar’s volume can exceed the rest of the period combined, and the line becomes mostly a statement about that one bar.

Where the volume number comes from, and why it matters

A flat but volatile stretch of the long price series. The headline on the chart reads: On foreign exchange it weights tick count, not size.
On foreign exchange it weights tick count, not size. Illustrative chart - not real market data.

Spot forex has no central exchange, so there is no true volume figure. What the platform shows is tick volume — the number of price updates in the bar. That correlates with activity, and it is not size: a thousand one-lot updates and one thousand-lot trade look completely different to it.

So a volume-weighted average on forex is weighting by how often the price changed. It is not worthless — activity is real information — but it is not what the name implies, and anyone reasoning about “where the money traded” on a forex chart is reasoning about something the data does not contain.

A 72-bar candlestick section of the shared price history. The headline on the chart reads: And on crypto it weights one venue share of the total.
And on crypto it weights one venue share of the total. Illustrative chart - not real market data.

Crypto has the mirror-image problem: too many venues. The volume on your chart is one exchange’s volume, and the same asset trades simultaneously across dozens. The weighting is real but partial, and the share it represents changes over time.

Equities and futures are the clean case. Consolidated tape volume for stocks and exchange volume for futures are actual traded quantities, and this indicator does what it claims there.

A long-horizon candlestick view of the same price series. The headline on the chart reads: On a daily chart the two lines all but merge.
On a daily chart the two lines all but merge. Illustrative chart - not real market data.

On long timeframes the two lines converge. Aggregate enough bars and volume differences average out, so a 200-period volume-weighted average and a 200-period simple one tell you almost the same thing. The tool earns its place on shorter horizons where individual bars still differ a lot in size.

In practice: what to do with it

A candlestick series containing several opening gaps, with the largest opening gap marked. The headline on the chart reads: The opening bar carries the most volume of the day.
The opening bar carries the most volume of the day. Illustrative chart - not real market data.

The opening bar is usually the heaviest of the session, so on an intraday chart the line is disproportionately anchored to the open. After a gap that effect is stronger still, because the open is both the busiest bar and the one furthest from the rest of the window.

A declining stretch of the long price series, with the entry price and the level at which a stop would trigger drawn as horizontal lines. The headline on the chart reads: It is a confirmation tool, never a stop level.
It is a confirmation tool, never a stop level. Illustrative chart - not real market data.

Do not hang a stop on it. The line moves with volume as well as price, so it can shift materially on a bar where price hardly moved. A stop level that reprices for reasons unrelated to your thesis is not a stop, it is a coin flip with extra steps.

A candlestick chart of the site's shared price history, annotated with the round-trip cost. The headline on the chart reads: And acting on the divergence costs a share of a bar.
And acting on the divergence costs a share of a bar. Illustrative chart - not real market data.

And acting on every divergence costs 2% of a typical bar’s range in round-trip costs on this history. The gap between the two lines opens and closes constantly; treating each opening as a trade is a fast way to pay that fee many times for one idea.

What it is not

It is not the volume-weighted average price, VWAP. VWAP anchors at a session start and accumulates from there, so it is a fixed reference within the day. This is a rolling window that discards old bars, so it never has a starting point. Different tools, similar names, constantly confused.

It is not a volume indicator. It reports a price. Volume enters as a weight, and the output is still a level on the price axis — which is why it cannot replace reading the volume histogram itself.

It is not more predictive. It changes what the average is of. That is a better question, not a forecast.

And it is not comparable across instruments. Volume units differ — shares, contracts, ticks — so the size of the gap between the two lines means something different on each chart you put it on.

When it fails

A sideways, range-bound candlestick series. The headline on the chart reads: In a range the volume lands on both sides equally.
In a range the volume lands on both sides equally. Illustrative chart - not real market data.

In a range the two lines converge and stay converged. Heavy bars occur at both boundaries, so the volume weighting cancels out and the tool has nothing to report. Reading meaning into a gap of almost nothing is the main way people misuse it.

The second failure is one giant bar. A single session with ten times normal volume dominates the window for as many bars as the window is long, and the line spends that whole period describing one event rather than the period.

A third is trusting the volume figure without checking where it came from. Tick volume on forex, single-venue volume on crypto, and consolidated volume on equities are three different measurements wearing one label.

A fourth is using it on an illiquid instrument. When most bars have near-zero volume, a handful of bars carry the entire weight, and the line becomes jumpy in a way that looks like signal and is not.

And a fifth is expecting the divergence to resolve in a particular direction. The gap says which bars had participation. It does not say that price must move toward the volume-weighted line, and there is no mechanism that would make it do so.

The original data

The 576-bar shared history behind every chart on this site carries a volume series alongside price, and the median bar range is 0.49 against a close range of 98.19 to 105.45 — recorded in research/series-measurements.json. Those figures are what the 2% round-trip cost quoted throughout the site is computed against, and they are the same numbers every page here uses.

A 72-bar window of the shared price history, cut short at the decision bar. The headline on the chart reads: Price up, volume-weighted line below. Trust it?
Price up, volume-weighted line below. Trust it? Illustrative chart - not real market data.

The check worth running on your own instrument takes one afternoon: plot both averages at the same period and record the gap between them, in units of a median bar, over a year. If the gap is persistently smaller than a bar, the tool has nothing to add on that chart and you can take it off with confidence rather than by preference. That is a question you can answer with data instead of an opinion, which is more than most indicator decisions offer.

VWAP is the session-anchored version, and the difference between the two is the single most common confusion in this corner of charting. Volume explains what the weighting input actually measures. And simple moving average is the line you have to plot alongside this one for it to say anything at all.

What I actually do

This is the one indicator I kept on the chart after clearing everything else off, and not because it predicts anything. It answers one question I could not answer by eye - did the buying happen on the bars that mattered - and it answers it without me having to squint at a volume histogram.

— Michael Whitman

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