Imbalance Levels Indicator: Formula, Settings and How to Read It

Imbalance Levels counts how many distinct price levels inside a footprint bar are diagonally imbalanced. A level that is imbalanced on both sides at the same time counts once, because the question being answered is how many prices were out of balance, not how many flags were raised.

Senzoukria · Indicators · Updated September 2026


Imbalance Levels ships with the Senzoukria desktop app, in the Tape & flow group of the indicator catalogue. It is drawn in its own panel below the chart.

What Imbalance Levels measures

The diagonal test is the standard one: a buy imbalance at a price requires its buy volume to reach k times the sell volume one tick below and to meet the minimum quantity, and the sell imbalance mirrors it one tick above. The count is the number of prices carrying at least one of the two flags. That choice makes the series directly comparable with the number of price levels in the bar: four imbalanced levels out of five is a bar where aggression dominated nearly every price, while four out of forty is noise. The value is omitted rather than set to zero when the instrument's tick size is unavailable, since the diagonal cannot be located without the grid.

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:

Nombre de NIVEAUX en imbalance diagonale dans la barre. Formule canon exacte via `diagonalImbalances` : buy_imb(P) ssi buy(P) ≥ k·sell(P − 1 tick) ET buy(P) ≥ min_qty sell_imb(P) ssi sell(P) ≥ k·buy(P + 1 tick) ET sell(P) ≥ min_qty avec les gardes canoniques (pas de check buy sur la 1ʳᵉ ligne, pas de check sell sur la dernière, référence à P − tick_size sur les barres creuses). Convention DISTINCTIVE : un niveau portant les DEUX flags compte pour 1 — on compte des NIVEAUX déséquilibrés, pas des flags. C'est ce qui sépare cet indicateur d'`imbalance-count` (tape.ts), qui somme les flags (ce niveau y vaut 2) et sort en ligne. Même barre, deux lectures : « combien de prix sont déséquilibrés » ici, « quelle est la charge d'imbalance » là-bas. POURQUOI : compter les niveaux donne une mesure directement comparable au nombre de niveaux de la barre (`level-count`) — 4 niveaux déséquilibrés sur 5 est une barre d'agression franche, 4 sur 40 est du bruit. Défauts k = 3 (300 %) et min_qty = 10 : les défauts canoniques du skill — la garde min_qty est ce qui empêche toute diagonale vide (k·0 = 0) de marquer la barre entière. Tick size inconnu → PAS de point : la diagonale exige la grille de l'instrument, et 0 serait un mensonge.

How to read it

  • Always read the number against the bar's level count. The ratio of imbalanced levels to total levels is the information; the raw count on its own scales with bar height.
  • A bar where most levels are imbalanced describes aggression that persisted as price moved through the range, rather than a single dominant price.
  • A low count on a high-volume bar points the other way: the volume concentrated on a few prices where neither diagonal dominated.
  • Watch how the count behaves at the edges of a range. Repeated low readings at a level that price keeps testing describe orderly two-sided trading there.
  • When this count sits below the Diagonal Imbalances value, some prices carried both flags at once: they beat the level below on the buy side and the level above on the sell side within the same bar.

Parameters and defaults

Ratio k defaults to 3 and the minimum quantity to 10, the same canonical pair used by the other diagonal indicators so the two readings stay consistent. Because the output is bounded by the bar's level count, tightening k mostly lowers the ratio of imbalanced levels to total levels rather than changing the shape of the series; the minimum quantity works the other way, removing levels whose absolute size was too small for the ratio to carry meaning, which matters most on thin instruments. Plot colour is the third setting.

Imbalance Levels — parameters exposed in the app, with the values it ships with.
ParameterTypeDefaultRange
Ratio knumber31 – 20
Min qtynumber100 – 10000

What it does not show

The indicator identifies which prices were imbalanced but not where they sat in the bar or whether they were adjacent, so it cannot distinguish a scattered set of imbalances from a stack; the Stacked Imbalances marker exists for that. It gives no direction, since buy and sell flags are merged into one count. It needs per-level footprint data and the instrument's tick size, and it produces no value when either is missing. In illiquid periods the ratio test can be satisfied by very small quantities, which the minimum quantity guard only partly mitigates.

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.

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

Why does a level imbalanced on both sides count only once here?
Because this indicator counts prices, not flags. A level with both a buy and a sell imbalance is still one price that was out of balance, so counting it twice would break the comparison with the bar's total number of levels. The Diagonal Imbalances indicator applies the other convention and counts each flag, which is why the two series can differ on the same bar.
How many imbalanced levels is a lot?
There is no absolute number, because the count is bounded by how many price levels the bar contains. Divide the count by the bar's level count and compare bars of similar height in the same session. A bar where most of its levels are imbalanced is unusual; the same absolute count on a bar three times as tall is not.
Can the count be compared between two instruments?
Only loosely. How many levels a bar contains depends on the instrument's tick size and on how far price travelled, so an identical count describes different structures on a futures contract and on a crypto pair with a much finer grid. Dividing by the bar's level count first makes the comparison usable, and even then the ratio test behaves differently on a thin book than on a deep one.

Keep reading