Chart indicator for NinjaTrader 8

DynamiFlow

The order book recorded and replayed up to five days back, the footprint of every candle, and a dashboard that says who is pushing, how toxic the flow is, and how far the next zone sits. DynamiFlow reads the flow itself, depth and trades, with no other indicator.

NinjaTraderRecommended Platform

ES SEP26, 200 ticks · version 1.9.45, Delta mode, two active zones out of 73

Launch offer
$499Previous price$599

Lifetime license · 1 workstation · or $39/month · excl. tax

Launch price, on the first 50 licenses. Then $599.

Secure checkout via Whop

5 days of order book replayed

when the chart opens, from the local database on your machine. Live data always wins

232 settings exposed

in named groups, each explained in the properties window, three languages

3 interface languages

French, English, Spanish, built-in help included

2 indicators, one key

DynamiFlow on the price, DynamiFlow Panels in its own pane. The second finds the first by itself

What you get alone, and what adds up

DynamiFlow reads market depth and trades itself, and ships its own copy of the order book engine. It requires no other product. One thing comes from elsewhere: confluence zones.

With DynamiFlow alone

The whole flow, nothing else to install:

  • Recorded order book heatmap, volume profile and live ladder in the right margin, liquidity walls
  • Per-candle footprint: mirror bars, volume gaps, imbalances, bar POC, delta, ABS / DIV / UA, block bubbles
  • Dashboard: CVD, delta, aggression over 5 and 15 minutes, last block, toxicity and its regime
  • Daily, weekly and monthly VWAP with standard deviation bands, 5-day Camarilla pivots, stacked zones, delta rails, naked levels
  • With Panels: SYNTHESE, PRESSION, TOXICITE, EFFORT / RESULTAT, CVD bands and the BLOCS / MITRAILLE / MURS / PULL grid

If you also have DynamiConfluence

Its zones enter DynamiFlow, with no setting to touch:

  • Active, lingering and historical zone bands, drawn under the price
  • The dashboard line « Zone [n] price · N t »: the next zone, its size, its distance
  • The HOLDS or GIVES gate read in the order book as the zone is approached
  • DynamiFlow's walls and stacked zones published to DynamiConfluence, the other way round
  • Without DynamiConfluence this layer stays empty. Nothing breaks, nothing shows

The order book no longer vanishes when you close the chart

Every bar records its order book column into a local SQLite database, on your disk. When the chart opens, DynamiFlow replays up to five days of heatmap, blocks, bursts and pulls, then live capture takes over: live always wins over the database.

What comes back: the heatmap, the walls re-derived from recorded columns, the toxicity summarised per bar as minimum, average and maximum. What does not: wall pulls. A pull is an instant, a frozen column only shows the state after it. An empty PULL lane before start-up is normal.

The order book only fills in real time. The footprint, deltas and profile exist from the historical load with Tick Replay.

16:00. Toxicity 28, REBOUNDS regime. A 306-lot sell block just went through.
Thirty seconds later. Toxicity 62, CONTINUATION regime, aggression at 3.5 times normal. The SYNTHESE band turns red.
16:01. Toxicity 78, aggression at five times normal, price crosses R3. Three screenshots, one minute: that is what the dashboard sums up.

The dashboard, line by line

Seven lines, top left, refreshed on every timer tick: synthesis, pressure (as an aggression curve and as a histogram), toxicity, effort / result and its yield, event grid, CVD. Each comes from a measurement, none is advice.

Toxicity 68, CONTINUATION regime, aggression at 1.9 times normal over 5 minutes, a 116-lot sell block 1 second ago, the nearest zone 3 ticks away. Six lines hold it all.
  • CVD session +10.3k ▼: the cumulative delta since the session open, and its slope over the last 10 bars
  • Delta barre −24: market buys minus sells, on the forming candle
  • Agression 5 min +1.1k (×0.6) · 15 min +11.3k · pic 15:38: net of blocks and bursts over rolling windows. The ×N compares with the past two hours; the line colours from ×1.5
  • Bloc VENTE 106 il y a 73 s: the last market block and its age, while under thirty minutes
  • Toxicité 9 · REBONDS: a 0 to 100 score. Below 40, REBOUNDS regime; above 50, CONTINUATION; in between, NEUTRAL
  • Zone [3] 7715.00 · 31 t dessous: the next DynamiConfluence zone, its level count, its distance in ticks. Absent without DynamiConfluence
  • v1.9.45 | Delta | ech. 188 | seuil 37 auto: the legend, top right. Version, order display mode, colour scale and heatmap threshold, both computed on their own

Every candle, opened

