Absorption Markers Indicator: Formula, Settings and How to Read It
Absorption Markers is a footprint chart overlay that draws an arrow on a bar when one price level takes an unusually large share of the bar's total volume while price fails to move past that level. It flags the classic absorption pattern: heavy aggression on one side, no extension in that direction.
Senzoukria · Indicators · Updated September 2026
Absorption Markers ships with the Senzoukria desktop app, in the Tape & flow group of the indicator catalogue. It is drawn on the price chart.
What Absorption Markers measures
Every traded level in the bar is tested against the bar's total volume, not against one side's total. A level qualifies as buy absorption when its buy volume reaches the threshold share of total bar volume (40% by default) and the bar's high stayed within the tolerance distance of that level (2 ticks by default); sell absorption is the mirror test against the bar's low. Bars that traded at a single price are excluded by design, because high equals low equals that price and the containment test would pass at every level. The arrow direction encodes the reading rather than the aggressor: absorbed buying near the high draws a down arrow, absorbed selling near the low draws an up arrow, and the default colors follow that bias.
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:
Marqueurs d'ABSORPTION — heuristique canon du skill, variante « % du volume total de la barre » (documentée ici, cf. en-tête) : absorption ACHETEUSE en P ssi buy(P) ≥ (threshold / 100) × volume TOTAL de la barre ET bar.high ≤ P + toleranceTicks × tick absorption VENDEUSE en P ssi sell(P) ≥ (threshold / 100) × volume TOTAL de la barre ET bar.low ≥ P − toleranceTicks × tick GARDE OBLIGATOIRE `unique_levels ≥ 2` (skill, section Absorption) : sur une barre à un seul niveau, high = low = P et la formule est trivialement vraie — aucun marqueur n'est émis. POURQUOI : le motif est « beaucoup d'agression d'un côté, et le prix n'avance PAS au-delà ». Un mur passif a mangé le flux. Absorption acheteuse près du high = les acheteurs ont payé sans obtenir de progression → flèche BASSE (lecture baissière) ; absorption vendeuse près du low → flèche HAUTE. Les couleurs par défaut suivent cette lecture (buy absorbé = rouge), pas le côté agresseur — la couleur dit le biais, pas qui a cliqué. Défauts : threshold = 40 % du volume TOTAL de la barre (seuil plus exigeant qu'il n'en a l'air : un seul niveau qui pèse 40 % de TOUTE la barre est déjà une anomalie ; le référentiel « total barre » est plus stable que « total du côté » d'`absorption-score`, qui se déclenche facilement quand un côté est maigre) ; toleranceTicks = 2 (l'extrême du canon : 1-2 ticks). Tick size inconnu → AUCUN marqueur : la tolérance est définie en ticks.
How to read it
- Read the arrow as a statement about the bar that just closed, not as an instruction: heavy aggression arrived at that level and price did not extend beyond it.
- A down arrow near the high means buyers paid up into a level and got no progress; an up arrow near the low means sellers hit a level without pushing price lower.
- Where the marker sits matters as much as the marker: absorption at the edge of a range is a different situation from absorption in the middle of a trend leg.
- A single marker says little on its own. Repeated markers at the same price across several bars describe a level that keeps holding, which is the more usable observation.
- If the next bars extend straight through the marked level, treat the absorption as failed and stop referencing it.
Parameters and defaults
Threshold is a percentage of the bar's total volume and defaults to 40%, which is more demanding than it looks: one level carrying 40% of everything a bar traded is already an outlier. Tolerance defaults to 2 ticks, so the level does not have to be the exact extreme of the bar; set to 0, it requires the level to be the high or the low itself. Buy and sell colors are configured separately because they label the directional reading, not the side that traded.
| Parameter | Type | Default | Range |
|---|---|---|---|
| Threshold (% of bar volume) | number | 40 | 5 – 100 |
| Tolerance (ticks) | number | 2 | 0 – 10 |
What it does not show
The marker proves that volume concentrated at a level and that price stopped there; it does not prove a passive order sat at that level, and it cannot tell you the size of what was resting. The tolerance is defined in ticks, so no markers are produced when the instrument's tick size is unknown to the chart. Absorption is only confirmed once the bar has closed, so the marker appears after the fact and the level may already have been left behind. Coarse bar intervals hide the pattern by merging the stall and the breakout into a single bar.
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
- Tape Speed — Tape & flow
- Diagonal Imbalances — Tape & flow
- Stacked Imbalances — Tape & flow
- Absorption Score — Tape & flow
- Unfinished Auctions — Tape & flow
- Effort vs Result — Tape & flow
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 does an absorption arrow on a footprint chart mean?
- It means one price level in that bar absorbed a large share of the bar's total volume while price failed to travel past it: buy volume concentrated at the high without an extension higher, or sell volume concentrated at the low without an extension lower. The arrow describes what happened in the closed bar and makes no claim about the next one.
- Why is buy absorption drawn in red instead of green?
- Because the color encodes the directional reading rather than who traded. Buying that gets absorbed at the high is buyers paying without getting progress, which is a bearish observation, so it uses the bearish color by default. Both colors can be changed in the indicator settings.
- What threshold should I set for absorption markers?
- The default is 40% of the bar's total volume. Lowering it produces more markers, including ordinary bars where volume simply clustered around one price; raising it restricts markers to levels that dominated the whole bar. Check any change on the instrument and bar interval you actually trade, since volume distribution per bar differs widely between them.