Suite / Flux
SuiteFree private beta

Flux Delta divergence and absorption indicator for NinjaTrader 8

by FlowForged Analytics

Order flow markers on your price chart. Flux builds delta from every trade and marks the bars where it disagrees with price: divergence at swing highs and lows, exhaustion at new extremes, and absorption on heavy, narrow candles.

NinjaTrader 8Tick-built CVDFive signal typesReactive or ConfirmedNo Order Flow+
On this page
  1. On the chart
  2. Quick info
  3. What it does
  4. Purpose
  5. Why choose it
  6. How it works
  7. Key capabilities
  8. Setup guide
  9. FAQ
  10. Works well with
  11. Conclusion
Flux on a candlestick chart. Red BD rings over two highs and green BD rings under two lows mark divergence, the cyan HD square marks hidden divergence under a higher low, and the gold EX triangles mark exhaustion over four highs. Tap to enlarge.

Quick info

Platform
NinjaTrader 8 on Windows
Concept
Delta divergence, exhaustion and absorption, marked on the bar where they formed
Designed for
Traders who read order flow and want delta on the price chart without a CVD panel or a footprint
Best used when
Checking whether delta agreed with price at a new high or low
Signals
Divergence, hidden divergence, exhaustion, absorption and absorption nodes
Data
Level 1 trades and quotes. Tick Replay recommended for historical bars. No Order Flow+
Access
Part of the FlowForged Suite, free during the private beta

What Flux does

Flux reads every trade as buying or selling, keeps a running cumulative delta (CVD), and marks the bars where delta and price tell different stories.

At each swing high and low it compares the CVD with the last swing on the same side. A higher high on lower CVD is a bearish divergence, a lower low on higher CVD a bullish one, and the opposite pairings are hidden divergences. Separately, every closed bar is checked for exhaustion, a new high or low on outsized delta, and for absorption, a volume spike on a narrow candle where delta ran against the candle’s direction.

Each signal has its own shape, color and two-letter tag. Bearish readings sit above the bar, bullish readings below it.

One swing from start to finish. Green BD rings under the two lows, a red BD ring over the high before the drop, a cyan HD square under the higher low that followed, and gold EX triangles over three highs. The boxed 196 and 170 markers belong to a different overlay.

Purpose

Delta normally lives in a separate panel or on a footprint chart. When price makes a new high, you look away to check whether buying kept pace, then compare it by eye with the last high. Flux makes that comparison at every swing and leaves the result on the bar.

Without Flux A CVD panel compared by eye, swing to swing A footprint chart to spot heavy volume on a small candle Price and order flow in separate windows
With Flux Divergence, exhaustion and absorption marked on the bar where they formed Each type in its own shape, color and tag Every type shown or hidden from the chart toolbar

Why choose it

  • Delta from the tape. A trade at the ask counts as buying, at the bid as selling. Flux builds its own CVD from the tick stream, with no Order Flow+ subscription.
  • Two detection modes. Reactive marks a swing as soon as the next bar closes back past its midpoint. Confirmed waits for the swing to hold on both sides. One toolbar click switches.
  • Absorption with a second check. A volume spike, a narrow body and delta against the candle, plus at least one of book imbalance, tight price dispersion or an extreme volume-per-tick score.
  • Markers you can tell apart. Pulse rings, dashed squares, triangles, diamonds and targets, each with its own color and tag, stacked when several land on one bar.
  • Toggles that keep history. Hiding a signal type only hides it. Detection keeps running, so the markers come back instantly.
  • Works on history. With Tick Replay, historical bars use the recorded trades. Without it, Flux estimates each bar’s delta from its shape.

How it works

  1. Classify the trades. Each trade at or above the ask adds to delta, each at or below the bid subtracts. The running total is the CVD.
  2. Find the swing. Reactive: the previous bar’s high topped the Swing Strength bars before it, and the bar just closed finished below its midpoint (mirrored for lows). Confirmed: the bar’s high is above Swing Strength bars on each side.
  3. Compare the CVD. The swing’s CVD is compared with the last swing on the same side. If they disagree, a divergence or hidden divergence is drawn on the swing bar.
  4. Check every bar. Exhaustion and absorption are tested on each closed bar, in both modes.
  5. Draw it. The marker is placed above or below the bar and stays on the chart.

