Order Flow Reversal Detection

When the orderflow stops
agreeing with the price.

Price sweeps the high. The CVD is already falling. Volume hits a level inside your killzone, and price refuses to move. A wick prints on exhausted delta and starts to reverse. Flux marks every one of those signatures. Divergence, absorption, exhaustion. On the candle they happen, before price confirms. The setup the model says is reversing, with the orderflow telling you whether it actually is.

Historical + Real-Time L1 + L2 Data Two Detection Modes No OF+ Required
Flux indicator on ES. Delta divergence, absorption, and exhaustion signals at reversal zones
Flux on ES. Pulse rings mark divergences, diamonds mark absorption events, triangles mark exhaustion prints. Each signal fires with a dashed stem anchored to the price level. Click to enlarge.
THE PROBLEM

Reversals don't announce themselves on the price chart.

By the time a reversal is obvious in price action, most of the move is already over. The actual shift happens underneath. In the delta. Price makes a higher high while aggressive buying dries up. Volume spikes into a level but price refuses to move. The wick extends on exhausted participation.

These are the signatures of institutional repositioning, and they're invisible on a standard candlestick chart. You'd need a footprint chart, a CVD panel, and a DOM window open simultaneously to piece together what's happening.

Flux synthesizes all of it into discrete markers directly on your price chart. No extra panels. No footprint subscription. It processes every tick through a multi-layer detection engine. Swing-point delta comparison, absorption scoring with OBI and dispersion filters, and exhaustion thresholds. Then renders clean, labeled glyphs at the exact bar where the signal fires.

What Flux sees that price doesn't show
Delta Divergence. Price makes a new extreme, but CVD disagrees. The aggressive side is losing conviction.
Hidden Divergence. Price pulls back, but delta says the trend is absorbing the counter-flow. Continuation signal.
Exhaustion. Delta spikes to extreme levels relative to its rolling average. The aggressive side has overextended.
Absorption. Volume spikes but the candle body stays narrow and delta opposes price. A passive wall is eating the flow.
Absorption Node. Extreme absorption score with low price dispersion, but no clear directional signal. A contested level worth watching.
FIVE SIGNAL TYPES

Every reversal signature, one indicator

Each signal type gets its own glyph shape, color, and two-letter label so you can identify them instantly without reading a tooltip.
BD
Bullish / Bearish Divergence

Price makes a new extreme while CVD moves in the opposite direction. The classic reversal setup. Aggressive participation is fading even as price pushes higher or lower. Rendered as concentric pulse rings.

HD
Hidden Divergence

Price pulls back but delta holds its ground or moves against the pullback. Confirms the existing trend has absorbed the counter-move and is likely to continue. Rendered as dashed rounded squares.

EX
Exhaustion

Bar delta exceeds a configurable multiple of the rolling average absolute delta. The aggressive side has fired everything it has, and may have nothing left. Rendered as concentric triangles pointing toward the extreme.

AB
Absorption

Volume spikes above its rolling average, the candle body stays narrow relative to the range, and delta opposes price direction. Confirmed by OBI (Order Book Imbalance), low price dispersion, or extreme absorption score. Rendered as concentric diamonds.

AN
Absorption Node

Extreme absorption score with low price dispersion, but without a clear directional absorption signal. Marks a contested price level where significant passive interest exists on both sides. Rendered as a bullseye target.

DETECTION MODES

Two modes. Same engine. Different tradeoffs.

Switch between modes live from the chart toolbar. No restart needed. The absorption detection layer runs identically in both modes.
Reactive 1-bar lag
See it first

Tracks a rolling N-bar high and low using left-side-only confirmation. When the next bar closes back away from the extreme and delta diverges, the signal fires immediately. You get the signal one bar after the extreme. Before right-side confirmation exists.

Tradeoff: Faster signals, but some will fire at extremes that don't hold. Best for scalpers and intraday traders who want early warning and can manage false positives with other confluence.

Confirmed N-bar lag
See it right

Waits for a full swing confirmation. N bars on both sides of the extreme must hold before the signal is validated. The signal fires at the swing point itself, placed retroactively once the right side confirms.

Tradeoff: Higher accuracy, but signals arrive N bars late. Best for swing traders and those using Flux for post-session analysis or strategy validation.

HOW IT WORKS

Four layers of analysis on every bar

Flux processes tick data, Level 2 depth snapshots, and bar-level statistics through a multi-layer detection engine.
01
Delta & CVD

Every tick is classified as a buy or sell using bid/ask comparison. Bar delta and cumulative volume delta (CVD) are computed tick by tick for maximum accuracy. No reliance on NinjaTrader's built-in OrderFlow engine.

02
Swing Detection

Depending on your mode, Flux identifies swing highs and lows using either rolling N-bar extremes (Reactive) or full N-bar confirmed pivots (Confirmed). CVD values are cached at each swing for divergence comparison.

03
Absorption Scoring

Each bar gets an absorption score: aggressive volume divided by price range. Combined with Order Book Imbalance (OBI) from Level 2 depth, price dispersion tracking, and statistical thresholds (Z-score against rolling mean) to filter noise.

04
Signal & Render

