Risk disclosure
© 2026 Erianux LLC. All rights reserved.

ManualsEssential FlowKit2026.09.16.2Updated 23 September 2026

Essential FlowKit

One indicator for your price panel: the day's profile, the reference levels traders mark each morning, and order blocks with retest alerts. Written from the indicator's source.

What it is

Essential FlowKit is one indicator that draws two things on your price panel.

A market profile for each trading day. It counts which 30-minute periods (brackets) traded at each price, draws those counts as cells from the start of each day, and draws today’s profile a second time against the price axis so the two point at each other. From that profile it marks the point of control, the value area and the day’s high and low, and describes the day’s structure in words on the price tags.

Erianux Order Blocks. A momentum reading built from four rate-of-change horizons is compared with a threshold that adapts to its own recent history. When momentum breaks through the threshold, the indicator marks the candle the move started from as a block, tracks every time price comes back to it, and ends the block when price closes through it. The three newest live blocks are summarised in a dashboard at the top centre of the chart.

It also draws the reference levels most futures traders anchor to: the prior day’s regular-hours high, low and close, the overnight range, the prior week, the prior month and an N-day channel.

It places no orders and makes no network requests.

Installing it

  1. Import the package through Tools > Import > NinjaScript Add-On in NinjaTrader 8.
  2. Open a chart, then Indicators, and add Essential FlowKit.
  3. The indicator checks your NinjaTrader licence for this product when it loads.

It runs on the price panel and is a chart-only indicator, so it does not appear in the Market Analyzer.

It always calculates on bar close. Every block rule (birth, retest, end) and the profile’s bracket counting are close rules. If you choose another Calculate setting in the dialog, the indicator sets it back to On bar close and says so once.

What it draws

The profile

  • Cells. Each row is a price band (by default 4 ticks, one point on NQ). The number of cells in a row is the number of brackets that traded there.
  • Point of control (POC). The row touched by the most brackets. Drawn as a heavy solid line.
  • Value area high and low (VAH, VAL). Starting from the POC, the value area grows one row at a time, always taking the fuller neighbour, until it holds the chosen share of all the day’s cells (70 per cent by default). Its edges are dashed lines.
  • Session high and low. Dotted lines.
  • Single prints. Rows only one bracket ever traded at, marked in their own colour.
  • Mirrored profile. Today’s profile is drawn again at the price axis, growing left.

Bracket length follows your chart. On a minute chart whose bars are longer than the bracket setting, the bracket becomes the bar length. On daily, weekly, monthly and yearly charts one bracket is the whole session. On tick, range and volume charts the bracket setting is used as set.

Auction context on the tags

When Auction context is on, the profile’s price tags also say:

  • The day’s shape. Balanced (D) when the widest part is in the middle; P when it sits in the upper third over a thin tail; b when it sits in the lower third; double distribution when two fat halves are separated by a thin waist (a row holding a quarter or less of the POC’s width), with each half holding a real share of the day.
  • How each extreme finished. Walking in from the high (or low), two or more rows traded by a single bracket is excess: the market was rejected there. An extreme that is already two brackets wide is poor: it simply stopped where the clock ran out.
  • Where value went against the previous day: higher, lower, overlapping, inside or unchanged.

These describe the structure already on the chart. They are not predictions.

Key levels

Level What it is
PDH / PDL / PDC Yesterday’s regular-hours high, low and close. If the regular-hours window had no bars, the whole trading day is used
ONH / ONL The overnight high and low before today’s regular-hours open
PWH / PWL Last week’s high and low, whole trading days
PMH / PML Last month’s high and low, whole trading days
N-day high / low The highest high and lowest low of the last N finished trading days

The regular-hours window is set in New York time, whatever time zone NinjaTrader is set to, so the same day gives the same levels on every machine. A level that needs more history than the chart has loaded is left out, and the diagnostic report says which.

Axis chips

Each level’s name and price can be shown as a chip in the price axis, in the level’s own colour. Levels closer than the merge tolerance share one chip. If the price axis cannot be found on a layout, the tag is drawn inside the chart instead.

Order Blocks