The footprint replaces candlesticks. Each level shows its sells on the left and its buys on the right as mirror bars, its volume as a graded background, and whatever stands out in colour.

  • Volume gap: an empty cell when the level weighs under 15% of the bar's maximum
  • Imbalance: a green or red border when one side is 3 times the other, with at least 20 lots, diagonally as the classic definition goes. The gutter on the right says by how much
  • Bar POC in a white frame, big level in orange from 150 lots, net delta under the candle, and its path (+400 / −180) when the candle is wide enough
  • ABS: at least 150 lots on the two extreme levels, one and a half times the opposite side, and a close pulled back by two ticks or more. UA: 20 lots on both sides at the extreme level. DIV: the candle closes against its delta
  • Block bubbles: a market execution of 100 lots or more, placed at its average price. Cyan for buys, magenta for sells. The radius follows the size. White ring: everything went in a single execution; no ring: a sweep of several prints in under 300 ms
ABS 51, ABS 64, ABS 67: absorptions frozen at the close, with their toxicity. UA marks the extreme levels where both sides traded.
The bubbles: 200, 174, 162 lots. Cyan for buys, magenta for sells, the radius by size, the ring when it all went at once.
Five minutes of fighting on R3 J-2. Absorptions chain up, bubbles grow, and SYNTHESE alternates with no lasting side.

The bottom bands: context, never a signal

Since version 1.9.45, DynamiFlow no longer draws any band. DynamiFlow Panels draws them in its own resizable pane and finds DynamiFlow by itself. The built-in help says it in one sentence: none is a signal, it is context.

SYNTHESE and PRESSION under the chart. On 3 September at 15:55, toxicity at 65 tilts the score towards continuation.

SYNTHESE

A −1 to +1 score: 50% net aggression, 25% order book, 25% CVD momentum over 8 bars. Weighted by the toxicity regime, ×1.25 in continuation, ×0.6 in rebounds, and penalised for ten bars after a fade of the side. Green, grey or red, intensity is conviction. A sound when it crosses ±0.5, on closed bars only.

PRESSION

One raw material: trades sorted by side. Green curve, market buy volume smoothed over 8 bars; red curve, sells; grey line, the bid's share of the book, dashes at 50%. Behind them, the histogram of the two curves' difference.

TOXICITE

The percentile of Kyle's lambda combined with VPIN, 0 to 100, global to the instrument. A variable of time, never a per-price score. White, the raw measure per bar; orange, its fast average over 7; blue, the slow one over 25; dotted, your 40 and 50 thresholds. On the chart, only a 10% background tint remains.

EFFORT / RESULTAT

Bar volume over its move in ticks, normalised by its own average. At twice normal, absorption: ACH 64% when buyers carried the aggression and got swallowed. At half, a void on the other side. Two absorptions of the same side within twelve bars and eight ticks make a MUR.

BLOCS / MITRAILLE / MURS / PULL

Four lanes. Blocks: 100 lots or more at market. Bursts: 150 lots in ten executions over two seconds. Walls: two levels at twice their side's average. Pull: a wall losing 30%, executed volume deducted first, otherwise an eaten wall would count as a pull. Height is intensity; colour is the side.

CVD

The session's cumulative delta as candles, reset at every session open. On the price only the divergence triangles remain, when price makes a 20-bar extreme and the CVD does not follow.

On the price, layer by layer

The heatmap shows resting orders

One column per candle, one cell per tick: these are orders resting in the book, not executions. It is the opposite of the footprint. The visibility threshold sets itself, at the 25th percentile of the last sixty seconds; the colour scale at the 95th percentile of the last 300 bars. A white frame marks a package above your big-order threshold.

Profile on the left, ladder on the right

The profile accumulates traded volume per price since the open, with the visible-range POC in a white frame, a 70% value area, HVN nodes above 50% of the POC and LVN below 25%. The ladder shows the instant state: a wall is two consecutive levels at twice their side's average, gold for buys, red for sells. A lone yellow bar is a strong level with no neighbour.

Three VWAPs, their bands, three days

Daily, weekly anchored on Monday, calendar monthly, each with two standard deviation bands and its own switch. Three days shown by default, adjustable up to the whole loaded history. The J +1σ, S +2σ, M +2σ labels stack without overlapping.

Hosted Camarilla, five days

Enabled in the All-in-one chapter, without adding the indicator to the chart. R4, R3, S3, S4 always drawn, R2 and S2 by default, R1 and S1 optional. The J-2 suffix says the level comes from two days back; the line thins with age. Drawn in the foreground: a decision level does not drown under the heatmap.

Stacked zones

Two imbalances stacked in one candle make a zone, extended to the right until price comes back to cover half of it. A filled zone stays drawn, at a third of the opacity.

Delta rails ×N

Three distinct candles defending the same price within two ticks, with at least 5% of their volume in delta, draw a rail. It is born with its ×N label, extends, and stops when price crosses it beyond the tolerance.

Naked levels

nPOC, nVAH and nVAL of past sessions never touched since. A touched level switches itself off, for good.

One button, one menu, one help

A DynamiFlow button in the chart toolbar: On the price, VWAP, Book, Toxicity, Decision help, Voice alerts, and the symbol glossary in three languages. No checkbox stops a calculation: ticking a family redraws its whole past, with no reload.

