NinjaTrader 8 indicator, NinjaScript

The EMA cross that shows how much agreed with it

A cross of the 9 and 21 EMA on its own says nothing about VWAP, RSI, MACD, ADX or volume. Sniper Ashfield Pro scores all of them on the cross bar, one point each, and prints the answer as stars on the plate, with an entry, a stop and three targets drawn for the latest signal. On a NinjaTrader 8 futures chart the VWAP and the volume layer read real contract volume.

  • Six layers, one point each: EMA, VWAP, RSI, MACD, ADX and volume
  • A star rating on every plate, and a minimum score you set, 3 by default
  • An entry, a stop and three targets for the latest signal, tracked in the dashboard
  • An EMA ribbon, a session VWAP, tinted candles and 13 alert events

$77one payment, lifetime licence

Get the lifetime licence
Read the user guide (PDF)
Sniper Ashfield Pro on a CL 5-minute chart in NinjaTrader 8: a BUY plate rated four stars, its entry, stop and three targets, the EMA ribbon, the session VWAP, and the dashboard in the right margin
  1. BUY, four starsA cross of the fast EMA above the slow one that scored 4 of the six layers. The minimum at the defaults is 3. The dashboard reads LONG, 4 bars ago.
  2. Entry and three targetsEntry 93.92, with TP1 94.48, TP2 95.05 and TP3 95.61 at 1, 2 and 3 times the risk. No bar has reached TP1 here, and the dashboard prints no tick.
  3. Stop 93.36The newest bar, still forming, has traded below this line. With the default OnBarClose the lines and the dashboard move when a bar closes, so the dashboard still reads LONG.
  4. Ribbon and VWAPThe band between the two EMAs takes the trend colour, and the closed candles are tinted to match. The line above it is the session VWAP, red while price closes below it.
  5. DashboardMarket context, momentum, the standing Buy and Sell scores, the active signal and the tally row. The tally describes the drawn plan on this chart's bars and is not a probability of profit.

Why a plain EMA cross leaves the hard part to you

A moving-average cross looks the same in a clean trend and in chop. The chart gives you a line crossing a line and leaves the rest to you: which side of VWAP price is on, what RSI and MACD say, whether ADX shows a trend, whether the volume was there. Weighing all of that on every cross is the real work.

Sniper Ashfield Pro does the weighing on the cross bar and prints the count. Two things about the score matter. The EMA layer always scores on a cross bar, so the effective choice is how many of the other five agree. And a filter you switch off scores its point automatically, so switching one off makes signals more frequent, not rarer. To make them rarer, raise Minimum Confluence Score or Signal Cooldown.

Then it draws the plan: the stop a set number of ATRs from the signal bar's close and three targets as multiples of the risk, so the levels are on the chart before you open the order ticket. The score counts agreement. It is not a probability of profit.

PlatformNinjaTrader 8.1 Desktop, tested on 8.1.9.0
TypeChart indicator, compiled NinjaScript Add-On
SignalsOn closed bars with Non-Repaint Mode on, the default
BarsTime-based bars fully; tick, volume, range and Renko bars run
Alerts13 events, each with a switch: Alerts Log, Output, sound and email
SeriesThree drawn plots and ten hidden series for strategies
InstrumentsFutures, forex, stocks, indices: any NinjaTrader instrument
LicenceLifetime, one NinjaTrader login, all your PCs
Price77 USD, one payment

The user guide is public: every parameter and the verification are in it. Read it before you pay.

What you get

Nine things it does that a plain EMA cross cannot

One indicator in the price panel: the signals, the score, the levels, the ribbon, the VWAP and the dashboard together.

Six-layer score

On the cross bar, one point each for EMA, VWAP, RSI, MACD, ADX and volume. A signal fires when the score reaches Minimum Confluence Score, 3 by default, on a range of 1 to 6.

Stars on the plate

The plate is rated in stars, with five stars for a score of 5 or 6. Rest the pointer on a plate to see its confluence score, entry, stop and three targets. The wording is a setting.

Filters and cooldown

Each optional layer has a switch, and off scores its point automatically, so signals get more frequent. Signal Cooldown keeps two same-direction signals apart, 5 bars by default. The MACD lengths are fixed.

Stop and three targets

The stop defaults to 1.5 ATRs from the signal bar's close. Targets default to 1, 2 and 3 times the risk, which is never smaller than ten ticks. TP3 or the stop closes the trade and removes its lines.

