For NinjaTrader 8 · Futures · Intraday

Every signal has to show its work.

It watches for liquidity being taken, scores the rejection out of 29 across named levels, displacement, structure and real order flow, and prints the arrow only if the number clears the bar. Then it draws the stop and the target it would use. Nothing repaints.

Bar-close only
Never repaints
Named liquidity levels
Learns on your chart

Watch it score one

A run at the previous day's low, a wick straight back through it, and a displacement candle out. The panel on the right fills in as the engine confirms each piece — that same breakdown sits in the bottom-right corner of your real chart.

Last signal

SWEEP+2
LVL (PDL)+5
SWEEP QUALITY+2
REJECTION WICK+2
VOLUME+1
DISPLACEMENT+3
MSS (HTF)+4
FVG (fresh)+2
DELTA / ABSORB+2
SYNERGY+2
0/29
waiting for a sweep…
A+ LONG · stop and target drawn
Dashed line — untapped liquidity, named
Blue box — the rejection block itself
Red / green lines — the plan it would take

Illustration on generated data. Your chart's numbers will be your chart's numbers.

What it is actually looking at

Ten components, each one either verifiable on the bar or not scored at all. No black box and no "proprietary algorithm" — every point on the chart traces back to something you can go and look at yourself.

It matters what got swept

A raid on the previous day's low is not the same event as a poke through a minor swing, so they are not worth the same. Levels are ranked — daily, weekly and monthly extremes at the top, plain N-bar highs at the bottom — and the level that was taken is named on the signal, not just counted.

Displacement, in tiers

The candle leaving the zone tells you whether anyone actually stepped in. Weak, strong and explosive are separate tiers measured against ATR and body ratio, so a lazy drift out of a zone never scores like a bar that snapped out of it on volume.

Structure has to agree

A market structure shift right after the sweep is the strongest single component here, and it scores higher again when the 15-minute structure flipped the same way. A fresh shift in the opposite direction subtracts — the engine is willing to argue against its own setup.

Real order flow, not a proxy

Every trade tick is classified by whether it hit the bid or lifted the offer, and the bar's delta becomes two components: aggression flipping with you, or heavy opposing aggression that price simply refused to follow. That second one — absorption — is the tell most indicators cannot see at all.

The plan is drawn for you

Stop beyond the structure with an ATR floor that widens automatically when volatility is high. Target reaches for real external liquidity first — the previous day's high, the overnight extreme, the opening range — and only falls back to an internal swing when nothing external is in range. Minimum 1.5R, always.

It keeps score on your chart

Every signal is tracked forward against its own stop and its own target, and how often that target came first is written next to the next signal of the same type. The file lives in your NinjaTrader Documents folder, one per instrument and timeframe, and it keeps building across restarts. It is a record of what happened, not a prediction.

The whole scorecard

This is the entire thing. There is nothing else in there.

ComponentPointsWhat has to be true
Liquidity sweep+2Price traded through an untapped level and came back.
Which level+1…+5Daily, weekly and monthly extremes at the top; overnight, London and triple-touch equal highs next; a plain N-bar high at the bottom. Named on the signal.
Sweep quality+1…+2The raid went meaningfully past the level, or the wick back through it was violent.
Rejection wick+2The wick clears an ATR-relative floor and a share of the candle's own range.
Volume+1Above its own average by the factor you choose.
Displacement+1…+3Weak, strong or explosive, measured on ATR, body ratio and volume together.
Market structure shift+3…+4Structure broke the same way within a set number of bars. Four when the higher timeframe flipped with it.
Opposite structure shift−3A fresh break the other way. It counts against the setup.
Fair value gap+1…+2An untouched gap scores two, partially filled scores one, mitigated scores nothing.
New York session+1Inside the session where these setups tend to resolve fastest.
Delta / absorption+2Aggression flipped with the signal, or heavy opposing aggression got absorbed.
Trend clustercap +3EMA location, higher-timeframe bias and the bias engine share one budget so agreement cannot be triple-counted.
Synergy+2Three or more of {major level, structure shift, fresh gap, strong displacement} stacked on the same bar.

