The non repaint semafor indicator runs the same pivot test three times at different sizes. `Stage1Depth` catches the small turns, `Stage2Depth` the medium ones and `Stage3Depth` the large. Each stage gets its own colour, its own symbol and its own distance from 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 | 6: Semafor S1 Up, Semafor S1 Dn, Semafor S2 Up, Semafor S2 Dn, Semafor S3 Up, Semafor S3 Dn |
| Alerts | popup, push notification, email, sound |
| Inputs | 10 |
What the Non repaint semafor Indicator draws on the chart
Semafor S1 Up and Semafor S1 Dn are the aqua markers for small pivots.
Semafor S2 Up and Semafor S2 Dn are yellow and use a larger symbol.
Semafor S3 Up and Semafor S3 Dn are red and larger still.
Each stage sits further from the bar, so nested pivots never overlap.
- Semafor S1 Up: arrow, aqua, width 1, arrow code 159
- Semafor S1 Dn: arrow, aqua, width 1, arrow code 159
- Semafor S2 Up: arrow, yellow, width 2, arrow code 162
- Semafor S2 Dn: arrow, yellow, width 2, arrow code 162
- Semafor S3 Up: arrow, red, width 3, arrow code 164
- Semafor S3 Dn: arrow, red, width 3, arrow code 164

How the Non repaint semafor Indicator calculates its values
One test, three depths
A pivot at any stage needs its bar to beat every neighbour within that stage depth on both sides. `Stage1Depth` `2`, `Stage2Depth` `5` and `Stage3Depth` `13` run independently, so one bar can qualify at more than one size.
Waiting for confirmation
Each stage only declares a pivot once that many newer bars have closed on the correct side. So the small stage confirms in two bars while the large one takes thirteen. That difference is the whole trade-off.
Spacing the markers
offset takes `ArrowOffsetPts` `8` times Point. Stage two doubles that distance and stage three triples it. A bar qualifying at all three shows a stack of three markers rather than one on top of another.
How to read the signals
Red markers are the ones worth building a level from.
Aqua markers appear constantly and describe minor turns.
A bar carrying all three colours is a significant pivot at every scale.
Confirmation delay differs per stage, so the colours arrive at different times.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
Four channels hang off `EnableAlerts`, which starts on, with `EnablePopup` joining it. `EnablePushNotify`, `EnableEmail` and `EnableSound` all begin false. `SoundFile` picks the clip. Pivots confirm on closed bars, one message per bar.
Every Non repaint semafor Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
Stage1Depth |
Small fractal half-window. Small pivot half-window, default `2`. | 2 |
Stage2Depth |
Medium fractal half-window. Medium pivot half-window, default `5`. | 5 |
Stage3Depth |
Large fractal half-window. Large pivot half-window, default `13`. | 13 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ArrowOffsetPts |
Arrow offset (points). Base marker distance in points, default `8`. | 8 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
Master switch for the semafor pivot alerts, default `true`. | on |
EnablePopup |
Terminal dialog on a new pivot, default `true`. | on |
EnablePushNotify |
Phone push on a new pivot, default `false`. | off |
EnableEmail |
Mail delivery on a new pivot, default `false`. | off |
EnableSound |
Sound playback on a new pivot, default `false`. | off |
SoundFile |
Wav clip for the pivot alert, default `alert.wav`. | alert.wav |

Settings that fit your chart
Three scales on one chart suit any timeframe, since each stage describes a different span. EURUSD H1 is the reference chart, where `Stage3Depth` at `13` covers most of a day on each side. On M5 the small stage fires constantly. On H4 the large stage marks weekly turns.
When the Non repaint semafor Indicator fails
The small stage marks noise, and there is a great deal of it.
The large stage confirms thirteen bars late, so its markers are always well behind price.
No stage measures how far price travelled, only whether the bar beat its neighbours.
Copy the compiled Non repaint semafor 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.
Background reading on the method behind the Non repaint semafor Indicator: Statmetrics on Wikipedia, Movingaverage at Investopedia.
Download the Non repaint semafor Indicator for MT4 and MT5
The zip holds the compiled Non repaint semafor 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
Why does Stage1Depth run beside two others?
Because a pivot is a matter of scale. A turn that matters on M5 is invisible on H4. Running `Stage1Depth` `2`, `Stage2Depth` `5` and `Stage3Depth` `13` together shows all three views at once, colour coded.
How late does Stage3Depth confirm?
Thirteen bars, because the pivot must beat thirteen newer bars on its side before the code accepts it. On EURUSD H1 that is over half a day. The small stage confirms in two bars by comparison.
Why do the Semafor S2 markers sit further out?
So nested pivots stay readable. offset doubles for stage two and triples for stage three. A bar qualifying at all three sizes then shows three separate markers rather than three drawn on top of each other.
Can one bar carry all three Semafor plots?
Yes, and that is worth noticing. A bar beating its neighbours at two, five and thirteen bars is a genuine turn at every scale the tool measures. Those are the pivots most traders would draw a level from.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Non repaint semafor Indicator as one input. Always backtest before trading live.
Category: this is part of our Trend collection. Browse more Trend for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- For background on this concept, see Statmetrics on Wikipedia.
- For broader market context, see Movingaverage at Investopedia.