EMA ribbon and tinted candles

A fill between the fast and slow EMA in the colour of the current trend, and candles tinted at 50 % transparency. Both have their own switch, and the ribbon has an opacity setting.

Session VWAP

Resets on the first bar of each session of the chart's Trading Hours template, or at a fixed UTC hour, and is coloured by which side of it price closed. The template changes its values.

A 19-row dashboard

Market bias, price against VWAP, ATR, RSI, MACD, ADX, the standing scores, the active signal and the tally row. Six positions and four sizes, Tiny by default.

13 alert events

BUY, SELL, TP1, TP2, TP3 and SL Hit are on by default; the EMA, VWAP and RSI 50 crosses are off. They fire on live bars when the bar closes, in the Alerts Log, with sound and email when you turn them on. There is no webhook.

Series for your strategies

The EMAs, VWAP, signals, standing scores, trade direction, entry, stop and targets can be read by NinjaScript strategies and shown as Market Analyzer columns, with no drawing and no alerts in a backtest.

See it working

A closer look, on real NinjaTrader charts

Every picture below is a NinjaTrader 8 capture with numbered notes added. Nothing on the charts is drawn by hand. Click any image to enlarge it.

ZB 15-minute chart in NinjaTrader 8 with Sniper Ashfield Pro: plates rated three, four and five stars, and the newest SELL with its entry, its stop and a reached first target
  1. SELL, five starsA cross down with a score of 5 or 6, the two scores that print five stars.
  2. BUY, three starsA cross up that scored 3, the minimum at the defaults. A cross that scores less prints no plate.
  3. SELL, four starsThe newest signal. The dashboard reads SHORT, 5 bars ago, with entry 107.78125.
  4. TP1 reachedIts line is solid and faded, and the dashboard prints a tick beside TP1 107.46875. The trade stays open. TP2 and TP3 are printed in the dashboard and lie below this panel.
  5. Stop and the ten-tick floorSL 108.03327 is 0.252 from the entry and TP1 is 0.3125, which is ten ticks on this contract. The risk behind the targets is never smaller than ten ticks.
Signals and stars

Not every cross gets the same score

A signal can only happen on the bar where the fast EMA crosses the slow one, and the stars say how many of the six layers scored: three, four or five on this chart. At the default minimum of 3, a cross that scores less prints nothing. The stars count agreement. They are not a probability of profit.

The newest SELL shows how a trade moves through its levels. TP1 was reached, so its line is solid and faded and the dashboard prints a tick, and the trade stays open. TP2 and TP3 lie below this panel, and their prices are in the dashboard. A new signal replaces a live trade without scoring it.

  • With Non-Repaint Mode on, the default, a signal is decided when its bar closes
  • Minimum Confluence Score runs from 1, loosest, to 6, strictest
  • A BUY does not block a SELL: Signal Cooldown is per direction
  • On a signal bar that also closed the previous trade, the new trade is tracked but its lines are not drawn
The Sniper Ashfield Pro dashboard in NinjaTrader 8: market context, momentum engine, the standing Buy and Sell scores, the active signal with entry, stop and three targets, and the tally row
Dashboard

Everything the score reads, in one corner

Nineteen rows in three columns. Every value is the newest record: the last closed bar with OnBarClose, the forming bar in a per-tick mode. A standing score is not a signal: a signal also needs the EMA cross and the cooldown. The percentage beside Market Bias describes this chart's bars at these settings, and it is not a probability of profit.

The tally row counts what the drawn plan would have met on the bars this chart has loaded, so it changes with Days to load. It is not a backtest: it has no spread, commission, slippage or position size. A stop after TP1 counts as a win, and a trade replaced by a new signal before TP3 or its stop is not counted. Here it reads 45.5 %, 26 buys and 26 sells, TP 37 and SL 26. That describes these bars at these settings. It is not a probability of profit.

  • MARKET CONTEXT: market bias, price against the VWAP, ATR
  • MOMENTUM ENGINE: RSI, MACD, ADX, EMA state and volume against its average
  • CONFLUENCE: the standing Buy and Sell scores and the minimum
  • ACTIVE SIGNAL and PERFORMANCE: direction, entry, stop, three targets and the tally row
