The OI, Fusion and Basis features read live Open Interest through Pix Connect and need an active Accelpix OI data subscription. Accelpix is the recommended data vendor.
Rank a whole watchlist by commitment, not just structure
Most scanners rank symbols by price behaviour. With Open Interest in the feed, this one ranks them by where traders are actually building positions — across a hundred symbols at once.
Without OI
You sort on price alone
Two symbols with identical structure look equally attractive, even when only one has fresh money behind it.
With OI
You sort on positioning
Buildup state, OI change and OI velocity become sortable columns across your entire list.
The result
You open the right chart
The symbols where commitment is accelerating rise to the top, so your attention goes where it pays.
Why this is only possible on Accelpix
Running Open Interest across a hundred symbols simultaneously needs a feed built to deliver OI at scale, with history for session comparison. Accelpix provides live OI plus the archive behind it — the reason these columns can exist in a NinjaTrader Market Analyzer at all.
Live OI across your listEvery symbol in the Market Analyzer carries its own live Open Interest.
Session historyPrevious-session OI makes buildup and change-percentage columns meaningful from the first bar.
Same engine as the chartScanner and chart share one calculation, so what you find is exactly what you see when you open it.
Open Interest features require Pix Connect with an active Accelpix OI data subscription. Everything else in the indicator works normally without it.
01
Overview
The Mirra Market Profile Scanner runs the same auction engine as the Mirra Advanced Market Profile chart, but presents it as sortable columns in NinjaTrader’s Market Analyzer. Instead of opening charts one at a time, you rank an entire watchlist by structure and then open charts only on the names worth your attention.
This tutorial takes you from installation to a working scanner grid, explains every setting and all thirty-two metrics with their use cases, and — crucially — decodes the numbers, because many metrics print coded values rather than prices.
How it fits with the chart
Product
Answers
When you use it
Mirra Market Profile Scanner
Which instruments deserve attention right now?
First. Every morning, and whenever you want to re-rank the list.
Mirra Advanced Market Profile (chart)
What exactly is happening on this instrument?
Second. On the two or three names the scanner surfaced.
Because both products share one engine and one set of score weights, a level or day type you see in a scanner column matches the chart exactly — provided four settings are kept identical, which this guide covers.
Close NinjaTrader completely — the whole platform, not just the chart. Installing while it is running is the most common cause of setup problems.
Run the installer and follow the prompts. It places everything where NinjaTrader expects it.
Start NinjaTrader. The first launch prepares the product automatically and may take a few extra seconds.
Activate your licence. Open Help → About, copy your Machine ID, and email it to [email protected] from your registered address. If settings open but nothing draws, activation is the first thing to check.
Enable Open Interest (optional). The OI, Fusion and Basis features need Pix Connect and an active Accelpix OI data subscription. Without it they stay blank and safe; the rest works normally.
Getting started
Five steps to a working scanner. Step 3 is the one that prevents almost every question about “wrong” values — do not skip it.
Step 2 — Create your grid
Open a Market Analyzer window (New → Market Analyzer).
Add your watchlist instruments as rows.
Right-click any column header → Columns… to open the column editor.
Step 3 — Add a Mirra column (and set its data correctly)
In the Columns dialog, add Mirra Market Profile Scanner.
Choose the Metric this column will display — start with MirraScore.
Type a Label for the header, for example “Score”.
Set Data Series → Type: Minute, Value: 1.
Under Time frame set “Load data based on” to Days, with 15–30 days back.
Leave Trading hours on “Use instrument settings” so every symbol follows its own exchange calendar.
Set Exchange preset to your market (or Auto for a mixed watchlist), and click OK.
Step 4 — Add the rest of your columns
Repeat step 3 for each metric you want. A practical grid has six to ten columns — see the ready-made layouts later in this guide.
With your first column configured exactly as you like it, click the preset link at the bottom-right of the Columns dialog and save it as the default, so every future Mirra column opens pre-configured.
Step 5 — Save the grid as a template
Arrange the columns in the order you want to read them.
Right-click the Market Analyzer → Templates → Save As and name it (for example “Mirra Scanner”).
Loading that template later restores every column, metric, label and data setting in one click.
Settings that must match your chart
If you compare a scanner row against the same symbol’s chart, these four settings must be identical in both places, or the two will legitimately disagree.
Setting
Default
Why it must match
TPO period (minutes)
30
Defines the time brackets; different brackets produce different day types and Initial Balance.
Value area %
70
Defines the width of value — directly changes VAH and VAL.
Exchange preset
per market
Defines the session window — changes every session-based figure.
Strong delta threshold (%)
5
Decides when delta counts as strong — changes the score by ±2.
03
Reading it
Several metrics print coded values rather than prices. This section decodes every one. Throughout the scanner a positive number means bullish and a negative number means bearish — so any of these columns can be sorted with the strongest readings collecting at one end.
The MirraScore is built from eight weighted structural signals — the same weighting the chart’s AI Guidance panel uses:
Weight
Bullish when…
Bearish when…
±2
Price is above value
Price is below value
±2
The Initial Balance high is broken
The Initial Balance low is broken
±2
Delta exceeds the strong threshold to the buy side
Delta exceeds it to the sell side
±1
The session opened above prior value
It opened below prior value
±1
Value has shifted higher versus the prior session
Value has shifted lower
±1
The POC has migrated up
The POC has migrated down
±1
A poor high remains unrepaired
A poor low remains unrepaired
±1
A strong buy tail (3+ rows) is present
A strong sell tail is present
DayType codes
Value
Day type
What it means for trading
0
Developing
The Initial Balance has not completed yet — no classification available.
1
Trend
Wide range versus IB with value skewed to one end — join, do not fade.
2
Normal
Range barely exceeds the IB — rotational; fade the extremes.
3
Normal Variation
Moderate extension beyond the IB — the most common day; trade both ways with structure.
4
Neutral
Both IB extremes broken — two-sided auction, indecision.
5
Neutral Extreme
Both broken on a wide range — volatile; be selective and size down.
6
Double Distribution
Two value zones split by a thin gap — the gap is the decision pivot.
7
Non-trend
Extremely narrow, undefined auction — usually best left alone.
Directional and event codes
Metric
Values
Meaning
IbBreak
1 / −1 / 2 / 0
IB high broken / IB low broken / both broken / still inside the IB
PocMigration
1 / −1 / 0
POC moved up / down / unchanged versus the prior session
PoorExtreme
1 / −1 / 2 / 0
Poor high / poor low / both / neither
PoorRepair
1 / −1 / 2 / 0
A prior poor high repaired / poor low repaired / both / none
FailedAuction
1 / −1 / 2 / 0
Failed break at the high / at the low / both / none
BalanceBreak
1 / −1 / 0
Broke above / below a multi-session balance (only when BalanceDays ≥ 2)
VahSignal
1 / −1 / 0
Accepted above the VAH (bullish) / rejected at the VAH (bearish) / neutral
ValSignal
1 / −1 / 0
Rejected at the VAL and bounced (bullish) / accepted below it (bearish) / neutral
SingleRetest
1 / 0
Price is currently retesting an open single-print zone / it is not
Tails
signed count
Positive = buy-tail rows at the low; negative = sell-tail rows at the high; 0 = none of note
Measured values
Metric
Units
How to read it
VPOC / VAH / VAL
price
Actual price levels of the POC and the value-area boundaries
PxVsPocTicks
ticks, signed
Positive = price above the POC. Large values mean price is stretched from value
RangePosPct
0 to 100
Where price sits in the session range: 0 = at the low, 100 = at the high
VaOverlapPct
0 to 100
Overlap between today’s value area and yesterday’s. Low = value shift and initiative
DeltaPct
percent, signed
Net aggressive buying minus selling as a share of volume
RangeExtXIb
multiple
Session range ÷ IB range. 1.0 = no extension; 2.0+ indicates trend behaviour
SessionVolume
shares or lots
Total session volume — in lots on F&O when Lot size mode detects one
NakedPocAbove / Below
price (0 = none)
Price of the nearest untested prior-session POC above and below current price
NakedPocCount
count
How many untested naked POCs remain in the retained history
SinglePrints
count
How many open single-print zones exist in the current session
BalanceDays
count
Consecutive sessions the market has been balancing. Higher = more coiled
WeeklyPocDist / MonthlyPocDist
ticks, signed
Distance to the weekly / monthly composite POC. Positive = the POC is above price
CompositeHvnDist / LvnDist
ticks, signed
Distance to the nearest composite high- / low-volume node
SessionCoveragePct
0 to 100
How much of the current session your column received. 100 = healthy; below 100 = load more days
04
Feature guide
The ten settings
These appear under “01. Scanner Settings” in each column’s properties. They are set per column, so a saved template is the practical way to keep them consistent.
Metric
32 options · default MirraScore
What it does
Selects which single value this column displays — from the master MirraScore to any of the thirty-one detailed metrics.
Use case
One column shows one metric, so add the Mirra column once per metric you want.
Why it matters
You build exactly the grid your strategy needs, and every column stays sortable and alert-capable.
Exchange preset
22 presets + Auto
What it does
Sets the trading-session window used to bound every profile: NSE/BSE, MCX, US equities, CME RTH and Globex ETH, UK, Euronext, Xetra, SIX, Japan, Hong Kong, China, Korea, Taiwan, Australia, Singapore, Canada, Saudi Arabia, Brazil, crypto and forex. Sessions crossing midnight are handled correctly.
Use case
Set to the market your watchlist trades; Auto is best for a mixed list because each symbol follows its own calendar.
Why it matters
Correct sessions mean correct POC, value area, IB and day type — every metric depends on this.
TPO period (minutes)
default 30
What it does
Minutes represented by one TPO bracket when building each profile.
Use case
Keep at 30 and identical to your chart.
Why it matters
Day types and scores match between scanner and chart exactly.
IB sub-periods
default 2
What it does
How many TPO periods form the Initial Balance. Two at a 30-minute TPO equals the first hour.
Use case
Keep at 2 for the classic definition; set 1 on fast markets.
Why it matters
Controls when IbBreak and RangeExtXIb become meaningful, and contributes ±2 to the score.
Value area %
default 70
What it does
The share of activity defining the value area, expanded from the POC by the standard two-row method.
Use case
Seventy percent is the accepted standard; change only if your methodology uses another figure — and change it on the chart too.
Why it matters
Your VAH and VAL match what other professionals watch, so reactions at the edges are shared.
Auto row size
on by default
What it does
Sizes each symbol’s price rows automatically from its own average daily range — the identical formula the chart uses.
Use case
Leave it on for any watchlist.
Why it matters
One scanner handles a mixed watchlist correctly: a ₹200 stock and Bank Nifty are each profiled at a sensible resolution with no per-symbol tuning.
Ticks per row (manual)
integer
What it does
Fixes each price row to an exact tick count. Applies only when Auto row size is off.
Use case
Single-instrument scanners, or watchlists of very similar instruments.
Why it matters
A provably identical grid across all rows when a study demands it.
Strong delta threshold (%)
default 5
What it does
How large the session delta must be before it counts as “strong” and contributes ±2 to the MirraScore.
Use case
Raise it to demand more conviction on noisy instruments. Keep equal to the chart’s setting of the same name.
Why it matters
The scanner’s definition of “buyers dominant” matches yours — and matches the chart.
Lot size mode
AutoDetect · Manual
What it does
How the F&O contract lot is obtained. AutoDetect learns from live trade sizes and re-learns after exchange revisions; on equities it resolves to 1 automatically.
Use case
Leave on AutoDetect.
Why it matters
SessionVolume reads in lots across your whole F&O watchlist with no lot table to maintain.
Lot size (manual)
integer
What it does
The contract lot applied when Lot size mode is Manual.
Use case
Historical-only scans where live trade sizes are unavailable for detection.
Why it matters
Lot-based figures stay correct when automatic detection has nothing to learn from.
Metrics · Core bias & value
Core bias
MirraScore
−10 to +10
What it does
The master auction bias score, combining eight weighted structural signals.
Use case
Your primary ranking column — sort descending for the strongest bullish structures, ascending for bearish.
Why it matters
One number ranks an entire watchlist by structural quality; this is the column to sort by every morning.
Signal
−2 to +2
What it does
The MirraScore compressed into five bands.
Use case
Ideal for cell colouring and for alert conditions such as “Signal crosses above 1”.
Why it matters
A stable band instead of a moving number — fewer false alert triggers.
DayType
0 to 7
What it does
The auto-classified character of the session (see the decode table).
Use case
Filter for the day types your strategy handles.
Why it matters
Tells you which playbook applies — and above all warns you off fading a trend day.
Value & location
VPOC
price
What it does
The volume Point of Control — the most-traded price of the session.
Use case
The single most important reference price per symbol; compare with last price.
Why it matters
Instantly see whether each instrument is accepting or rejecting value.
VAH · VAL
price
What it does
The value-area high and low — the boundaries of accepted trade.
Use case
Two columns give you the full value range per symbol.
Why it matters
The session’s decision points, visible across the whole watchlist without opening a chart.
PxVsPocTicks
ticks, signed
What it does
How far current price sits from the POC, in ticks.
Use case
Sort to find symbols stretched far from value, or hugging it.
Why it matters
Normalised in ticks, so it compares fairly across instruments of very different prices.
RangePosPct
0 to 100
What it does
Where price sits within the session’s range.
Use case
Combine with MirraScore to separate strength at the highs from exhaustion at the highs.
Why it matters
Find symbols trading at the top or bottom of their day at a glance.
VaOverlapPct
0 to 100
What it does
How much today’s value area overlaps the previous session’s.
Use case
Watch for low overlap readings.
Why it matters
One of the earliest signs of a genuine value shift — often visible before price has travelled far.
Metrics · Momentum, magnets & quality
Initiative & momentum
IbBreak
1 / −1 / 2 / 0
What it does
Whether the session has broken its Initial Balance high, low, both, or neither.
Use case
Filter for non-zero values to find symbols that have just extended their range.
Why it matters
Catches the first genuine directional signal of the day, across every symbol at once.
RangeExtXIb
multiple
What it does
The session range as a multiple of the Initial Balance range.
Use case
Look for values above 1.5 alongside a strong score.
Why it matters
Confirms trend behaviour already in motion rather than a guess about it.
DeltaPct
percent, signed
What it does
Net aggressive buying minus selling, as a percentage of session volume.
Use case
Compare against price location.
Why it matters
Reveals who is in control beneath the price — strong positive delta at the lows often signals absorption and a reversal.
PocMigration
1 / −1 / 0
What it does
Whether the POC has moved up or down versus the prior session.
Use case
Use as a directional filter.
Why it matters
Fair value itself trending — one of the cleanest filters available because it ignores intraday noise.
SessionVolume
shares or lots
What it does
Total volume for the session, in lots on F&O instruments.
Use case
Spot unusual participation.
Why it matters
A volume surge alongside a strong score is far more convincing than either signal alone.
Multi-day magnets
NakedPocAbove · NakedPocBelow
price (0 = none)
What it does
The nearest untested prior-session POC above and below current price.
Use case
Use as ready-made targets and reaction levels.
Why it matters
The most reliable multi-day magnets in profile trading — on every symbol, without opening a chart.
NakedPocCount
count
What it does
How many untested naked POCs remain in the retained history.
Use case
Compare across the watchlist.
Why it matters
A high count means a market with clear structural pull rather than one trading in a vacuum.
WeeklyPocDist · MonthlyPocDist
ticks, signed
What it does
Distance from price to the weekly and monthly composite POCs.
Use case
Use for swing context and for intraday trades taken in their direction.
Why it matters
Higher-timeframe fair value on every symbol at once — strong support and resistance.
CompositeHvnDist · CompositeLvnDist
ticks, signed
What it does
Distance to the nearest composite high- and low-volume node across recent sessions.
Use case
Plan where a move should pause and where it should run.
Why it matters
HVNs are multi-day acceptance shelves; LVNs are thin zones price accelerates through.
Auction quality
PoorExtreme
1 / −1 / 2 / 0
What it does
Flags a poor (flat, unfinished) high or low on the current session.
Use case
Check before fading any extreme.
Why it matters
A poor high is a weak ceiling — this column stops you shorting into a level likely to give way.
PoorRepair
1 / −1 / 2 / 0
What it does
Flags when a prior poor extreme has since been revisited and completed.
Use case
Use to know when a magnet has been satisfied.
Why it matters
Tells you the unfinished business is done — that pull is no longer a reason to hold a position.
VahSignal · ValSignal
1 / −1 / 0
What it does
The live reaction state at each value edge — acceptance beyond it, or rejection from it.
Use case
Excellent alert candidates: alert when VahSignal crosses above 0.
Why it matters
Catch the exact moment a value edge is being accepted (breakout) or rejected (fade).
SinglePrints · SingleRetest
count · 1 / 0
What it does
How many open single-print zones exist, and whether price is retesting one right now.
Use case
SinglePrints finds symbols with open targets; SingleRetest tells you which are being tested now.
Why it matters
Single prints tend to get filled — these two columns find the opportunity and its timing.
Tails
signed row count
What it does
The dominant tail at the extremes — positive for a buy tail at the low, negative for a sell tail at the high, magnitude = number of single-TPO rows.
Use case
Use to judge which extreme is trustworthy.
Why it matters
Shows where responsive traders defended aggressively — high-quality reference points for stops.
Structure & data health
BalanceDays
count
What it does
How many consecutive sessions the market has been balancing within a common range.
Use case
Sort descending to find the most coiled symbols before they move.
Why it matters
The longer the balance, the more significant the eventual break.
BalanceBreak
1 / −1 / 0
What it does
Fires when price breaks out of a multi-session balance area.
Use case
The single best column to attach an alert to.
Why it matters
Balance-area breakouts are among the highest-quality directional setups in profile trading.
FailedAuction
1 / −1 / 2 / 0
What it does
Flags a break of a reference level that immediately reverses back inside.
Use case
Combine a failed high with a negative score for high-conviction shorts.
Why it matters
Failed breakouts frequently run hard in the opposite direction.
SessionCoveragePct
0 to 100
What it does
The percentage of the current session this column’s data series actually delivered.
Use case
Keep one of these columns in every grid and check it reads 100.
Why it matters
Your data health check — the first column to look at if anything seems wrong, and it explains most “wrong value” reports instantly.
05
Open Interest columns
Open Interest columns
The Market Profile Scanner now ranks your whole watchlist by open-interest commitment, not just price structure — so the symbols where real money is positioning rise to the top.
OiChangePct
signed %
What it does
The session's change in open interest as a percentage.
Why it matters
Sort it to find where positions are being built fastest across your list.
OiBuildup
LB · SB · SC · LU
What it does
The buildup state per symbol — long/short buildup, covering or unwinding — as a signed value and a word.
Why it matters
Scan for fresh long or short buildup across a hundred symbols in one glance.
OiVelocity30m
per 30 min
What it does
How fast OI is changing over the last thirty minutes.
Why it matters
Surfaces the symbols where commitment is accelerating right now.
OiScore / OI Value-area position
signed
What it does
A composite OI conviction score and where price sits versus the OI value area.
Why it matters
One sortable number to rank the whole list by positioning quality.
OiMigration & compression/expansion
auto
What it does
Consecutive-session OI-POC migration count, plus whether commitment is compressing or expanding.
Why it matters
Finds multi-day positional trends and the moments they tighten or break out.
06
Alerts
Where your alerts appear
Every Mirra alert is raised through NinjaTrader's own alert system, so it behaves exactly like a platform alert rather than a line buried in a log file. Open it from the Control Center menu: New → Alerts Log. Keep that window docked beside your charts and it becomes a running feed of everything the indicators and scanners have spotted — across every instrument you have loaded.
Open the window. In the NinjaTrader Control Center, choose New → Alerts Log.
Dock it where you can see it. Drag the window into your workspace — many traders park it under the chart or on a second monitor.
Turn alerts on in the indicator. Open the settings and go to the Alerts group, switch the master toggle on, then enable just the events you care about.
Save the workspace so the Alerts Log opens with your layout every morning.
How every alert behaves
Colour-coded priority
green · red · grey
What it does
Each alert is raised with a priority that NinjaTrader renders as a coloured band in the Alerts Log — green for bullish events, red for bearish, grey for neutral.
Why it matters
You can triage a busy list at a glance and act on direction before you read a single word.
Audible cue
Alert2.wav by default
What it does
Plays a sound file from NinjaTrader's sounds folder whenever an alert fires. Point it at any .wav you like, including a full path to your own file.
Why it matters
Lets you work on something else and still be called back the moment a setup appears — the whole point of running a scanner.
Message with the numbers
instrument · event · value
What it does
Every entry names the instrument, the event and the number behind it, so the alert is actionable without opening the chart first.
Why it matters
You can decide whether an alert is worth a chart from the Alerts Log line alone.
Re-arm cooldown
per event / per symbol
What it does
After an alert fires, that same event stays silent for the cooldown period before it can fire again.
Why it matters
Stops one choppy instrument from flooding the log and burying the alerts that matter.
Scanner alert events
This is where alerts earn their keep: the scanner watches every symbol in your Market Analyzer and calls you only when something happens. You never have to stare at the grid.
IB break
IB↑ / IB↓
What it does
Fires when any symbol breaks its Initial Balance.
Why it matters
Catches the session's defining move across a hundred symbols at once.
Balance break
BAL
What it does
Fires when a symbol leaves a balanced range.
Why it matters
Breakouts from balance are where sustained moves start — this finds them list-wide.
Failed auction
FA
What it does
Fires when a symbol pushes to an extreme and is rejected.
Why it matters
Surfaces reversal candidates you would never have found by scrolling.
POC shift
VPOC
What it does
Fires when a symbol's Point of Control migrates meaningfully.
Why it matters
A migrating POC signals the auction is repricing — often before the obvious breakout.
Open Interest events
buildup · velocity
What it does
Fires on fresh long or short buildup and on accelerating OI change.
Why it matters
Finds the symbols where real money is committing right now. Requires an active Accelpix OI data subscription.
Scanner alert settings
Enable scan alerts
master toggle · default off
What it does
Switches scanner alerting on. Alerts appear in the Alerts Log for whichever symbol triggered them.
Why it matters
One switch turns your watchlist into a monitored radar.
Alert cooldown
minutes · default 5
What it does
How long a symbol stays silent for a given event after firing.
Why it matters
With a hundred symbols running, this is what keeps the log readable.
Alert sound
Alert2.wav
What it does
The sound played when any scanner alert fires.
Why it matters
An audible cue means you can work on a chart and still be called to the list.
Last event column
minutes-since
What it does
Shows the most recent event per symbol and how long ago it fired, so freshest sorts to the top.
Why it matters
Even if you miss the sound, one sort shows you everything that just happened.
07
Workflows
Ready-made column layouts
Four proven grids. Add one Mirra column per metric listed, sort by the first, and save the result as a Market Analyzer template.
Check SessionCoveragePct reads 100; match TPO period, Value area %, Exchange preset and delta threshold to the chart (The column loads too few bars, or a setting differs)
IbBreak always 0 and scores look two points low?
Set “Load data based on” to Days with 15–30 days back (The column’s data starts after the first hour, so no IB formed)
SessionVolume much lower than the chart?
As above; confirm with SessionCoveragePct (Same cause — the morning’s volume was never received)
Multi-day columns are empty or zero?
Raise days back to at least 15 and give the analyzer a moment to process (Not enough history loaded yet, or too few days back)
DayType stays 0?
Normal before the first hour finishes; if it persists, check coverage (The Initial Balance has not completed)
A column header will not take a label?
Remove the column, restart NinjaTrader completely, then add it again and type the label (The column was configured under an older build)
Where do Mirra alerts appear in NinjaTrader?
They are raised through NinjaTrader's own alert system, so they appear in the Alerts Log — open it from the Control Center with New then Alerts Log. Each entry carries a coloured band (green bullish, red bearish, grey neutral) and plays a sound.
Why am I not getting any alerts?
Check three things in order: the master alerts toggle is on, the specific event you expect is enabled, and the Alerts Log window is actually open. If everything is on but there is no sound, confirm the .wav file name exists in NinjaTrader's sounds folder or supply a full path.
How do I stop one instrument flooding the alerts log?
Raise the re-arm cooldown. After an alert fires, that same event stays silent for the cooldown period before it can fire again, so a single choppy symbol cannot bury everything else.
Ready to run Market Profile Scanner on your charts?
Download from either page, then activate with your Machine ID. Every Mirra scanner is exclusive to Accelpix Live Data subscribers and optimised for the Accelpix feed. The Open Interest features need an active Accelpix OI data subscription — Accelpix is the recommended data vendor.