The bluster non repaint indicator pairs a Hull average with an internal candle flip. The Hull construction reacts faster than a plain average of the same length without adding much noise. A mark needs its slope and the candle flip to agree on the same closed 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 | 3: HMA, Buy, Sell |
| Alerts | popup, push notification, email, sound |
| Inputs | 8 |
What the Bluster non repaint Indicator draws on the chart
HMA is the gold line, a Hull average at `HmaPeriod` `20` bars.
Buy places a lime arrow where the slope rises and the candles turn green.
Sell places a red arrow for the mirror case.
Both sit `ArrowOffsetPts` `35` from the candle.
- HMA: line, gold, width 2
- Buy: arrow, lime, width 3, arrow code 233
- Sell: arrow, red, width 3, arrow code 234

How the Bluster non repaint Indicator calculates its values
Building the Hull average
raw takes twice a weighted average over half the period, minus a weighted average over the full period. The code then smooths that raw series over the square root of `HmaPeriod` bars. Subtracting the slower average is what removes most of the lag.
The internal candle flip
haBull compares an averaged close against an averaged open, using the same construction as Heikin-Ashi candles. haBullP does the same one bar earlier. A flip means the two disagree, so the candles changed colour on this bar.
Requiring both
slopeUp needs the current Hull value above the previous one. A buy needs slopeUp, a bullish candle now, and a bearish one before. Neither test alone would be worth much, and the pairing is what thins the marks out.
How to read the signals
The gold line turns earlier than a simple average of the same length.
A mark records a flip that the slope already agreed with.
In a range the slope changes often and marks cluster.
Lengthen `HmaPeriod` for a calmer line and fewer flips.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
`EnableAlerts` starts on and `EnablePopup` carries the text. `EnablePushNotify`, `EnableEmail` and `EnableSound` begin false. `SoundFile` picks the clip. Both tests read completed bars, and the guard allows one flip message per bar.
Every Bluster non repaint Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
HmaPeriod |
Hull average length, default `20`. | 20 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ArrowOffsetPts |
Mark distance from the candle in points, default `35`. | 35 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
Master switch for the HMA flip alerts, default `true`. | on |
EnablePopup |
Terminal dialog on an HMA flip, default `true`. | on |
EnablePushNotify |
Phone push on an HMA flip, default `false`. | off |
EnableEmail |
Mail delivery on an HMA flip, default `false`. | off |
EnableSound |
Sound playback on an HMA flip, default `false`. | off |
SoundFile |
Wav clip for the HMA alert, default `alert.wav`. | alert.wav |

Settings that fit your chart
A Hull average suits charts where trends develop over a session or more. EURUSD H1 is the reference chart, where `HmaPeriod` at `20` covers most of a day. On M5 the line turns constantly and the flip test does most of the filtering. On H4 the marks turn rare.
When the Bluster non repaint Indicator fails
A faster average overshoots more. The Hull line wobbles at turns where a simple average would sit flat.
The internal candles average two bars together, so the flip lags the real candle behind it.
Both tests read the same price series, so they are less independent than they look.
Copy the compiled Bluster non repaint 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 Bluster non repaint Indicator for MT4 and MT5
The zip holds the compiled Bluster non repaint 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 makes HmaPeriod react faster than a plain average?
The construction. It takes twice a weighted average over half the period and subtracts a weighted average over the whole period. That difference cancels most of the lag. A final smoothing over the square root of the period tidies the result.
Why smooth over the square root of HmaPeriod?
Because it is short enough to keep the speed the subtraction bought, and long enough to stop the line jittering. At `HmaPeriod` `20` that final pass runs over four bars. It is part of the original recipe rather than a tweak.
What does the HMA plot gain from the flip test?
A second opinion built from averaged opens and closes. On its own the Hull slope changes often in a range. Requiring the averaged candles to change colour on the same bar removes most of those false turns.
Is ArrowOffsetPts at 35 too far on H1?
It is a wide gap, about three and a half pips on a five-digit feed. That keeps the mark clear of the gold line, which often sits close to the candle. Lower it if you run the tool on a clean chart.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Bluster non repaint Indicator as one input. Always backtest before trading live.
Category: this is part of our Signal and Forecast collection. Also, 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 Odd lotter on Wikipedia.
- For wider market background, see Eveningstar at Investopedia.
