Senzoukria · Indicators

Volume per Level Indicator: Formula, Settings and How to Read It

Volume per Level measures the density of a bar's auction: the bar's volume divided by the number of distinct price levels that actually traded. High values mean each price was worked heavily; low values mean price slipped from level to level without much business at any of them.

Updated September 2026First published 17 September 2026

On this page
  1. What Volume per Level measures
  2. The formula, as implemented
  3. How to read it
  4. Parameters and defaults
  5. What it does not show
  6. Related indicators
  7. This page in other languages
  8. Frequently asked questions

Volume per Level — Volume, in its own panel below the chart.

What Volume per Level measures

The numerator is the sum of buy and sell volume across the bar's levels rather than a separate bar-total field, so numerator and denominator are built from exactly the same set of levels and a level discarded as unusable cannot skew the average. The denominator counts prices that genuinely printed, not the span between high and low, so an untraded gap inside a bar is simply absent rather than counted as a level that failed to trade. A bar with no usable levels returns nothing instead of dividing by zero. It is the complement of an effort-versus-result reading built on volume divided by range: here the denominator is prices touched, not distance covered.

The formula, as implemented

This is not how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:

Volume moyen par niveau de prix : value = Σ (buy + sell) des niveaux / nombre de niveaux distincts Le numérateur est le volume barre AU SENS DU CANON (Σ des niveaux), pas le champ `totalVolume` : numérateur et dénominateur doivent porter sur le même ensemble de niveaux, sinon un niveau écarté (qty = 0, prix non fini) fausse la moyenne. POURQUOI : c'est la densité de l'enchère. Élevé = chaque prix a été lourdement travaillé (marché en équilibre, liquidité épaisse) ; faible = le prix a glissé de niveau en niveau (marché fin, mouvement peu coûteux). Complète `effort-vs-result` (volume / range) : ici le dénominateur est le nombre de prix RÉELLEMENT traités, pas l'amplitude — les trous ne comptent pas. 0 niveau → null (division par zéro = pas d'information).

How to read it

  • High density describes an auction in balance — repeated business at each price, which is what a developing value area looks like from the inside.
  • Low density describes cheap movement: price travelled through levels holding little liquidity, common on impulses and in thin overnight trade.
  • Density dropping sharply as price leaves a range, with no drop in total volume, means the same business is being spread over many more prices.
  • Density rising while range compresses is the signature of a market settling at a price rather than exploring away from it.
  • Compare density within one instrument only: tick size and the typical level count per bar make the absolute figure meaningless across markets.

Parameters and defaults

There is no analytical parameter to tune — the ratio is fully determined by the bar's own levels. Only the plot color and a smoothing window are exposed, the latter at 1 by default for the raw per-bar value. Smoothing up to 200 bars converts the series into a slow reading of liquidity conditions, at the price of hiding the individual thin bar.

Volume per Level — parameters exposed in the app, with the values it ships with.
ParameterTypeDefaultRange
Smoothingnumber11 – 200

What it does not show

The value depends entirely on per-level data being present and complete. If the feed delivers aggregated trades instead of level detail, or drops prints during a burst, the level count is understated and density is overstated. It cannot distinguish a price worked heavily by two participants from one worked by two hundred; Trade Count answers that. It carries no direction, since identical density accompanies accumulation and distribution. It also shifts with tick size changes and contract rolls, which change the typical level count for the same instrument.

Browse all indicators

This page in other languages

Frequently asked questions

What does volume per level tell you that volume alone does not?
How concentrated the trading was. Two bars can carry the same total volume while one traded it across a handful of prices and the other across dozens: the first is a tight auction, the second a market moving through thin liquidity. Volume per level makes that ratio explicit.
Why is volume per level low during fast moves?
Because price travels through many levels while total volume grows more slowly, so the same business is divided over a larger number of prices. Low density on an impulse means the move met little resting liquidity, which is a statement about the book, not about how far price will continue.
Does volume per level use the bar's range or the levels that traded?
The levels that actually traded. Prices inside the bar's range that printed nothing are not counted, so gaps do not deflate the average. That is what separates it from ratios built on volume divided by high minus low, which measure distance rather than participation.
NEXT

Keep reading