Ninja Scalping Indicator: Four Filters Before Any Arrow

Written by Dominic Walsh · Published · Last updated

The ninja scalping indicator runs four checks and needs all of them. A 5 over 13 EMA cross sets the bias, a stochastic cross confirms the short-term swing, RSI has to sit the right side of 50, and ATR has to clear a floor so dead-flat bars never produce a signal. Each condition removes a class of bad trade, and together they leave a small number of arrows.

This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.

Platforms MT4 (.ex4) + MT5 (.ex5)
Chart window Main price chart
Plots 4: Ninja BUY, Ninja SELL, Fast EMA, Slow EMA
Alerts popup, push notification, email, sound
Inputs 18

What the Ninja scalping Indicator draws on the chart

Ninja BUY places a lime arrow below the bar when all four checks agree upward.

Ninja SELL places a red arrow above it on the bearish side.

Fast EMA in dodger blue and Slow EMA in orange plot the first of the four conditions.

The stochastic, RSI and ATR readings stay internal, so arrows can appear when the two lines alone look ordinary.

  • Ninja BUY: arrow, lime, width 2, arrow code 233
  • Ninja SELL: arrow, red, width 2, arrow code 234
  • Fast EMA: line, dodger blue, width 1
  • Slow EMA: line, orange, width 1
Ninja scalping indicator on EURUSD H1 with the EMA pair and four-filter confluence arrows
Ninja scalping indicator on EURUSD H1 with the EMA pair and four-filter confluence arrows

How the Ninja scalping Indicator calculates its values

Everything computed in one forward pass

The source header is explicit: no per-bar iMA, iRSI, iATR or stochastic calls anywhere. fastK takes 2.0 / (FastEMA + 1.0), and the recursion seeds at seed_fast with a plain average, so BufFast never starts from zero. The RSI, stochastic and ATR arrays build the same way, each in one pass, which keeps a long history fast.

Wilder smoothing done properly

The RSI seeds at seed_rsi with simple averages, then smooths. avgG becomes (avgG * (RsiPeriod – 1) + gain) / RsiPeriod, and avgL follows the same shape. ATR uses that pattern too. Both follow Wilder’s original recursions rather than plain rolling means, so the readings match MetaTrader’s built-ins.

Four conditions, then a confirmed bar

The header states the stack: an EMA cross for bias, stochastic %K against %D for the swing, RSI against `RsiLongMin` or `RsiShortMax` to block counter-trend triggers, and ATR above minAtr to block flat bars. `NoRepaintMode` at `true` then confirms everything on the last closed bar, index 1, so a printed arrow stays where it printed.

How to read the signals

Silence is normal. Four conditions rarely align, which is the design rather than a fault.

Only the EMA pair is visible, so a signal often looks unremarkable from the chart alone.

The ATR floor means quiet sessions produce nothing at all, however the other three read.

With no-repaint mode on, arrows confirm on the closed bar and do not move afterwards.

Alert channels in this build: popup, push notification, email and sound, one message per closed bar.

Four channels sit beneath `EnableAlerts`, and this build enables more of them than most: `EnablePushNotify` and `EnableSound` both ship `true` alongside the popup, with `SoundFileName` naming the clip. Only email starts off. The guard permits one message per closed bar.

Every Ninja scalping Indicator input

Core settings

Setting What it does Default
FastEMA Fast EMA period. Fast average length, default `5`, with `SlowEMA` at `13` for the slower leg. 5
SlowEMA Slow EMA period. 13
StochK Stochastic %K period. Stochastic %K period, default `5`, with `StochD` at `3` and `StochSlowing` at `3`. 5
StochD Stochastic %D smoothing. 3
StochSlowing Stochastic slowing. 3
RsiPeriod RSI period. Momentum lookback, default `14`. `RsiLongMin` and `RsiShortMax` both sit at `50.0`. 14
RsiLongMin RSI must be ABOVE this for BUY. 50.0
RsiShortMax RSI must be BELOW this for SELL. 50.0
AtrPeriod ATR period. Volatility lookback, default `14`. 14
MinAtrPoints Min ATR in points. Smallest ATR that allows a signal, default `5.0` points. Raise it to block more quiet-market bars. 5.0
NoRepaintMode Confirm on closed bar only. On by default, confirming on the last closed bar. Turning it off gives earlier arrows that can vanish. on

