Relative Volume Indicator: Formula, Settings and How to Read It
Relative Volume expresses a bar's volume as a multiple of its recent normal: the bar's quantity divided by the simple moving average of the previous N bars. A reading of 1.0 means the bar traded a typical amount, 2.0 means it traded twice its recent average.
Senzoukria · Indicators · Updated September 2026
Relative Volume ships with the Senzoukria desktop app, in the Volume group of the indicator catalogue. It is drawn in its own panel below the chart.
What Relative Volume measures
The denominator is deliberately backward-looking. The average covers bars i-N to i-1, so the bar being measured is excluded from its own reference and an unusually large bar cannot inflate the baseline it is compared against — which is exactly the case where the ratio matters. Until N complete bars exist before the current one the series returns nothing rather than a partial average, and a window whose average volume is zero also returns nothing rather than dividing. With the default period of 20, the ratio answers one narrow question: how does this bar compare with the last twenty of the same size on the same instrument?
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:
Volume relatif = volume / SMA_N(volume) — 1.0 = volume « normal », 2.0 = double de la moyenne. La SMA porte sur les N barres PRÉCÉDENTES (fenêtre [i−N, i−1]) : la barre courante ne dilue pas sa propre référence. Warm-up (< N barres avant i) ou SMA nulle → null. Défaut N=20, référence usuelle du relative volume.
How to read it
- Treat 1.0 as the neutral line and read distance from it; the absolute quantity behind the ratio stays in the plain Volume series.
- Elevated readings locate the bars worth opening at level detail. They carry no direction of their own.
- A prolonged run below 1.0 describes participation drying up, which tends to accompany drift inside a balance rather than a break out of one.
- Compare the ratio at a level being retested with the ratio when that level was formed: the same price revisited at a much lower ratio was tested by fewer participants.
- The first N bars of a loaded series plot nothing. A gap at the left edge of the pane is the warm-up, not missing data.
Parameters and defaults
The SMA period defaults to 20 and accepts 1 to 500; only the line color is exposed besides it. A short period makes the baseline track recent conditions so closely that the ratio stays near 1.0 even through a genuine expansion in volume. A long period holds a stabler reference but keeps importing conditions from far outside the current session. On intraday charts the period counts bars, so its meaning in clock time changes with the timeframe.
| Parameter | Type | Default | Range |
|---|---|---|---|
| SMA period | number | 20 | 1 – 500 |
What it does not show
The ratio is blind to the intraday volume curve: on futures, the open and the cash close routinely trade far more than the bars around midday, so high readings cluster at predictable times and are not in themselves unusual. Across a session boundary it compares like with unlike, since the preceding N bars may come from a thin overnight period. It says nothing about direction, about initiative, or about where inside the bar the volume occurred. Rolls, contract changes and holiday sessions distort the baseline for a full N bars.
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
- Volume — Volume
- Buy/Sell Volume — Volume
- Average Trade Size — Volume
- Volume ROC % — Volume
- Trade Count — Volume
- Level Count — Volume
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 a good relative volume value to look for?
- There is no universal threshold. The ratio only compares a bar with the preceding N bars on the same instrument and timeframe, so what counts as elevated depends on that instrument's own volume profile and on the time of day. A ratio of 2 is a convenient filter because it means double the recent norm, but it is a convention, not a rule with a measured success rate.
- Does relative volume include the current bar in its average?
- No. The moving average covers the N bars before the one being measured, so a spike bar never raises the baseline it is divided by. Large readings therefore stay large instead of partly cancelling themselves, which is the practical difference from implementations that average through the current bar.
- Why does relative volume show nothing at the start of a chart?
- The ratio needs N complete bars before the current one to build its reference, so the first N bars of a loaded series return no value — twenty blank bars at the left edge with the default period. A window whose average volume is zero also returns nothing, because dividing by it would produce a figure with no reference behind it.