Thresholds move with conditions. High volatility asks for one more point at every tier and widens the stop floor by a quarter; quiet chop asks for one more too, because chop fakes structure convincingly. A trade with the committed bias needs one less, against it needs one more.

Three things it does that you would otherwise do in your head

Commits to a side

A bias engine scores trend location, higher timeframe, the latest structure break, volume pressure, directional volatility and where the draw on liquidity sits — seven inputs, one number. Once it commits, counter-bias signals are suppressed unless they are A+ and carry a fresh opposite structure break or a top-class sweep. That is the filter that stops you fading a trend all morning.

Treats the open as its own game

The first half hour does not behave like the rest of the day, so it is not judged like the rest of the day. A separate opening-range signal runs from 9:30 to 10:00 in gold and orange, exempt from the bias filter, looking for the run that takes out the range and turns.

Knows what kind of day it is

ATR is compared against its own fifty-bar average to place the session in a high, normal or low volatility regime, and every threshold shifts accordingly. An eight on a quiet Tuesday has to be a nine on an FOMC afternoon. The regime sits on screen next to the bias so you always know which rules are running.

Who this is for

If you already trade liquidity sweeps and rejection blocks, you know the hard part is not spotting them — it is deciding, in about four seconds, whether this one is worth the risk. That judgement is a dozen small checks you are running from memory while the bar is closing, and on a fast day you do not run all of them.

This runs all of them, every bar, and shows you the arithmetic. You still decide. But you decide with the level named, the structure confirmed or denied, the order flow read, the stop already measured, and the running hit rate of that exact setup on that exact chart sitting next to the arrow.

If you do not trade this way, this is the wrong tool and the Order Panel is probably what you actually want. This one assumes you already know what a fair value gap is and why an untouched one matters more than a filled one.

$99/month. Cancel anytime.

Machine-locked license, every update included while subscribed, key issued the same day.

Available Now

Precision Signal Engine

$99
per month · cancel anytime
  • Scored signals with the full breakdown
  • Named liquidity levels, not just "a high"
  • Stop and target drawn on every plan
  • Order flow delta and absorption
  • Bias engine, opening range, volatility regimes
  • Per-chart learning that persists
  • All updates while subscribed
Get It — $99/mo

Or take everything

All Access
every tool · every future release · 2 machines
  • This + Order Panel + News Notifier + Countdown
  • Every future Precision tool included
  • Two machine licenses
  • Priority support
See All-Access — $999/yr

The four tools separately come to $286/month.

Questions

Does it repaint?

No. A signal is evaluated on bar close and printed on bar close. Once an arrow is on your chart it stays exactly where it landed, and the score next to it never changes. You can verify that yourself in Market Replay — replay the same session twice and the same bars fire.

What does the score actually mean?

It is the sum of the components the engine could verify on that bar, out of a possible 29 or so. A sweep of the previous day's low is worth more than a sweep of a minor swing, a fresh fair value gap is worth more than a half-filled one, and three strong components stacking earns a synergy bonus on top. The bottom-right readout lists every component of the last signal, so you can always see why it scored what it scored.

Do I need Tick Replay?

Only for the two order-flow components on historical bars. Live, on any feed that streams bid and ask — Rithmic, Tradovate and the like — delta and absorption work immediately. On plain history those two components score zero and everything else runs unchanged; the readout tells you which mode you are in.

Will it work on my instrument?

The thresholds are measured in ATR rather than ticks, so it adapts to whatever you trade — NQ and ES behave very differently and both work without you retuning anything. There is a tick floor as well for very quiet instruments. It is built for intraday futures charts.

Is this an automated strategy?

No. It is an indicator. It marks levels, prints arrows, draws a suggested stop and target, and keeps stats. It never places an order and it never manages a position — you decide what to take and what to skip.

How does the learning part work?

Every signal it prints is tracked forward against its own drawn stop and target, and the running hit rate is written beside new signals of the same type. Those stats are saved per instrument and timeframe in your NinjaTrader Documents folder, so they survive restarts and keep building. It is learning from your chart, not from someone else's backtest — and it is a record of what already happened, not a forecast.

Can I run it with the other tools?

Yes. It is a separate indicator and sits happily on the same chart as the Order Panel, the News Notifier and the Candle Countdown. All-Access covers all four on two machines.