Sound and voice alerts

Big block, attack, wall, absorption: one sound each, with an anti-burst delay, and the Windows voice if you tick it. Nothing that says buy or sell.

What the indicator does not do

The built-in help says it before we do: this is context, not advice.

No buy or sell signal

Reversal arrows, REJ tags, badges and the scenario box were removed in 1.9.44: those layers contradicted each other on screen. What remains describes, it does not recommend.

The dashboard only exists in real time

Not in replay, not on historical data. The heatmap comes back from the local database; wall pulls do not.

The heatmap is not traded volume

A bright band is not « a lot traded here » but « many orders rest here and have not been hit ». Traded volume is the footprint and the profile.

A symbol vanishing on zoom-out is not a failure

Under 12 pixels of bar width, labels fade, bubbles become dots, the footprint gives way to a summary candle under 7 pixels. The detector ran; the drawing gave up.

No confluence zones without DynamiConfluence

DynamiFlow computes no zone. It displays those DynamiConfluence publishes to it, and without it the layer stays empty.

No execution, no position management

The indicator places no order and manages no position. No symbol is wired to a strategy.

Requirements

NinjaTrader 8 and a level 2 data subscription, meaning one with market depth. Without it the heatmap stays empty: that is not a fault in the indicator, it is the book not arriving. No heatmap, no walls, no toxicity. Volume bars recommended; the guide advises against Renko and Range.

Two indicators to add to the same chart, DynamiFlow then DynamiFlow Panels, on one key. Panels finds DynamiFlow by itself, even in another window of the same instrument.

The license is delivered by our server from the email and key entered in the properties. The calculation core comes with it; a three-day grace after the last successful contact with the server covers network outages.

One SQLite database per instrument on your disk, written by the timer, never on the tick stream. In memory, the footprint keeps 4,000 bars by default, about 3.5 KB each.

Free trial

Try DynamiFlow for 14 days

Install DynamiFlow and Panels on your NinjaTrader 8 and judge on your own flow. Every layer, no credit card. The key arrives by email.

Start the free trial

No credit card. The link and the key arrive by email.

Choose your plan

Cancel anytime on monthly and annual*. Launch price on the lifetime license.

Monthly
$39/month

Read the flow for a month, stop whenever you want

  • Every layer, DynamiFlow and Panels
  • Updates while subscribed
  • Cancel any time
Subscribe monthly
Most popular
Annual
$299/year
Save 36% vs monthly
Equivalent to $24.92/month

The right deal for a full year

  • Every layer, DynamiFlow and Panels
  • Updates for 12 months
  • Priority support
Subscribe yearly
Launch
Lifetime
$499Previous price$599
one-time payment

Launch price on the first 50 licenses, then $599.

  • Every layer, DynamiFlow and Panels
  • Updates for version 1.x
  • 1 workstation
Get the lifetime license
Prices exclude tax. Secure checkout via Whop.Prices exclude applicable taxes (VAT / sales tax depending on your country)* 30-day money-back guarantee on the first payment (T&Cs, art. 9). Beyond that, any started month or year remains due until its end, subject to the rights granted by the law of your country.Prefer to try first? Start the free trial

Questions we get asked

Is the DOM Suite required for toxicity, spoofing and icebergs?
No. DynamiFlow subscribes to market depth and trades itself, and the package delivered by the server ships its own copy of the order book engine. Toxicity, wandering spoof and icebergs work with DynamiFlow alone. Were the engine missing, the dashboard would show « Toxicity n/a » rather than a wrong number.
Why a subscription, and what happens when it ends?
The calculation core is not in the installed file: it is delivered by our server at start-up, once the license is verified. Without it the indicator stays an empty shell: zones, rails, VWAP, SYNTHESE and EFFORT do not exist. At expiry the cut-off comes within the following hours; a three-day offline grace protects a session, not the subscription. The lifetime license does not raise the question.
If I close NinjaTrader, do I lose the heatmap?
No. Every bar writes its order book column into a local SQLite database. On reopening, up to five days are replayed, and live takes over. Only wall pulls are not replayed: they are instants, not states.
Why two indicators?
Since version 1.9.45, DynamiFlow no longer draws the bottom bands: the chart keeps its full height for the price. DynamiFlow Panels draws them in a resizable pane, finds DynamiFlow by itself, and has no license field: one key covers both.
And with DynamiConfluence?
The two see each other with no setting. DynamiConfluence publishes its zones, DynamiFlow draws them under the price, quotes them in its dashboard and reads the HOLDS or GIVES gate as they are approached. The other way, DynamiFlow publishes its walls and stacked zones to it. The bundle brings both on a single key.
On which instruments?
Any instrument your provider sends market depth for. Default thresholds are tuned for the ES; all of them adjust. The guide works on Volume bars, 1,000 for execution and 4,000 for context.

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