Scalping signals must hold after the bar closes, or they are useless. The non repaint scalping indicator draws an 8-bar and a 21-bar exponential average and marks their cross on a closed bar, provided a 9-bar RSI is already on the matching side of 50.
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: FastEMA, SlowEMA, Buy, Sell |
| Alerts | popup, push notification, email, sound |
| Inputs | 15 |
Plots this indicator declares
Two averages and two marks on the price chart.
The quick 8-bar `FastEMA` runs in dodger blue.
The 21-bar `SlowEMA` runs in orange.
`Buy` shows as a thick lime arrow under the cross bar.
`Sell` shows as a thick red arrow above it.
A status block lists the bias and the last marks.
- FastEMA: line, dodger blue, width 2
- SlowEMA: line, orange, width 2
- Buy: arrow, lime, width 3, arrow code 233
- Sell: arrow, red, width 3, arrow code 234

Working through the maths
Averages
`InpFastPeriod` `8` and `InpSlowPeriod` `21` exponential averages start from simple averages.
RSI check
`InpRSIPeriod` `9` must read above `InpRSIBuyMin` `50.0` for a buy, or below `InpRSISellMax` `50.0` for a sell.
Spacing
`InpConfirmBars` `1` marks the cross bar itself. `InpCooldownBars` `3` spaces same-side marks.
How to interpret it
A lime mark is an upward cross with RSI above 50.
A red mark is a downward cross with RSI below 50.
Crosses against RSI stay unmarked.
Marks sit on closed bars only.
`InpArrowOffsetPts` `12` sets the gap.
Warm-up needs about twenty-three bars.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
Each qualifying cross goes out through `InpEnableAlerts`. Popup, phone and the sound playing `InpSoundFile` all begin enabled; email waits until you switch it on.
Every Non Repaint Scalping Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
InpFastPeriod |
Fast EMA period (scalping). Quick average, `8`. | 8 |
InpSlowPeriod |
Slow EMA period (trend). Slow average, `21`. | 21 |
InpRSIPeriod |
RSI confirmation period. RSI length, `9`. | 9 |
InpRSIBuyMin |
RSI must be above this for BUY. RSI floor for buys, `50.0`. | 50.0 |
InpRSISellMax |
RSI must be below this for SELL. RSI ceiling for sells, `50.0`. | 50.0 |
InpConfirmBars |
Confirmation bars (closed-bar only). Closed-bar confirmation, `1`. | 1 |
InpCooldownBars |
Min bars between same-side signals. Pause before another same-side mark, `3`. | 3 |
Display settings
| Setting | What it does | Default |
|---|---|---|
InpArrowOffsetPts |
Arrow offset from H/L (points). Distance of marks from the candle, `12`. | 12 |
InpShowOnChart |
Show on chart. | on |
Alert settings
| Setting | What it does | Default |
|---|---|---|
InpEnableAlerts |
Master alert switch. | on |
InpEnablePopup |
Popup alert. | on |
InpEnablePushNotify |
Push to mobile MT4. Mobile route, ships on, `true`. | on |
InpEnableEmail |
Email alert. | off |
InpEnableSound |
Sound alert. Sound, ships on, `true`. | on |
InpSoundFile |
Sound file. | alert.wav |

Where it works best
An 8 and 21 pair with a 9-bar RSI suits M5 and M15 scalping. The hourly EURUSD chart used for the screenshots shows a cross most days. On M1 spread dominates, while on H4 the same rules track short swings.
Where the method fails
A midline RSI only blocks mild counter-moves.
Quiet sessions still produce whipsaw crosses.
Spread eats into the small targets it suits.
Phone and sound deliveries begin enabled.
Copy the compiled Non Repaint 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 Non Repaint Scalping Indicator for MT4 and MT5
The zip holds the compiled Non Repaint 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.
FAQ
What does InpRSIBuyMin 50.0 require?
A nine-bar RSI above 50 on the cross bar. Upward crosses while momentum is still negative are left unmarked, which trims some of the weakest scalping signals.
What happens with InpConfirmBars set to 2?
The build also checks the bar before the signal for valid averages. It adds a small delay; the cross itself must still happen on the marked bar.
Why are FastEMA 8 and SlowEMA 21 a scalping pair?
They turn quickly on one to fifteen minute charts yet still filter single-bar noise. The pair is a common starting point for short-term trading, and both lengths stay editable.
Does a Buy repaint if price reverses?
No. The cross and the RSI check use the closed bar. If price turns straight after, the mark stays; a new cross the other way prints its own mark.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Non Repaint 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
- Learn more about the underlying method in Spread trade on Wikipedia.
- For wider market background, see the MetaTrader 4 user guide at MetaTrader.