Display settings

Setting What it does Default
ArrowOffsetPts Arrow offset in points. 8

Alert settings

Setting What it does Default
EnableAlerts (see inputs panel) on
EnablePopup (see inputs panel) on
EnablePushNotify (see inputs panel) on
EnableEmail (see inputs panel) off
EnableSound (see inputs panel) on
SoundFileName (see inputs panel) alert.wav
Ninja scalping indicator inputs: FastEMA, SlowEMA, MinAtrPoints and NoRepaintMode
Ninja scalping indicator inputs: FastEMA, SlowEMA, MinAtrPoints and NoRepaintMode

Settings that fit your chart

Fast EMAs and a short stochastic point this at intraday charts. EURUSD H1 is the reference. On M5 and M15 the four conditions align a few times a session, which is what a scalping stack is meant to do. Note `MinAtrPoints` is a raw point count, so on gold or an index it blocks almost nothing at `5.0` and needs raising.

When the Ninja scalping Indicator fails

Four lagging inputs agreeing is still four lagging inputs. Confluence arrives after a move has started.

The RSI filter sits at the midline, which blocks roughly half of counter-trend triggers rather than most of them.

The ATR floor is measured in raw points, so one setting cannot suit both a 5-digit forex pair and gold.

Copy the compiled Ninja scalping Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.

Download the Ninja scalping Indicator for MT4 and MT5

The zip holds the compiled Ninja scalping Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. Enter your email below and the download link arrives in your inbox.

Download this indicator free

Enter your email and the file is yours. You also get the full MT4 and MT5 library.

  • 1,380+ indicators
  • MT4 and MT5 files
  • No spam, unsubscribe any time

FAQ

What does MinAtrPoints actually block?

Bars where the market is barely moving. ATR has to clear `5.0` points before any signal counts, which removes the dead-flat range bars where an EMA and stochastic cross mean nothing. On instruments with a different tick size, gold especially, that figure is far too low and should be raised.

Why does RsiPeriod get computed by hand instead of via iRSI?

Speed. The header notes that every array builds in a single forward pass rather than through per-bar calls, which matters on a long history with four separate inputs. The recursions still follow Wilder’s originals: seed with plain averages, then smooth. So the values match the built-ins.

What does NoRepaintMode change?

It confirms every condition on the last closed bar, index 1, rather than the bar still forming. With it on, which is the default, a printed arrow never moves. Turning it off gives you the signal sooner and accepts that it can disappear if the bar closes differently.

Why do RsiLongMin and RsiShortMax both default to 50?

Because the RSI leg is there to block counter-trend triggers rather than to demand strong momentum. Sitting at the midline means a buy simply cannot fire while momentum points down. Raising `RsiLongMin` to 55 turns it into a stricter filter and reduces the arrow count further.

Are results guaranteed?

No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Ninja scalping Indicator as one input. Always backtest before trading live.

Category: this is part of our Signal and Forecast collection. Browse more Signal and Forecast for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.

External references

Dominic Walsh - Forex trader and MT4/MT5 developer

About the author

Written by Dominic Walsh, a Forex trader and MT4/MT5 indicator, Expert Advisor and script developer. Every tool on forexmt4systems.com is tested on live charts before release and ships with ready-to-use compiled MT4 (.ex4) and MT5 (.ex5) files. Learn more about the trader and developer behind this site.

How we build, test and correct every tool: Editorial & Testing Policy. Trading carries risk; see the disclaimer.

Leave a Comment