How a block is born. Four rate-of-change readings (5, 13, 21 and 34 bars by default) are averaged, each scaled by its own recent size first so the long horizon cannot drown the short one, then smoothed. The threshold is two times a robust measure of how far that reading usually strays from its middle over the last 100 bars (the median absolute deviation, scaled to match a standard deviation on normal data). When the reading crosses above the upper threshold, a bullish block is born; below the lower one, a bearish block. With Breakout must be rising on, the reading must also be moving away from zero on that bar.

Where the block sits. The block covers the high-to-low range of the first opposite-coloured candle in the five bars before the breakout: the last down candle before a bullish move, or the last up candle before a bearish one.

Retests. A bar retests a bullish block when its low reaches into the block and it closes at or above the block’s bottom (the mirror image for a bearish block). The retest candle’s body is filled in the block’s accent colour and the count goes up by one. Consecutive bars do not count twice.

End of a block. A bullish block ends when a bar closes below its bottom; a bearish block when a bar closes above its top. Ended blocks stop where they ended; live blocks extend a set number of bars ahead of the last bar.

Overlapping blocks. Where two blocks overlap in both price and time, only one is drawn. Live blocks come before ended ones; among those, blocks are ranked by recency unless the indicator’s own record of past blocks supports ranking them another way. A hidden block counts no retests and raises no alerts until it shows again.

Buy and sell split. Each block carries a buy/sell percentage for the five bars at its birth. On history and live alike this is estimated from bar data (bulk volume classification), not read from the tape, and the dashboard labels it “Est. buy”.

No letter grade is drawn on the chart. The indicator scores each block internally from volume, momentum, candle size and order flow, but that score only decides which overlapping block is drawn, and only while the record backs it.

The zone dashboard

Three connected cells at the top centre of the chart, one per live block, newest first. Each block on the chart carries the number of its cell. A cell shows:

  • the number, and Demand (bullish) or Supply (bearish)
  • Untested, or the number of retests
  • the block’s price range
  • unless Dashboard: identity only is on: its height in points, the birth bar’s volume against its 20-bar average, and the estimated buy share; when it formed and how many bars ago; and its context at birth

Context at birth is one of:

  • Formation L2 n% bid: the bid side’s share of the size in the top five levels of the order book when the block formed (live only, see below)
  • n ATR from POC: how far the block’s middle was from the session’s point of control, in average true ranges
  • Squeeze: the block formed out of a quiet period (momentum in the bottom 30 per cent of its last 200 bars)
  • Block prints: at least 15 per cent of the birth bar’s live volume came from trades five or more times the average trade size

Empty cells read Waiting for a zone.

Market depth and the live tape (read only)

While the chart is live, the indicator reads two things NinjaTrader already sends it. It never writes to either, and neither affects an order.

  • The order book (Level 2). It keeps a copy of up to 256 levels on each side from NinjaTrader’s market depth updates. At the moment a block is born, and only then, it records the bid side’s share of size in the top five levels and the bid-ask spread in ticks. It only records them if both sides have at least five levels, both were updated in the last five seconds and the book is not crossed. The copy is cleared when the price connection drops.
  • Trades (the tape). Each trade is counted as at the ask or at the bid, and large trades are tallied. These feed the order-flow part of a live block’s internal score. On history there is no tape, so the estimate from bar data is used.

No extra data series is requested; the indicator does not ask the feed for tick history.

Alerts

With the chart live:

  • Retest alerts (low priority) when a block is retested, if Retest bars is on.
  • Divergence alerts (medium priority) when price and the momentum reading diverge at confirmed pivots, if Divergence alerts is on. Nothing is drawn for a divergence; it is noted on the block record.

Alerts go through NinjaTrader’s own Alerts window and re-arm after 10 seconds.

Every setting

Profile

Setting Default What it does
Session profile On The profile drawn from each trading day’s start
Mirrored at price axis On Today’s profile drawn again against the price axis, growing left
Levels On POC heavy and solid; VAH and VAL dashed in one muted colour; the session high and low dotted
Level chips On Each level’s name and price as a chip in the price axis. Falls back to an in-chart tag where the axis cannot be found
Auction context On The day’s shape, where value went and how each extreme finished, on the profile’s tags
Single prints On Marks prices only one bracket traded at
Sessions to draw 3 How many days of profile to draw (1 to 500)
Tag backgrounds On Draws each price tag on a neutral plate with a coloured accent. Off = text only
Single print minimum run 1 Mark every single-print row, or only runs of this many rows or more (1 to 20)
POC historical fade Off POC at full weight only from the last bar forward, a hairline behind it
Value area fill Off Tints the area between the value edges

