Volume Weighted Moving Average (VWMA)

An average of price where each bar counts by its volume, so the bars where most traded pull hardest. How AlgoLift computes it and how to use it.

IndicatorBy AlgoLiftUpdated 4 min read
On this page 12What it measuresFormulaInputs in AlgoLiftRecommended periodsOutputs in AlgoLiftHow to read itBest in, worst inThree setups1. VWMA against its SMA twin2. VWMA as a trend filter3. Pullback to the VWMACommon mistakes

TL;DR. The average of the last n prices with each bar weighted by its volume. Where the heavy volume traded at higher prices the VWMA sits above the plain SMA of the same length; where it traded lower, below it.

What it measures

  • Where the volume was, over a fixed window. A bar that traded ten times the volume of its neighbours counts ten times as much, so the line leans toward the prices the market actually accepted.
  • Agreement between price and participation. Compared with an SMA of the same period, the gap between the two says whether the window's volume came on the up bars or the down bars.
  • A rolling cousin of VWAP. VWAP weights every bar of the session since its anchor; a VWMA weights only the last n bars, so it never resets and never grows stale.

Formula

Inputs in AlgoLift

SettingDefaultRangeNotes
Period101 to 500Bars in the window. Each bar's weight is its own volume.
SourceCloseClose, Open, High, Low, HL2, HLC3, OHLC4Which price of each bar is averaged. Volume is always the bar's volume.
  • 10 to 20 (fast): Intraday trend lines and the fast line of a pair.
  • 50 (medium): A session-scale trend on 1 to 5 minute bars.
  • 100 to 200 (slow): Regime filters on intraday bars, where a single heavy bar should not move the line much.

Outputs in AlgoLift

HandleTypePlottedNotes
VWMANumericAlwaysThe volume-weighted average in price units, drawn over the candles. Comparable directly to price and to any other average.

How to read it

  • VWMA above the SMA of the same period: the window's heavy volume came at higher prices, buyers were the more active side.
  • VWMA below the SMA: the heavy volume came lower in the window, sellers were the more active side.
  • Price above a rising VWMA: price is above where most of the window's volume traded, an up state for this period.
  • A sudden jump in the line: one bar with outsized volume entered the window. The line jumps back when that bar leaves it, n bars later.
Common Misconception
Myth
A VWMA is the same as VWAP.
Reality
VWAP accumulates every bar from its anchor (usually the session open), so it gets slower as the day goes on and resets the next day. A VWMA always weighs the last n bars only, at any time of day.

Best in, worst in

Best in liquid markets where volume carries information: index and energy futures, large-cap stocks during regular hours.

Worst in thin overnight sessions and around the open and close, where volume is lopsided by the clock rather than by conviction. A single auction print can dominate a short window.

Three setups

1. VWMA against its SMA twin

Add a VWMA(20) and an SMA(20) and a Crossover node reading them: VWMA crossing above the SMA for longs (volume shifting to the up bars), below for shorts. Gate it with a slower trend filter so it trades with the trend only.

2. VWMA as a trend filter

Compare price with a VWMA(100) through a Comparison node and AND it into another entry. Longs only above the line, shorts only below it.

3. Pullback to the VWMA

In an uptrend (VWMA(50) above its value a few bars ago, through a Bars Ago modifier), enter long when price returns to within one ATR of the line, with a stop below it through Set Stop Loss.

Common mistakes

  • Reading it on a series without volume. No volume, no value: the line stays empty.
  • Mixing sessions. A window that spans the overnight and the regular session weighs the regular hours far more. On a 24-hour instrument, compare like with like.
  • Tuning the period too finely. A rule that works at VWMA(21) and fails at 20 or 22 has found noise. Sweep a range and look for a plateau (overfitting in trading).
Key Takeaway

A VWMA is an SMA where each bar counts by its volume: the gap between the two says where the window's trading happened.