In Reactive mode the marker appears when the bar after the swing closes. In Confirmed mode it appears Swing Strength bars later, 2 by default. Either way it is drawn on the swing bar itself.

Key capabilities

  • Regular and hidden delta divergence at swing highs and lows
  • Reactive or Confirmed swing detection, switched live from the toolbar
  • Exhaustion at new highs and lows on outsized delta, with a cooldown so it does not repeat bar after bar
  • Absorption on volume spikes with narrow bodies and delta against the candle, confirmed by book imbalance, price dispersion or an absorption-score outlier
  • Absorption nodes, where the volume-per-tick score is an outlier on a volume spike and the last second of trade hit two prices or fewer
  • Distinct SharpDX markers with a dashed stem to the price, stacked when several land on one bar
  • Seven color settings, glyph size, two-letter labels and a signal lookback limit
  • Each signal type, the labels and the detection mode on one toolbar pill

How to set up Flux in NinjaTrader 8

  1. Add FF Flux from the Indicators window to the chart you trade.
  2. If your feed supports it, turn on Tick Replay for the chart’s data series so historical bars use recorded trades. Real-time bars always use the live tick stream.
  3. Under 1. Detection, keep Reactive or choose Confirmed, and set Swing Strength (2 by default) for how many bars define a swing.
  4. Start with the default absorption thresholds: a 2.0× volume spike and a body under 0.35 of the range.
  5. Use the toolbar pill to show or hide each signal type and the labels mid-session.

New to NinjaTrader add-ons? The install guide covers importing, Tick Replay and common fixes.

Flux FAQ

Does Flux need Order Flow+?

No. Flux builds its own cumulative delta from the tick stream: a trade at the ask counts as buying, at the bid as selling. See order flow without Order Flow+.

Does Flux need Level 2 data?

No. It reads only the best bid and ask, which a Level 1 feed provides.

Does Flux need Tick Replay?

It is recommended. With Tick Replay, historical bars use the recorded trades. Without it, historical delta is estimated from each bar’s shape. Real-time bars always use live trades.

Does Flux repaint?

Markers appear when a bar closes, never on a forming bar.

Does Flux have alerts or Strategy Builder plots?

Not in this version. Flux draws chart markers only.

Works well with

Conclusion

Flux does not tell you where price will turn. It shows you, on the bar, where delta and price disagreed and where heavy volume met a small candle:

  • Divergence at every swing, measured against the last one
  • Exhaustion and absorption checked on every closed bar
  • Order flow read on the price chart, without a separate panel

Flux is in the free private beta

It ships as part of the FlowForged Suite for NinjaTrader 8. The beta is free; request access and we'll email you when it's ready.

Futures trading involves substantial risk and is not for every investor. Chart examples show past market activity and are not indicative of future results. Flux is an analytical tool, not trading advice.

On this page
  1. How to read it
  2. The five signals
  3. Detection modes
  4. Delta and the book
  5. In context
  6. Detection settings
  7. Signal and visual settings
  8. Toolbar
  9. Requirements

How to read it

Every marker sits on the bar where Flux found it. The shape tells you the signal, the side tells you the direction.

BDHDEXABAN

The shape is the signal

Pulse rings for divergence, a dashed square for hidden divergence, concentric triangles for exhaustion, concentric diamonds with an arrow for absorption, and a target for an absorption node.

ABOVE = BEARISHBELOW = BULLISH

The side is the direction

Bearish readings sit above the bar’s high and bullish readings below its low, joined to the price by a faint dashed stem. Exhaustion triangles point down over a high and up under a low. A node is anchored at the middle of the bar.

BULL DIVBEAR DIVBULL ABSBEAR ABS

The color splits the side

