SuperDOM column for NinjaTrader 8
DynamiDOM Heatmap Pro
One column that shows where liquidity rests, how it gets consumed and when it is pulled, and that calibrates itself to any futures book.
Secure payment via Whop
ES SEP26 SuperDOM, heatmap column active
What you see on the ladder
Two screenshots: the column running on an ES book, and the settings panel behind it.
The column on a live book
Pressure banner B 41% | A 59%, the remaining volume ten ticks either side of the inside market.
Adaptive gradient Twelve steps between three colors, anchored on percentiles of the live book.
Stacked wall A big level with another big level within two ticks, painted in the wall color.
Wall alert Size posting within ten ticks of last price, outlined and marked for three seconds.
Consumption bar The share of the posted size already filled at that price.
Footprint band On the left edge, where liquidity has camped over the last minutes.
Every parameter in one panel
Adaptive Thresholds: Adaptive mode, 30-second smoothing window, P30 / P70 / P85 percentiles.
Consumption & Walls: consumption bar on, wall neighbor distance 2 ticks, wall color yellow.
Wall & Pull Events: wall alert range 10 ticks, pull marker on, 5-second duration.
Overlays: pressure banner over 10 ticks, last price marker, session footprint with a 5-minute decay.
Alerts: visual and sound alerts, WAV file, alert duration.
Setup: display mode, reset behaviour, manual thresholds, minimum volume to display, abbreviated volumes.
These are the shipped defaults. The adaptive thresholds calibrate on the book in front of them, so there is nothing to tune per instrument.
See the column read a live session
Eight steps from one ES session: zones forming in the book, a wall pulled before it was ever traded, and price reacting on them. Thirteen screenshots taken live.
What it actually does
The shape of the book, on any instrument
Each ladder line is colored by the limit volume still resting there, a 12-step gradient between three colors you choose. The anchors are the P30 and P85 percentiles of the live book, smoothed over 30 seconds, so the biggest levels stand out on ES as on MNQ. Manual mode (fixed 20/100) stays available and covers the warm-up.
Absorption you watch instead of guessing
The column keeps both the volume posted at a price and what is left after executions, and a thin bar under the number shows the share already consumed. The bar grows while the number melts and price holds. Trades decrement in real time, a book update on the level resets that memory, and a safety net resyncs every 10 seconds.
A single order, or a block
A level above the high threshold with another big level within 2 ticks turns wall-colored: an isolated order dies in one click, a stack of liquidity has a real chance of holding. In adaptive mode big means the P85 of the current book, so a wall on MNQ is not sized like a wall on ES.
Size posting next to price
Opt-in. A level crossing the high threshold within 10 ticks of last price outlines its side and gets a wall marker for 3 seconds, in your color, with sound and blinking if those channels are on. It fires on the crossing only, with 10 seconds of anti-spam between events.
The wall that left without being traded
A PULL label marks a wall that collapses by more than 70% through the book while trades do not account for it. Because executions are subtracted continuously, a collapse they cannot explain is cancellation. The column reports it, you draw the conclusions.
Support and resistance from the book itself
Levels above the zone threshold group into clusters of at least two levels, one tick apart at most: a dot below price for support, above it for resistance, zone volumes in bold, sound and blinking on a new zone if those alerts are on. Clustering recomputes up to seven times per second, so you read current density.
Near-book pressure, in one line
A banner reads B 41% | A 59% over a proportional two-color bar, summing remaining volume ten ticks either side of the best bid and ask, refreshed on the 150 ms tick. Short-term imbalance without leaving the ladder.
Recent liquidity footprint
Opt-in. A band on the left shows by intensity where liquidity has camped over the last minutes, an exponentially decaying average of remaining volume per price. It separates the wall that just appeared, with no footprint, from the level defended for the last twenty minutes. P90 normalization with a square-root curve keeps mid-size accumulations visible.
Reading comfort
Yellow line under the last traded price, volumes centered and bold inside zones, optional compact format (1,234 becomes 1.2k) and a floor that hides small numbers while keeping the color. Three modes: split Bid|Ask, or a single side. Clicking the header resyncs with the book, and every color is edited in the native NinjaTrader picker.
How traders use it
Three readings the column makes visible on a live book.
Absorption on a zone
Support dot, consumption bar stretching on that level, price refusing to break: someone is taking the sells there. A typical short-term reversal confirmation.
Pull before the break
An ask wall flagged by the wall alert, then a PULL label seconds later: the resistance on display was not real, and the road above is clearer than it looked.
Pressure flip
The banner swings from B 60% to A 60% while the footprint shows a bid level defended just below: a support test with fresh selling pressure. Longs deserve caution.
Under the hood
Allocation-free rendering: brushes are pre-computed and frozen, repaints coalesced at 150 ms. Negligible even on the ES book in the middle of the US session.
Detections run in O(1) on the hot data path. The heavy work, zones, percentiles and footprint, runs on its own cycle.
No external dependency and no data sent anywhere: everything is computed locally from the NinjaTrader L2 feed.
Every setting, and its default
The values below are what you get on first load. The adaptive thresholds mean you can leave them alone.
| Group | Setting | Default |
|---|---|---|
| Setup | Display Type / Reset When / Reset Tolerance | BidAsk / — / 2500 ms |
| Setup | Low & High Volume Threshold (Manual mode) | 20 / 100 |
| Setup | Min Volume To Display / Abbreviate Volumes | 0 / off |
| Adaptive Thresholds | Threshold Mode | Adaptive |
| Adaptive Thresholds | Smoothing Window / Low-Zone-High Percentiles | 30 s / P30-P70-P85 |
| Zone Detection | Zone Volume Threshold / Min Blocks / Max Gap | 40 / 2 / 1 tick |
| Zone Detection | Support & Resistance Zone Colors | green / red |
| Alerts | Visual & Sound Alert / Sound File / Duration | off / off / Alert1.wav / 3 s |
| Consumption & Walls | Show Consumption Bar + color | on / purple 70% |
| Consumption & Walls | Wall Neighbor Distance / Wall Color | 2 ticks / yellow |
| Wall & Pull Events | Enable Wall Alert / Range / color | off / 10 ticks / orange |
| Wall & Pull Events | Enable Pull Marker / Pull Alert / Duration | on / off / 5 s |
| Overlays | Show Pressure Banner / Range | on / 10 ticks |
| Overlays | Show Last Price Marker | on |
| Overlays | Show Session Footprint / Decay / color | off / 5 min / blue |
| Visual | Bid-ask backgrounds & text, 3 gradient colors | theme / grey-orange-red |
What it does NOT do
We tell you exactly what it does, and what it doesn't.
No spoofing detection
The PULL marker records a withdrawal that was not traded. It does not qualify anyone's intent.
No institutional order flow
Nothing here classifies where an order came from.
No session history, no time axis
Current book, short consumption memory, recent decaying footprint.
No rebuilding detection
Liquidity coming back after a withdrawal is not tracked as an event.
No buy or sell signals
This is a book-reading tool. The interpretation and the decision are yours.
Requirements
NinjaTrader 8 with a data subscription that includes market depth (Level 2).
Any future with an L2 feed: ES, NQ, CL, GC, micros MES and MNQ. Tick size is read dynamically and the adaptive thresholds leave nothing to configure per instrument.
The license is a NinjaTrader VendorLicense verified by the platform. Without a valid license the column shows a LICENSE REQUIRED banner and processes no data.
What's included
- The DynamiDOM Heatmap Pro indicator
- The install and settings guide, online and kept current
- Lifetime license for one workstation
- Free V1 updates
Questions we get
- Does it work on micros?
- Yes, on any future with an L2 feed, MES and MNQ included. Tick size is read dynamically and the adaptive thresholds size themselves to the book in front of them, so a small book gets the same contrast as ES.
- Does it work in Market Replay?
- It is built for the live L2 feed. Depth in replay depends on what your data provider recorded, so Market Replay behaviour is not guaranteed.
- How is it different from a time-based heatmap?
- It lives inside the SuperDOM you already trade from, and shows the current book, a short consumption memory and a recent liquidity footprint. There is no time axis and no session-long history.
- Why are the default colors already right for my instrument?
- Because the gradient anchors are not fixed numbers. In adaptive mode they are percentiles of your own book, P30 and P85, recomputed over a 30-second window, so the same settings spread correctly on ES, on MNQ and in any liquidity regime.
Try DynamiDOM Heatmap Pro for 14 days
Install the column on your NinjaTrader 8 and judge it on your own book. Every feature unlocked, no credit card. This trial is for the Heatmap Pro column only, not the DOM Suite.
Start the free trialNo credit card. The download link arrives by email.
Ready to move to structured DOM reading?
$50
+ applicable taxes
One payment. Lifetime license on one workstation. No subscription, no recurring fees.
Secure payment via Whop
Price excludes applicable taxes (VAT / sales tax depending on your country)
Recommended Resources
Affiliate links: if you open an account through these links, DynamiDoxa may earn a commission at no extra cost to you. These partners influence neither our indicators nor our analyses.
Risk disclosure
Futures, options and forex trading involve substantial risk and can result in losses exceeding the invested capital. DynamiDoxa software products are analysis and decision-support tools, not financial advice. Past performance is not indicative of future results. All trading decisions remain the sole responsibility of the user.
Read the full risk disclosure
