$299 lifetime

Absorption levels for NinjaTrader 8

In short: DC Absorption Levels reads the volumetric footprint and draws a horizontal line at every price where one side’s aggression was absorbed by resting limit orders. Cyan below price means aggressive selling was eaten — a support candidate. Orange above means aggressive buying was. Lines extend right until price trades through them.

How the levels are found and how they behave once price comes back to them. An illustrative reconstruction rather than a certified capture of live trading. Nothing loads from YouTube until you press play.
Footprint chart on NinjaTrader 8 showing a cyan bullish absorption level where 412 contracts were sold into the bid against only 38 lifted, and an orange bearish absorption level above where 388 were lifted at the ask against 45 sold
412 contracts sold into the bid at one price against 38 lifted — sellers were fully absorbed, and the level becomes support. Above, 388 lifted at the ask against 45 sold marks resistance. Illustration.

How absorption is detected

For every bar in the lookback window, the indicator walks each price level from low to high and applies four tests in order.

1 · Volume floor

bid + ask ≥ Minimum volume. Cuts the noise levels before anything else runs.

2 · Dominance

bid ≥ ask × Ratio for bullish, or the reverse for bearish. At the default 300%, one side must be three times the other.

3 · Stacking

Optionally require N consecutive levels in the same direction.

4 · Extreme

Optionally require the level to sit at the bar’s high or low — classic absorption at the extreme. Fewer signals, cleaner ones.

The comparison is vertical — bid against ask at the same price. That is what makes it absorption rather than an imbalance, which compares diagonally across adjacent prices. Most traders conflate the two, and the difference is the whole point: an imbalance describes a move, absorption describes a wall.

Side-by-side diagram comparing vertical absorption, which compares bid against ask at the same price, with diagonal imbalance, which compares them across adjacent prices
Absorption is vertical. Imbalance is diagonal. Illustration.
A cyan level drawn under price where selling was absorbed, with price returning to it later and turning away from it
Illustration — a level where aggressive selling was absorbed, and what a later return to it can look like. A reconstruction of the reading; it is not evidence that these levels hold at any particular rate.

The four settings that decide what your chart looks like

There are more parameters than this, but these are the ones that matter.

SettingDefaultWhat it controls
Ratio (%)300How dominant the absorbed side must be. 200 gives more levels, 400–500 only strongly one-sided ones. Instrument-independent.
Minimum volume10The noise floor. Scales per instrument — ES needs a much higher value than NQ.
Max levels to show8Show only the N strongest. The single best knob for a clean chart.
Recent bars100Only levels from the recent past. 0 shows the whole window.

Starting points for five-minute scalping

NQESRTY
Ratio (%)300300300
Minimum volume4015025
Max levels888

Also available: ticks per level, one-level-per-bar (on by default, for a clean chart), extend-to-right or fixed length, colour inversion, and touch and approach alerts with a chosen .wav file.

The same stretch of chart shown twice, crowded with absorption lines on one side and reduced to a handful of the strongest on the other
Illustration — what the max-levels and recent-bars controls do to a chart. Interface reconstruction made to show the effect of the settings.

Calibrating it for your instrument

Minimum volume is the only setting that genuinely has to be re-tuned per instrument, and there is a method rather than a guess.

01 · See the volume

Turn on Show volume label so each line displays how much volume it absorbed. Set Max levels and Recent bars to 0 temporarily so you can see everything.

02 · Find the floor

Scroll back and find levels where price clearly reacted. Read their volume labels, note the typical figure, and set Minimum volume just below it. The small noisy levels disappear on their own.

03 · Set the density

Recent bars to your actual trading window (80–150 bars on a five-minute chart), Max levels to six to ten. Then save a template per instrument.

An orange level drawn above price where buying was absorbed, with price pushing up into it later and stalling beneath it
Illustration — the same test on the other side: a level where aggressive buying was absorbed, and a later approach to it. A reconstruction of the reading, not a claim about how often it holds.

A map of the levels, and the decision stays yours

What this indicator gives you is structure you can trade around: the prices where aggression met a wall, marked as they happen.

Absorption tells you where one side was absorbed and could not move price. That is an objective level, drawn by the market rather than by an opinion, and it is the kind of reference a plan can be built on: where you are wrong, where you would scale, where you would stand aside. It is not, on its own, a reason to act — which is exactly why this indicator draws the level and leaves the decision to you.

That is also why it is sold as a map, not a signal. It shows you where the levels are. Weighing which one has enough around it to be worth acting on is what DC Absorption Premium scores.

That design came out of our own logged order flow on three instruments, read with the caution historical data deserves: it is read with hindsight, it carries no execution cost, and it never once failed to fill. So this site publishes no win rate and no profit figure — we describe what the instrument draws, and you test it on your own instrument and timeframe.

Coming from ATAS?

The absorption tool many traders know from ATAS does not exist on NinjaTrader, and its source is not public. This rebuilds the same idea on NinjaTrader’s volumetric API, with the parameters mapped one to one.

ATASDC Absorption Levels
Days look backDays look back
Verhältnis / RatioRatio (%) — 300 means three times
Gestapelte EbenenStacked levels
Minimum VolumeMinimum volume
Bullische / Bärische FarbeBullish / bearish colour — cyan and orange by default
Alarm / AnnäherungsalarmTouch alert / approach alert

Plus settings ATAS does not have: max levels to show, a recent-bars window, require-at-extreme, one-level-per-bar and colour inversion.

Key facts

PlatformNinjaTrader 8, Windows
Order Flow+ requiredYes
Tick ReplayRequired for levels on historical bars
Bar typesOrder Flow Volumetric directly, or minute / tick / second / volume / range with a volumetric series added in the background. Renko is not supported.
InstrumentsAny with real bid/ask volume — ES, NQ, RTY, CL, GC, 6E
Price$299 one-time, lifetime updates, 3 machines

Frequently asked questions

Why do I see no lines at all?

Usually the ratio or minimum volume is set too high for the instrument. Drop Ratio to 200 and Minimum volume to 5 to confirm the data is flowing, then tune upward from there.

Why are there no lines on historical bars?

Tick Replay is off, or the chart has not been reloaded since it was switched on. Enable it in Tools, Options, Market Data, set it to True in the chart’s Data Series, then Reload All Historical Data.

Does it work on Renko?

No. Renko discards the time and volume structure the calculation needs. Use minute, tick, second, volume, range or volumetric bars.

Is this the same as a stacked imbalance indicator?

Related but different. An imbalance compares bid and ask diagonally, across adjacent prices. Absorption compares them vertically, at the same price. This indicator can require stacked levels, but the underlying test is the absorption one.

How much volume counts as absorption?

It depends entirely on the instrument. On NQ a level absorbing 150 to 400 contracts is meaningful; on ES the equivalent figure is much higher. Calibrate against levels where price visibly reacted, using the method above.

Can absorption fail?

Constantly. A passive buyer can be overwhelmed, and when a level that absorbed heavily breaks, the move through it is often fast because the defender is now trapped. That is why the stop belongs on the other side of the level, not at it.

Lock the founder price

All ten indicators, the copier and the Telegram agent, lifetime, at $1,845 for the first fifty. No payment taken today.

English Deutsch Español Français Italiano Română Русский