Divergence is lime or red and absorption blue or magenta, by side. Hidden divergence (cyan), exhaustion (gold) and nodes (orange) use one color for both sides. The chips show the defaults.

BD · HD · EX · AB · AN

The tag names it

The two-letter tag beside each glyph. BD is used for both bullish and bearish divergence. When several signals land on one bar, they stack outward from the price.

The five signals

Each marker type has its own test. The numbers below are the defaults; every one is a setting.

DivergenceBD · rings

At a swing high, a higher high than the last swing high with lower CVD: bearish, red, above the bar. At a swing low, a lower low than the last swing low with higher CVD: bullish, lime, below the bar.

Hidden divergenceHD · square

A lower high with higher CVD (bearish, above the bar) or a higher low with lower CVD (bullish, below the bar). Both sides are cyan.

ExhaustionEX · triangle

High: the bar’s high tops the previous Swing Strength bars, and its delta is positive and more than 2.0× the average absolute delta of the last 20 bars. The triangle points down above the bar. Low: the bar’s low undercuts the previous Swing Strength bars, and its delta is negative and more than 2.0× that average in size. The triangle points up below the bar. The same side does not fire again within Swing Strength bars.

AbsorptionAB · diamond

Three tests must pass: volume above 2.0× the 20-bar average, a body smaller than 0.35 of the bar’s range, and delta against the candle. Then at least one confirmation: the inside book leaning against the candle, low price dispersion, or an extreme absorption score. A down-closing bar with positive delta is bullish absorption, blue, below the low. An up-closing bar with negative delta is bearish absorption, magenta, above the high.

Absorption nodeAN · target

The bar’s absorption score is extreme and dispersion was low on a volume spike, but the full absorption pattern did not form. Drawn in orange at the middle of the bar.

Detection modes

The mode only changes how divergence finds its swings. Exhaustion and absorption run the same way in both.

Reactivedefault

The previous bar’s high topped the Swing Strength bars before it, and the bar that just closed finished below that bar’s midpoint (mirrored for lows). The marker is drawn on the swing bar and appears one bar after it, without waiting for bars on the right side.

Confirmedoption

The bar’s high is above the highs of Swing Strength bars on each side (mirrored for lows). The marker is drawn on the swing bar and appears Swing Strength bars later, 2 by default.

Each new swing is compared with the last swing Flux recorded on the same side, whether or not that one carried a marker. Switching the mode from the toolbar applies from the next bar; markers already on the chart stay as they are. To redraw the history in the other mode, change Detection Mode in the indicator properties.

Delta and the book

What Flux reads from the data feed, and how each input is measured.

Deltaevery trade

A trade at or above the ask counts as buying, at or below the bid as selling. Trades between the two count toward volume but not delta. The CVD is the running total from the first bar loaded and does not reset each session; divergence compares its value at two swings.

Without Tick Replayestimate

Historical bars have no trade stream, so Flux estimates bar delta from the bar’s shape: a close at the high counts the whole volume as buying, a close at the low as selling, a close mid-range as neutral. On those bars dispersion is treated as a single price, so the low-dispersion check passes on any volume spike. Real-time bars always use the live trades.

Book imbalance (OBI)inside quote

(bid size − ask size) ÷ (bid size + ask size) at the best bid and ask when the bar closes. Only the inside quote is used, which a Level 1 feed provides. A down-closing bar confirms with OBI above 0.33, an up-closing bar with OBI below −0.33.

Dispersionlast second

How many different prices traded in the last full second before the bar closed. 2 or fewer counts as low.

Absorption scoreper bar

Bar volume divided by the bar’s range in ticks. It is extreme when it sits more than 2.5 standard deviations above its average over the last 20 bars.

Quote sizes arrive with live Bid and Ask updates. On historical bars, even with Tick Replay, the OBI confirmation does not come into play; the other two confirmations still do.

In context

Flux draws only its markers, so it shares the chart with the rest of the suite. Here it runs alongside Refine and Hammer.

Flux with Refine and Hammer. At the top of the spike, a magenta AB diamond marks bearish absorption above the high. The gold EX triangles point down over highs and up under lows, and cyan HD squares and BD rings mark divergence through the range.