RTY 15-minute chart in NinjaTrader 8 with Sniper Ashfield Pro: a BUY plate rated five stars, the green ribbon, the session VWAP turning red at its right end, and a dashboard reading WAITING with a Sell score of 4
  1. BUY, five starsA cross up that scored 5 or 6, the two scores that print five stars.
  2. EMA ribbonThe fill between the two EMAs. It is in the bullish colour because the fast EMA is above the slow one, and the dashboard's EMA row says the same.
  3. VWAP turned redThe session VWAP. It turned red at its right end, where price closed below it, and the dashboard reads BELOW.
  4. Scores 2 and 4The standing Buy and Sell scores on the newest bar. Sell reads 4 and no SELL plate prints, because a signal also needs an EMA cross on that bar.
  5. WAITINGNo live trade and no lines on the chart. Reaching TP3 or the stop removes a trade's lines, and they return with the next signal.
Ribbon, VWAP and score

A standing score is not a signal

The dashboard's scores read the six layers on the newest bar. On this chart Sell reads 4 against a minimum of 3 and no SELL plate prints, because a signal also needs an EMA cross on that bar, and the fast EMA is still above the slow one. With no trade live the dashboard reads WAITING and there are no lines until the next signal.

The VWAP turned red at the right end of this chart, where price closed below it. The Trading Hours template matters here: with an ETH template the VWAP runs from the evening open and the overnight bars take part in everything, and with an RTH template it runs from the morning open and they do not exist. Both are valid, and the values differ.

  • VWAP Session Anchor: the chart's sessions, UTC midnight or an hour you choose
  • A template with two sessions in one day resets the VWAP twice
  • Only the VWAP has a session: the EMAs, RSI, MACD, ADX and ATR run on every bar the chart delivers
Any market

The same rules on everything NinjaTrader charts

The calculations are not tied to an instrument. The captures below were taken in NinjaTrader 8 on the free simulation feed: index, energy, metal, currency and rate futures, from 1-minute to 30-minute bars, with the indicator at its default settings on every one.

On a futures chart the VWAP is weighted by real contract volume and the volume layer compares it with its own 20-bar average. On a feed without volume the VWAP layer and the volume layer score no point. The chart's Trading Hours template decides which bars exist and where the VWAP resets. A continuous contract that is not back-adjusted produces one oversized true range at the roll, which widens the ATR and the stops that follow it for a while.

Sniper Ashfield Pro on a MNQ, Micro Nasdaq 100 chart in NinjaTrader 8, with its ribbon, VWAP, signal plates, levels and dashboard
MNQ, Micro Nasdaq 100Index futures, 1 min
Sniper Ashfield Pro on a ES, E-mini S&P 500 chart in NinjaTrader 8, with its ribbon, VWAP, signal plates, levels and dashboard
ES, E-mini S&P 500Index futures, 5 min
Sniper Ashfield Pro on a NQ, E-mini Nasdaq 100 chart in NinjaTrader 8, with its ribbon, VWAP, signal plates, levels and dashboard
NQ, E-mini Nasdaq 100Index futures, 15 min
Sniper Ashfield Pro on a MES, Micro S&P 500 chart in NinjaTrader 8, with its ribbon, VWAP, signal plates, levels and dashboard
MES, Micro S&P 500Index futures, 3 min
Sniper Ashfield Pro on a YM, E-mini Dow chart in NinjaTrader 8, with its ribbon, VWAP, signal plates, levels and dashboard
YM, E-mini DowIndex futures, 5 min
Sniper Ashfield Pro on a RTY, E-mini Russell 2000 chart in NinjaTrader 8, with its ribbon, VWAP, signal plates, levels and dashboard
RTY, E-mini Russell 2000Index futures, 15 min
Sniper Ashfield Pro on a CL, crude oil chart in NinjaTrader 8, with its ribbon, VWAP, signal plates, levels and dashboard
CL, crude oilEnergy futures, 5 min
Sniper Ashfield Pro on a NG, natural gas chart in NinjaTrader 8, with its ribbon, VWAP, signal plates, levels and dashboard
NG, natural gasEnergy futures, 15 min
Sniper Ashfield Pro on a GC, gold chart in NinjaTrader 8, with its ribbon, VWAP, signal plates, levels and dashboard
GC, goldMetal futures, 15 min
Sniper Ashfield Pro on a SI, silver chart in NinjaTrader 8, with its ribbon, VWAP, signal plates, levels and dashboard
SI, silverMetal futures, 30 min
Sniper Ashfield Pro on a 6E, euro FX chart in NinjaTrader 8, with its ribbon, VWAP, signal plates, levels and dashboard
6E, euro FXCurrency futures, 30 min
Sniper Ashfield Pro on a ZB, 30-year T-bond chart in NinjaTrader 8, with its ribbon, VWAP, signal plates, levels and dashboard
ZB, 30-year T-bondRate futures, 15 min
Under the hood

