Guide · Absorption Levels + Absorption Premium
Absorption in order flow: what it is and how to mark it in NinjaTrader 8
Absorption is heavy aggressive buying or selling that resting limit orders take in full, so price fails to move in the aggressor's direction. Selling absorbed near a low is read as support and buying absorbed near a high as resistance, but neither tells you what price does next. You see it in the bid and ask volume of a footprint chart, and in NinjaTrader 8 you can mark it automatically from Order Flow+ data.
Updated · 6 min read · TapeCrest
What is absorption in order flow?
Every trade has two sides. The aggressive side sends a market order that trades at once, buying at the ask or selling at the bid. The passive side is a limit order resting in the book. Absorption is what you see when aggression is heavy and the passive side keeps taking all of it:
- Selling absorbed: sellers hit the bid again and again, resting buy orders fill it, and price stops falling. It is read as support.
- Buying absorbed: buyers lift the offer, resting sell orders fill it, and price stops rising. It is read as resistance.
The point is the mismatch between effort and result: a lot of volume, little progress. A bar that trades heavy volume at the bid and still closes well off its low shows sellers paying without price following.
How does absorption look on a footprint chart?
On a bid × ask footprint (how to read one), absorption usually shows as:
- a price, often at or near the bar's low or high, where one side traded several times the other's volume;
- a large sell at the bid in a bar that closes above it, or a large buy at the ask in a bar that closes below it;
- strong delta (ask volume minus bid volume) in one direction with little price change.
Absorption and an imbalance both start from lopsided volume. An imbalance says that one side traded far more; absorption adds that price did not follow through.
Where does absorption show in TapeCrest tools?
| Tool | What it marks | Data it needs |
|---|---|---|
| TapeCrest Absorption Levels | A line at each price where one side's volume reached your ratio over the other's | Order Flow+, Tick Replay for historical bars |
| TapeCrest Absorption Premium | An arrow where an absorption and its order-flow context reach your threshold | Order Flow+; Tick Replay for big trades on history |
| TapeCrest Footprint | A thicker ring on a large order whose bar closed against it | Order Flow+; Tick Replay for bubbles on history |
| TapeCrest Liquidity Heatmap | An ABS mark where a rare burst of aggressive volume met the book and the price still held three seconds later | Level II market depth |
Absorption Levels draws a horizontal line from the bar that formed it to the current bar: cyan-blue where aggressive selling was absorbed (support), orange where aggressive buying was absorbed (resistance). It records where heavy one-sided aggression met resting orders at a price; whether price then held is what the following bars show. Lines are drawn when a bar closes, never while it forms, and they stay after price trades through them; they leave by age or when the level cap is reached. Absorption Premium finds the heaviest absorption price of each bar in a similar way, weighs the context around it, and removes a level once price trades a set distance beyond it, 24 ticks by default.
How do you mark absorption with Absorption Levels?
- Make sure Order Flow+, the NinjaTrader entitlement that provides bid and ask volume by price, is active. Then turn on Tick Replay, a per-chart setting that replays historical trades one by one, so the bars already on the chart carry bid and ask volume. In Tools → Settings → Market data tick Show Tick Replay, then right-click the chart, open Data Series... (Ctrl+F) and set Tick Replay to true. Set Days to load to cover the days you want scanned.
- Use a supported chart: an Order Flow Volumetric chart, or a Minute, Second, Tick, Volume or Range chart, for example NQ 5 Minute. Other bar types, Renko included, show a message instead of levels.
- Add TapeCrest Absorption Levels, click Levels in the chart toolbar, choose TapeCrest access and Paste key & verify.
- Turn on Show contract count for a session or two. The default Minimum volume of 10 is deliberately low; raise it until the lines that remain are the heavier ones for your instrument and timeframe. A market starting-point template for ES, NQ, GC, CL, 6E, FDAX or FESX on 1, 3 or 5 minutes gives you a first value.
- Thin the chart with Maximum levels shown, Recent bars only (its description suggests 80 to 150 on a 5-minute chart), Stacked levels or Require level at bar extreme.
- Optional: Alert on approach and Alert on touch fire once per level and are checked on the bar's close.
| Setting | Default | What it does |
|---|---|---|
| Dominance ratio (%) | 300 | Minimum ratio of one side's volume to the other's at one price; 300 means three times |
| Minimum volume | 10 | Bid plus ask volume a price must trade before it can qualify |
| Stacked levels | 1 | Consecutive prices that must absorb the same way before a line is drawn |
| Require level at bar extreme | Off | Selling absorbed only at the bar's low, buying absorbed only at its high, within 2 ticks |
| One level per bar | On | Keeps the strongest line of each colour per bar |
| Maximum levels shown | 15 | Keeps the heaviest lines; the weakest leaves first |
How does Absorption Premium weigh the context?
Absorption Premium runs on a standard Minute, Second, Tick, Volume or Range chart and builds its own volumetric series, so it needs Order Flow+ and draws nothing without it. Each piece of context that is present adds its weight, and an arrow appears when the total reaches your threshold, 3 by default: green under a support absorption, red over a resistance absorption. In the table, a print is one reported trade and RSI is the Relative Strength Index, a momentum oscillator.
| Context | Default weight | Counts when |
|---|---|---|
| Volume reversal | 2 | The 3 bars before all closed one way and the absorption bar closed the other way |
| Absorbed big trade | 2 | The largest print near the level was a sell at a support absorption, or a buy at a resistance absorption |
| Any big trade | 1 | A large print landed near the level, but from the other side |
| RSI divergence | 2 | Price made a lower low while RSI made a higher low, mirrored at highs |
| Hidden divergence | 1 | Price made a higher low while RSI made a lower low, mirrored at highs |
| Volume climax | 1 | Bar volume reached 2 times its 20-bar average |
| Fresh extreme | 1 | The bar made a new low or high for the last 20 bars |
At the default weights no single component reaches the threshold, so every arrow means at least two agreed; the two big-trade rows never count together, and neither do the two divergence rows. Show score prints the score beside every absorption, including the ones under your threshold, and Labelling mode logs each absorption and its components to a CSV file for your own review. Large prints on historical bars need Tick Replay. Absorption Premium is context, not a call: the decision stays with you.
How do you read absorption once it is marked?
These are ways to study the marks, not trade instructions:
- First return: watch how bars behave the first time price comes back to a line it has not traded through since the line formed.
- Break and retest: when price closes beyond a heavy line, note whether later bars hold beyond it or return through it.
- Clusters: several lines of one colour within a few ticks of each other, from different bars, show absorption in the same area more than once. Cyan-blue and orange lines at one price show both sides absorbing there, balance rather than one-sided defence.
- Context: lines are most informative next to levels you already use, such as the prior day's high or low or the session open. An arrow followed by price trading straight through the level is information too: the absorption did not hold.
Try it
TapeCrest Absorption Levels and TapeCrest Absorption Premium are separate tools, each with a 7-day free trial without a card, then a one-time lifetime licence (pricing). Try the filters on the Absorption page and see how Absorption Premium weighs context. For the order book side of the same moment, read liquidity heatmaps and Level II depth.