Order Flow Indicator for NinjaTrader 8
NSL Market Depth Order Flow
Real-time DOM heat map. Per-bar delta. Volume profile with POC/VAH/VAL.
Everything the order book shows — visualized directly on your chart.
Captures every bid/ask DOM event as it happens. Large orders highlighted. Stale levels auto-cleaned. SharpDX rendering keeps it smooth on 1-tick charts during high-volatility sessions.
Fully functional trial — no credit card required — instant download
✔ Instant Download ✔ NT8 Compatible ✔ 3 Computers Licensed ✔ Direct Developer Support
Already decided?
Annual license · 3 computers · All updates included · 30-day money-back guarantee

Live
Per-Bar Delta
70%
Value Area (POC/VAH/VAL)
t/s
Speed of Tape
4
Dashboard Positions
See It In Action
Watch the Indicator on Live Charts
DOM heat map, delta panel, and POC/VAH/VAL on ES futures
Trading Without DOM Data
- You see price move — but not where the size is stacked behind it
- Fake breakouts pull you in right before large orders absorb the move
- Support and resistance levels drawn on price — not on actual liquidity
- Delta shifts and tape acceleration invisible until it’s too late to act
NSL Market Depth Order Flow puts the full order book directly on your chart — in real time.
How It Works
Three Visual Layers — One Indicator
All rendered via SharpDX for zero-lag performance on tick and volume charts.
Layer 1
Order Block Heat Map
Every DOM add/update/remove event is captured and visualized as color-coded boxes on the right side of your chart. Ask (top half) and Bid (bottom half) stacked at each price level.
- Volume boxes — total contracts at each level
- Count boxes — number of individual orders
- Large order highlight — scaled box width by size
- Small order grouping — accumulated or individual
Layer 2
Volume Profile + POC/VAH/VAL
Session volume profile histogram rendered on the left. POC, VAH, and VAL calculated using a configurable 70% value area — horizontal lines drawn across the full chart with optional price labels.
- POC — highest volume price level
- VAH / VAL — top and bottom of the 70% value area
- Profile period — adjustable in bars
- Label offset — position labels anywhere on chart
Layer 3
Analytics Dashboard
Floating on-chart panel positioned in any corner. Updates every second from a background timer. Color-coded values respond to market conditions automatically.
- Delta / Cumulative Delta — resets per bar
- Tape Speed — orders per second, threshold alert
- Ask / Bid Volume — live totals
- Imbalance % — ask vs bid ratio
Under the Hood
Built for Performance
Every design decision in the code targets stability and speed in fast-moving markets.
Thread-Safe Data (ConcurrentDictionary)
Ask and Bid rows are stored in ConcurrentDictionary structures. DOM events fire on a separate thread — this prevents data corruption during high-frequency order bursts (NFP, FOMC, Fed announcements).
Automatic Stale Level Cleanup
Price levels more than 20 ticks from current price, or older than 10 seconds, are removed every 2 seconds. Empty levels are purged instantly. The DOM display stays clean without manual intervention.
Per-Bar Delta Reset
Current delta resets on each new bar close. Cumulative delta accumulates across the session. Both are tracked separately so you can read intra-bar pressure and session-level bias at the same time.
SharpDX OnRender() Rendering
All visuals are drawn via Direct2D using SharpDX — the same rendering engine NinjaTrader uses internally. Dynamic font sizing, anti-aliasing off for sharp box edges, and brush reuse across frames keeps GPU load minimal on 1-tick charts.
Comparison
How It Stacks Up
FAQ
Common Questions
Do I need Level 2 data for this to work?
Yes. The indicator requires a Level 2 / Market Depth feed — Continuum, Rithmic, CQG, Gain, or Dorman. Standard market data does not include DOM information and will not populate the indicator. Confirm Level 2 access with your data provider before purchasing.
What markets does this work with?
Any instrument with Level 2 data in NinjaTrader 8. Most commonly ES, NQ, YM, RTY, CL, and GC futures — these have the most reliable and liquid DOM data. Works on tick, volume, range, and time-based charts.
Will it lag on fast markets like NFP or FOMC?
No. DOM events are processed in a ConcurrentDictionary (thread-safe) and rendered via SharpDX Direct2D. Stale levels are purged automatically every 2 seconds so the display doesn’t accumulate outdated data during volatility spikes.
Can I test this on Simulator before going live?
Yes. The indicator runs fully on NinjaTrader Simulator and Market Replay. Study order flow patterns and practice reading the DOM before committing real capital.
Does this work on NinjaTrader 7?
No. Built exclusively for NinjaTrader 8. It uses NT8’s SharpDX rendering engine, OnMarketDepth() API, and ConcurrentDictionary data structures that do not exist in NT7.
What’s in the 7-day trial?
Fully functional — all three visual layers, delta tracking, volume profile, alerts, and the dashboard panel. No feature limitations. After 7 days the indicator deactivates unless you purchase a license.
Is there a refund policy?
30-day money-back guarantee. If it doesn’t work for your setup or trading style, contact us within 30 days for a full refund — no questions asked.
Try It First
Download the 7-Day Free Trial
All three visual layers. Full delta tracking. No credit card required. Test it on your charts and your data feed — then decide.
Fully functional trial | No credit card required | Instant download
✔ Instant Download ✔ NT8 Compatible ✔ 3 Computers Licensed ✔ Direct Developer Support
Tried it and ready to get the full license?
Annual license · 3 computers · All updates included · 30-day money-back guarantee
Additional Resources
Requires Level 2 / Market Depth data feed | NinjaTrader 8 only | Windows PC
