VWMA Indicator: Formula, Settings and How to Read It
VWMA (volume weighted moving average) divides the sum of close multiplied by traded volume over the last N bars by the sum of volume over the same bars. Senzoukria defaults to a 20-bar window and returns no value when the window holds no traded volume at all.
Senzoukria · Indicators · Updated September 2026
VWMA ships with the Senzoukria desktop app, in the Averages & volatility group of the indicator catalogue. It is drawn on the price chart.
What VWMA measures
The result is the volume-weighted mean close of a rolling window: a bar that traded ten times the volume of another counts ten times as much in the average. The weighting uses each bar's total traded volume, both sides combined, not the bid or the ask side separately. When total volume over the window is zero, which happens with placeholder bars that contain no trade, the indicator returns nothing rather than zero, because zero divided by zero is an absence of information and not a price. The same rule covers warm-up: fewer than N bars produce no value.
The formula, as implemented
This is not a description of how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:
VWMA : VWMA_N = Σ(close·totalVolume) / Σ(totalVolume) (fenêtre N) Σvolume = 0 sur la fenêtre (barres placeholder sans trade) → null : 0/0 n'est pas « 0 », c'est « pas d'information » (même règle que delta-%). Warm-up (< N barres) → null. Défaut N=20.
How to read it
- When the VWMA sits above a simple average of the same length, the heavier-volume bars of the window closed higher than the lighter ones; below, the opposite.
- A widening gap between VWMA and SMA points to volume concentrating on one side of the recent price range, and the footprint cells show where that volume actually printed.
- A hole in the line marks a window with no traded volume, not a flat market; read it as missing data.
- Do not treat the VWMA as a fair-value line for the session: it is a rolling window average with no session anchor.
Parameters and defaults
Period defaults to 20 within a 1 to 500 range. A short window lets a single high-volume bar dominate the average outright, a long one dilutes it across many bars. There is no volume threshold and no source selector: the calculation always uses the close and the total volume of each bar.
| Parameter | Type | Default | Range |
|---|---|---|---|
| Period | number | 20 | 1 – 500 |
What it does not show
VWMA is not VWAP. It has no session anchor, it is not cumulative, and it uses the bar close rather than a typical price. It cannot separate aggressive buying from aggressive selling, since both land in the same total volume figure, so a heavy bar weights the average identically whoever was hitting. On instruments or sessions with sparse trading the line can be dominated by one print or disappear entirely. Volume figures also depend on the market data you are subscribed to and on the contract being aggregated: a continuous contract or a multi-venue aggregation changes the weights.
Using it in Senzoukria
Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.
Related indicators
- WMA — Averages & volatility
- Hull MA — Averages & volatility
- ATR (Wilder) — Averages & volatility
- Bollinger — Averages & volatility
- Keltner — Averages & volatility
- Donchian — Averages & volatility
See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.
Frequently asked questions
- What is the difference between VWMA and VWAP?
- VWAP is anchored, usually to a session start, and accumulates every trade from that anchor onward, so it grows less sensitive as the session progresses. VWMA weights by volume inside a rolling window of N bars, 20 by default here, and forgets everything older. VWAP is generally computed on a typical price, whereas this VWMA uses the bar close.
- Why does my VWMA line show a gap?
- The window contained no traded volume, typically because of placeholder bars with no transaction. In that case the indicator returns no value rather than zero, so that a period without trading is not displayed as a price of zero. The line resumes as soon as the window contains volume again.
- Does VWMA separate buy volume from sell volume?
- No. It weights each bar by its total traded volume, aggressive buying and aggressive selling combined. To see which side was lifting or hitting, read the bid x ask cells of the footprint or a delta-based indicator. The VWMA only tells you where the heavy volume closed.