Qualifying events are registered with bar index, signal type, anchor price, and vertical position. SharpDX renders each glyph with a dashed stem connecting it to the price level. Hardware-accelerated for zero flicker even at high tick rates.

FEATURES

Dial it in to fit your style

Every key setting is accessible from the chart toolbar popup. Toggle signal types, switch detection modes, and show/hide labels mid-session without opening a dialog.
Per-signal toggle
Show or hide each of the five signal types independently from the toolbar popup. Focus on divergences only, absorption only, or see everything at once. The chart refreshes instantly when you toggle.
Live mode switching
Toggle between Reactive and Confirmed detection from the toolbar with a single click. Reactive gives you early signals for live trading. Confirmed gives you validated signals for analysis. Switch mid-session to compare.
Multi-layer absorption filter
Absorption signals require three independent confirmations: volume spike above rolling SMA, narrow body relative to range, and at least one of. OBI threshold breach, low price dispersion, or absorption score beyond the standard deviation multiplier. This eliminates false positives from thin-market drifts.
Distinct glyph rendering
Each signal type has a unique SharpDX-rendered glyph: pulse rings for divergence, dashed squares for hidden divergence, concentric triangles for exhaustion, concentric diamonds for absorption, and bullseye targets for absorption nodes. All hardware-accelerated with configurable size and opacity.
Smart stacking
When multiple signals fire on the same bar, Flux stacks them vertically with dashed stems connecting each glyph to its anchor price. Buys stack below, sells stack above. No overlapping, no clutter, even when divergence, exhaustion, and absorption all fire together.
Full color customization
Independent color controls for bullish divergence, bearish divergence, hidden divergence, exhaustion, bullish absorption, bearish absorption, and absorption nodes. Set each to match your chart theme. Global opacity slider controls all markers at once.
Works on historical data
Flux processes tick data, so it works on both historical and real-time bars with Tick Replay enabled. Scroll back through the session and see every divergence, absorption event, and exhaustion print that fired.
CHART TOOLBAR

Everything you need, one click away

Flux adds a button to NinjaTrader's chart toolbar that opens a dark-themed popup panel. Toggle detection modes, signal types, and labels without leaving your chart.
Detection mode toggle

Confirmed and Reactive buttons with active-state highlighting. Switch mid-session. The chart refreshes instantly with the new mode's signals.

Signal type toggles

Independent toggles for Bullish Divergence, Bearish Divergence, Hidden Divergence, Exhaustion, Absorption, and Absorption Nodes.

Label visibility

Show or hide the two-letter labels (BD, HD, EX, AB, AN) next to each glyph. Clean mode for screenshots, labeled mode for learning.

Configurable thresholds

Swing strength, volume SMA length, spike multiplier, narrow body ratio, exhaustion multiplier, OBI threshold, and dispersion threshold. All tunable from the indicator properties.

IN PRACTICE

What traders use Flux for

Flux detects the moments when order flow and price disagree. The turning points that candlestick charts alone will never show you.
Sweep confirmation
Know when a liquidity sweep is done

Price sweeps through a key high or low. But is the move continuing or reversing? Flux answers that in real time. When exhaustion (EX) fires at the sweep extreme and divergence (BD) confirms that aggressive flow is fading, the sweep is complete and the reversal has begun. No guessing, no waiting for a candle close.

Reversal entries
Catch the turn before the trend breaks

When a bearish divergence (BD) fires at a swing high and an exhaustion print (EX) fires on the same bar or the bar before, that's a two-layer confirmation that the upside is spent. Combine with Anvil showing a large resting ask at that level and the setup is institutional-grade.

Continuation confirmation
Know when the pullback is a trap

Hidden divergence (HD) fires during a pullback in an established trend. Price looks like it's reversing, but delta says the original direction still has the stronger hand. The pullback is being absorbed. The trend is about to resume.

Absorption defense
See the wall eating the flow

When an absorption signal (AB) fires, it means someone with significant size is defending a price level with passive limit orders. Volume is spiking into the level but price won't budge. The candle body is narrow despite heavy volume. That's a floor (or ceiling) being built in real time.

Contested level mapping
Find where the fight is

Absorption nodes (AN) mark price levels where passive interest is extreme on both sides but neither side has won. These are the battleground levels. The prices where the next directional move will be decided. Watch how Hammer and Anvil interact at these nodes for the breakout direction.

Prop firm discipline
Fewer trades, better entries

Running a funded account evaluation? Confirmed mode gives you only swing-validated signals. Higher accuracy, fewer false positives. Use divergence and exhaustion as entry filters to avoid chasing moves that are already spent. Reactive mode gives you early warning for live trading when speed matters more than certainty.

REQUIREMENTS

What you need to run Flux

RequirementDetails
PlatformNinjaTrader 8 on Windows. No Order Flow+ subscription required.
Data feedLevel 1 tick data for delta/CVD and divergence detection. Level 2 depth data (Rithmic, CQG) enhances absorption scoring via OBI. Tick Replay must be enabled for historical signals.

The reversal starts in the delta. Flux puts it on the candle.

Get Flux as part of the complete FlowForged suite.

Pairs well with Anvil (see the passive walls where absorption fires) and Hammer (see the aggressive orders that create the divergence).

View Pricing ← All Indicators