An alert is only useful if it stays true after it fires. The no repaint alerts indicator checks three conditions on closed bars only: a 12 and 34 EMA trend with the fast line still rising, a 14-bar stochastic moving the same way, and tick volume at least at its average. When all three line up, it marks the bar.
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 | 2: Buy, Sell |
| Alerts | popup, push notification, email, sound |
| Inputs | 16 |
A look at the plots
Two marks on price, nothing else.
`Buy` prints lime at width 2 with arrow 233.
`Sell` prints red at width 2 with arrow 234.
Marks sit half a range from the bar.
No lines or panels are drawn.
Every mark belongs to a closed bar.
- Buy: arrow, lime, width 2, arrow code 233
- Sell: arrow, red, width 2, arrow code 234

What the file computes
Trend
`FastEmaPeriod` `12` must sit above `SlowEmaPeriod` `34` and rise from the previous bar for a buy. Sells need the mirror.
Momentum
`StochK` `14` gives a raw stochastic. It must rise, and either sit above `BuyLevel` `30` or the close must break the `BreakoutLookback` `10` bar high.
Participation
Tick volume must reach its `VolLookback` `20` bar average times `VolFactor` `1.0`.
What it is telling you
A lime mark means trend, momentum and volume agree up.
A red mark means they agree down.
Marks can repeat through a steady trend.
Breakouts can qualify even with a low stochastic.
`ArrowOffsetATR` `0.5` spaces the marks.
Warm-up needs about thirty-six bars.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
Each agreeing bar reports once it closes. `EnableAlerts` is the master switch; the popup and the sound playing `SoundFile` start on, and the mobile and email routes do not.
Every No Repaint Alerts Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
FastEmaPeriod |
Fast EMA period. Quick trend line, `12`. | 12 |
SlowEmaPeriod |
Slow EMA period. Slow trend line, `34`. | 34 |
StochK |
Stochastic %K period. Stochastic window, `14`. | 14 |
BuyLevel |
%K must rise above this from below. Stochastic floor for buys, `30`. | 30 |
SellLevel |
%K must fall below this from above. Stochastic ceiling for sells, `70`. | 70 |
BreakoutLookback |
Range lookback for breakout. Bars behind the breakout test, `10`. | 10 |
VolLookback |
Volume average lookback. Bars in the volume average, `20`. | 20 |
VolFactor |
Volume must be >= avg * factor. Volume needed versus average, `1.0`. | 1.0 |
ConfirmBars |
Reserved: 1 = confirm on close. Reserved, closed bars only, `1`. | 1 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ArrowOffsetATR |
Arrow distance as N*range. | 0.5 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
(see inputs panel) | on |
EnablePopup |
(see inputs panel) | on |
EnablePushNotify |
(see inputs panel) | off |
EnableEmail |
(see inputs panel) | off |
EnableSound |
Sound, ships on, `true`. | on |
SoundFile |
(see inputs panel) | alert.wav |

Placing it well
Three agreeing filters suit trending pairs. EURUSD H1 is the reference chart, with marks in clusters during trends. On M15 the volume check matters more. On D1 marks are rare but sustained.
What it misses
Marks repeat bar after bar in a trend.
Average volume is an easy bar to clear.
EMA trends turn late at reversals.
The sound route ships on.
Copy the compiled No Repaint Alerts 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 No Repaint Alerts Indicator for MT4 and MT5
The zip holds the compiled No Repaint Alerts 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 VolFactor 1.0 ask of tick volume?
Tick volume on the bar must at least match its twenty-bar average. It screens out the quietest bars, while any ordinary session bar still passes the check easily.
Why can a Buy print with the stochastic under BuyLevel 30?
The momentum rule accepts either a stochastic above 30 or a close above the ten-bar high. A breakout bar can therefore qualify even while the stochastic is still low.
What makes these alerts no repaint?
Every check runs on bars that have already closed, and marks are never placed on the forming bar. Once a mark prints, later ticks cannot move or remove it.
Why do Buy marks repeat during a trend?
There is no cooldown. Any closed bar that keeps the EMAs, the rising stochastic and volume in line qualifies again, so steady trends show runs of marks.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the No Repaint Alerts 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
- The core method is documented in No free lunch with vanishing risk on Wikipedia.
- Additional market context is at ibullspower (BULLSPOWER) at the MQL5 Documentation.