How a closed bar becomes a signal

The same steps on every closed bar, in this order. Nothing hidden and nothing exotic.

  1. The live trade is checked

    Before looking for a new signal: TP1, then TP2, then TP3, then the stop. TP3 or the stop closes the trade and removes its lines. A stop after TP1 counts as a win in the tally, a stop before TP1 as a loss.

  2. The EMAs are read

    A signal can only happen on the bar where the fast EMA crosses the slow one. No cross means no signal, whatever the standing score reads.

  3. Six layers score

    One point each: the EMA, the close against the VWAP, RSI against 50, MACD against its signal line, ADX above its threshold with the close on the signal's side of the fast EMA, and volume above its 20-bar average with the candle closing in the signal's direction.

  4. The minimum and the cooldown decide

    The score must reach Minimum Confluence Score, and no signal in the same direction may have fired within Signal Cooldown.

  5. The plan is drawn

    A plate rated in stars, an entry line, a stop and three targets, each running 40 bars from the signal bar with a price tag. Alerts fire on live bars and the dashboard updates.

What it does

  • Marks signals on closed bars with Non-Repaint Mode on, and leaves them where they were
  • Prints how much agreed as stars on the plate
  • Draws a stop and three targets you can size a position from
  • Tallies the drawn plan on the loaded bars, and says plainly that it is not a backtest

What it does not do

  • It does not place orders. It is an indicator, and it never touches your account
  • It does not predict price, and the stars are not a probability of profit
  • It does not give a signal without an EMA cross, whatever the standing score reads
  • It does not replace position sizing and a risk limit of your own
Side by side

Plain EMA cross compared with Sniper Ashfield Pro

Plain EMA crossSniper Ashfield Pro
SignalsEvery crossOnly a cross that reaches your minimum score
Signal strengthNoneStars on the plate, from six layers
Which signals to takeAll or noneYour minimum score and cooldown
VWAPA separate indicatorScored, drawn and coloured by side
Stop and targetsYou work them outDrawn at the signal, in ATRs and multiples of risk
Trade trackingNoneA tick per target and a tally row
For your strategiesThe EMAsThirteen series, signals and scores among them

How this edition was verified

The engine that computes everything also runs outside NinjaTrader. With its diagnostic dump switched on, the NinjaTrader edition writes every committed bar with the values it drew; those bars are replayed through the engine outside the platform, and the two files are compared value by value.

On 4,923 MNQ 1-minute bars every one of the 62 series compared was equal on every bar. A second run, with Calculate set to each tick and the chart left live across the switch from history to live bars, gave the same result on 4,169 bars.

What that proves: the indicator receives exactly one closed bar per chart bar with the right open, high, low, close and volume, never double-feeds or skips a bar, and shows the values the engine produced. What it does not claim: it is a test of correct calculation, not of trading results, and it says nothing about future performance.

NinjaTrader bars compared4,923, then 4,169 across the live switch
Series compared62
Cells compared305,226 and 258,478
Mismatches0 and 0
ConditionsMNQ 1-minute, NinjaTrader 8.1.9.0, November 2026

The full method is in the user guide: User Guide (PDF) and Installation and Quick Start (PDF).

Get the licence

One payment. Lifetime licence.

No subscription and no renewal. Pay once and the indicator stays licensed to your NinjaTrader account, updates included.

Sniper Ashfield ProNinjaTrader 8 indicator

$77one payment, lifetime licence

  • A lifetime licence on one NinjaTrader account login, valid on every PC you use it on
  • The compiled NinjaScript Add-On package and all future updates, at no extra cost
  • No machine ID and nothing to activate: log in to NinjaTrader and it runs
  • The two PDFs: installation and quick start, and the full user guide with every parameter
  • Direct support from me, the developer, by email
Pay by cardCard, Apple Pay or Google Pay, through Stripe
Pay with PayPalPayPal balance or card, through PayPal

The licence is issued to your NinjaTrader account through NinjaTrader's Vendor Licensing, by hand, normally within a few hours and always within 24 hours of your form arriving. You get an email with the download link when it is done.