Key levels

Setting Default What it does
Prior day On PDH / PDL / PDC
Overnight On ONH / ONL
Prior week On PWH / PWL
Prior month On PMH / PML
N-day channel On Highest high and lowest low of the last N finished days
N days 20 Lookback for the channel (2 to 100)
RTH open (HHMM, New York time) 0930 Bars closing before this are overnight
RTH close (HHMM, New York time) 1600 The last bar closing inside the window sets the prior day’s close

Sizing

Setting Default What it does
Ticks per row 4 Price height of one profile row (1 to 100)
Bracket minutes 30 Minutes per bracket (1 to 240); see “Bracket length follows your chart”
Value area % 70 Share of the day’s cells inside the value area (1 to 100)
Cell width (px) 6 Width of one profile cell (2 to 40)

Oscillator

Setting Default What it does
Fast period 5 First rate-of-change horizon (1 to 250)
Medium period 13 Second horizon (1 to 250)
Slow period 21 Third horizon (1 to 250)
Macro period 34 Fourth horizon (1 to 250)
Smoothing 5 Length of the smoothing applied to the averaged reading
Normalize horizons On Scales each horizon by its own recent size before averaging
Breakout must be rising On A breakout only counts while the reading is moving away from zero
Threshold multiplier 2.0 How extreme momentum must be to give birth to a block. Higher gives fewer blocks

The momentum reading itself is not drawn on the price panel. Its values stay available to strategies as plots.

Order Blocks

Setting Default What it does
Divergence alerts On Alerts on regular divergences at confirmed pivots; nothing drawn
Pivot strength 5 Bars either side that must be lower (a high pivot) or higher (a low pivot) (2 to 20)
Show order blocks On Draws the blocks
Max blocks per side 3 How many bullish and how many bearish blocks are kept (1 to 10)
Volume stats On The estimated buy/sell split on each live block
Retest bars On Fills the retest candle’s body and counts it; also turns on retest alerts
Extend ahead (bars) 15 How far live blocks run past the last bar (0 to 100)
Zone dashboard On The three cells at top centre
Dashboard background On The dashboard’s panel. Off = text alone
Dashboard: identity only Off Compact cells: demand or supply, retests and price range only
Dashboard: match chart theme On Light or dark dashboard to suit the chart. Off = the colours below

Axis chips

Setting Default What it does
Monogram On The level’s short name in front of its price on the chip
Merge tolerance (ticks) 1 How close two levels must be to share one chip (1 to 50)
Chip filled On Filled in the level’s colour with dark text; off = outlined
Cover axis numbers On The chip covers the platform’s own number at that price

Colours

POC (violet), Value area high and Value area low (muted steel), High / Low (steel blue), Single print (goldenrod), Bullish block, Bearish block, Bullish accent and Bearish accent (used for retest fills and alerts), Prior day levels (amber), Overnight levels (sky), Prior week levels (lavender), Prior month levels (coral), N-day channel (slate), Tag text, Dashboard background and Card text.

Diagnostics

Setting What it does
Send diagnostic report A one-shot button, not a saved setting. On the next bar it writes this chart’s report, copies it to the clipboard and opens a pre-addressed email to support@erianux.com for you to send. Nothing is sent automatically

What it does not do

  • It places, changes and cancels no orders.
  • It makes no network requests. The only thing it opens is your own email program, and only when you press Send diagnostic report.
  • It does not draw the momentum reading or a grade letter on the chart.
  • It does not predict. Shapes, finishes and levels describe what has already traded.

Troubleshooting

Levels are missing. Load more history. The prior month, for example, needs the previous month’s bars on the chart. The diagnostic report lists any level left out and why.

The dashboard shows “Waiting for a zone”. There are fewer than three live blocks. Blocks need the momentum reading to break its threshold, so a quiet market gives fewer.

The buy/sell split looks different from your footprint. It is estimated from bar data, not read from the tape, and it says “Est.” for that reason.

Something looks wrong. Open the indicator’s settings, press Send diagnostic report, then paste the report into the email that opens (it is on your clipboard). The report is also saved under Documents\NinjaTrader 8\Erianux\.