Detection settings

0. Toolbar
Show toolbarOn

Shows the toolbar pill. Turn it off for a clean chart.

1. Detection
Swing Strength2

Bars on each side of a Confirmed swing, and how many earlier bars a Reactive swing must top. Also the exhaustion lookback and cooldown. 1 to 50.

Volume SMA Length20

Bars averaged for the volume spike test. The same window sets the exhaustion delta average and the absorption-score average. 5 to 200.

Volume Spike Multiplier2.0

Volume must be above this multiple of the average to count as a spike. 1.0 to 10.0.

Narrow Body Ratio0.35

The body, open to close, must be smaller than this share of the bar’s range. 0.05 to 0.95.

Absorption Score Std Dev2.5

How many standard deviations above its average the absorption score must be to count as extreme. 1.0 to 5.0.

Exhaustion Delta Multiplier2.0

Bar delta must be more than this multiple of the average absolute delta. 1.0 to 10.0.

OBI Threshold0.33

How far the inside book must lean against the candle to confirm absorption. 0.1 to 0.9.

Dispersion Threshold2

The most distinct prices in the last second that still count as low dispersion. 1 to 10.

Detection ModeReactive

Reactive or Confirmed. Also switched from the Md button on the toolbar.

Signal and visual settings

2. Signals
Show Bullish Divergence / Show Bearish DivergenceOn / On

Same as the BD and BR toggles on the toolbar.

Show Hidden DivergenceOn

Same as Hd. Covers both sides.

Show Exhaustion / Show Absorption / Show Absorption NodesOn

Same as Ex, Ab and An.

3. Visuals
Signal Offset Ticks4

The gap, in ticks, between the bar’s high or low and the near edge of the marker. Absorption nodes are measured from the middle of the bar.

Glyph Size10

Marker size in pixels, 4 to 24. Stacked markers are spaced 2.6× this apart.

Show LabelsOn

The two-letter tag beside each marker. Same as Lb.

Bullish Divergence / Bearish DivergenceLime / Red

Colors for the two sides of divergence.

Bullish Absorption / Bearish AbsorptionDodgerBlue / Magenta

Colors for the two sides of absorption.

Hidden Divergence / Exhaustion / Absorption NodeCyan / Gold / DarkOrange

One color each, used for both sides.

Marker Opacity80

Opacity of every part of each marker (rings, fills, stem and label), 10 to 100. At 80 the markers look as designed.

Signal Lookback Bars0

Only draws markers from the last N bars, up to 500. 0 shows all.

Toolbar

Every signal type, the labels and the detection mode on one pill, with no dialogs and no reload. Hiding a type only hides it: detection keeps running.

As it sits on the chart, default settings. On toggles in teal, off in grey.
  • Power turns Flux’s drawing on or off, and follows the suite-wide Master Switch.
  • Md:R shows the detection mode. Click to switch to Confirmed (Md:C, grey) and back. The change applies from the next bar.
  • BD and BR show or hide bullish and bearish divergence. Hd shows or hides hidden divergence on both sides.
  • Ex, Ab and An show or hide exhaustion, absorption and absorption nodes.
  • Lb shows or hides the two-letter tags.

Pill changes are written back to the matching settings, so they are saved with the workspace. On the pill, BR is bearish divergence; on the chart, both sides of divergence carry the BD tag.

Requirements

Platform
NinjaTrader 8 on Windows. No Order Flow+ subscription required.
Data
A Level 1 feed with trades and the inside bid and ask (Rithmic, CQG, Kinetick and others). Level 2 depth is not required: Flux reads only the best bid and ask.
Tick Replay
Recommended. With it, historical bars use the recorded trades. Without it, historical delta is estimated from each bar’s shape.
Calculation
On bar close. Markers appear when a bar closes, never on a forming bar.
Outputs
Chart markers only. No Strategy Builder plots and no alerts in this version.

Try it in the free private beta

Flux ships as part of the FlowForged Suite. The beta is free.

Join the Discord