Because a licence cannot be handed back once it is on your account, a sale is final once the licence has been issued. If you paid and the licence has not been issued yet, email me and I will refund you in full. The user guide is public, so you can read exactly what the indicator does before you pay.

The full terms of sale and the privacy notice for buyers are one page each, in plain language.

Trading carries risk of loss. This is an analysis tool, not financial advice, and no indicator can promise a profit.

Questions

Before you buy

Does Sniper Ashfield Pro repaint?

With Non-Repaint Mode on, the default, a signal is decided when its bar closes and never changes. Off, in a per-tick mode, the cross and the score are judged on the forming bar, so a plate can appear and disappear before the bar closes. On history the two are identical, and with OnBarClose the switch can touch just one bar, the forming bar previewed when the chart loads. Target and stop checks run on a forming bar in both positions. A preview is rolled back completely before the next one, so a target touched and un-touched on a forming bar leaves no trace. Alerts belong to closed bars only.

Why did switching a filter off give me more signals?

Each of the five optional layers scores its point automatically when switched off, so switching one off raises every score. To make signals rarer, raise Minimum Confluence Score or Signal Cooldown.

The dashboard shows a score of 4. Why is there no signal?

The score row is the standing reading of the six layers on the newest bar. A signal also needs an EMA cross on that bar and no same-direction signal within the cooldown.

Why did the levels disappear?

The last trade reached TP3 or its stop: its lines and tags are removed and ACTIVE SIGNAL reads WAITING until the next signal. So a chart cannot show a stop as hit after the fact, and the SL count in the tally row is where those are counted. On a signal bar that also closed the previous trade, the new trade is tracked but its lines are not drawn.

How much history does it need?

EMA and Wilder averages settle over a few hundred bars, so the first bars of a short chart can differ slightly from a chart with more days loaded. The tally row counts the bars the chart has loaded, so it changes as well. Raise Days to load in the Data Series dialog.

Which NinjaTrader version do I need?

NinjaTrader 8.1 Desktop for Windows; the build is tested on 8.1.9.0. Any data connection that delivers bars works, including the free simulation connection.

Do I need a funded broker account?

No. NinjaTrader 8 is free to download and use for charting and simulation, with free real-time futures data for the simulator. A live account with a broker of your choice is a separate step that this indicator does not need. NinjaTrader is the platform it runs inside, not a broker.

Is there a machine ID or an activation step?

No. The licence is tied to your NinjaTrader account login through NinjaTrader's Vendor Licensing, not to a PC. Log in on any installation and the indicator runs; a new PC needs no transfer.

How fast do I get the licence?

I issue it by hand in the NinjaTrader Vendor Dashboard. It is normally done within a few hours and always within 24 hours of your form arriving, including weekends.

Is this a subscription?

No. It is one payment of 77 USD for a lifetime licence on one NinjaTrader account, with future updates included.

Can I get a refund?

Once the licence has been issued the sale is final, because a licence on your account cannot be handed back. That is why the user guide is public: read it first. If you paid and the licence has not been issued yet, email me and I will refund you in full.

Can I move the licence to another NinjaTrader account?

Yes. Email me from the address you bought with and I will move the licence to your new account login.

Will it make me money?

No indicator can promise that, and this one does not. It gives you EMA-cross signals with a score, and a stop and targets to plan around. What you do with that, and how you size positions, decides the outcome.

More tools

Other NinjaTrader 8 indicators I publish

Each one is a compiled NinjaScript Add-On, 77 USD once, with its own page, charts and public user guide.

NinjaTrader 8 indicator

Flux Gate Precision

Three lines from a rolling window of highs and lows, signals on closed bars, one tracked trade with a stop, up to four targets and a break-even ladder, and a dashboard.

$77 one payment, lifetime licence

NinjaTrader 8 indicator

Kumo Forge Pro

An Ichimoku cloud whose periods can scale with volatility, five signal families on closed bars, a confluence score, a stop, three targets and a dashboard.

$77 one payment, lifetime licence

NinjaTrader 8 indicator

FXB Confluence Engine

A range filter whose turns are scored across ten layers on closed bars and marked BUY or SELL only past an anti-chop gate, with pivot levels, a dashboard and a timeframe strip.

$77 one payment, lifetime licence

See all NinjaTrader 8 indicators

Put it on your chart today

77 USD once. A lifetime licence on your NinjaTrader account, updates included, and the licence issued within 24 hours.