The boom and crash non repaint indicator looks for a spike that has run out of steam. Two things must line up on the same closed bar. The range has to clear `AtrSpikeMult` times ATR, and a fast RSI has to be coming back from an extreme it reached on the previous 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: Boom Exhaustion (Sell), Crash Exhaustion (Buy) |
| Alerts | popup, push notification |
| Inputs | 10 |
What the Boom and crash non repaint Indicator draws on the chart
Boom Exhaustion (Sell) puts a red arrow above a spiking bar whose RSI is falling back.
Crash Exhaustion (Buy) puts a lime arrow below the mirror case.
Both sit `ArrowOffsetPts` `25` points from the bar high or low.
Nothing draws until both the ATR and RSI windows have filled.
- Boom Exhaustion (Sell): arrow, red, width 2, arrow code 234
- Crash Exhaustion (Buy): arrow, lime, width 2, arrow code 233

How the Boom and crash non repaint Indicator calculates its values
Spotting the spike
rng takes high minus low for the bar. isSpike compares that against `AtrSpikeMult` `2.5` times iATR at `AtrPeriod` `14`. A bar has to be two and a half times the usual range before it counts as a spike at all.
Requiring an RSI that has turned
boomExhaust needs iRSI at `RsiPeriod` `7` to have reached `RsiOverbought` `80.0` on the previous bar and to sit below `RsiRevertHigh` `70.0` now. crashExhaust mirrors that with `RsiOversold` and `RsiRevertLow`. So the extreme must already be releasing.
Two gaps, not one level
Splitting the entry level from the revert level matters. A single threshold would fire while RSI still sat at the extreme. Using 80 to arm and 70 to confirm forces a real move back before the mark appears.
How to read the signals
A mark means a large bar arrived and momentum had already started unwinding.
Marks are rare by design, since both gates are demanding.
A spike without the RSI turn produces nothing at all.
Widen the gap between `RsiOverbought` and `RsiRevertHigh` for stricter confirmation.
Alert channels in this build: popup and push notification, one message per closed bar.
`AlertOnSignal` ships on and raises a terminal popup when a signal closes. `PushOnSignal` adds the MetaTrader mobile app and is off by default. This build has no email or sound channel. The guard allows one message per closed bar.
Every Boom and crash non repaint Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
AtrPeriod |
ATR period. Bars in the ATR reading, default `14`. | 14 |
AtrSpikeMult |
Range > N * ATR triggers a spike. Range multiple that counts as a spike, default `2.5`. | 2.5 |
RsiPeriod |
RSI period. Fast RSI length, default `7`. | 7 |
RsiOverbought |
Prior-bar RSI >= this = boom-exhaustion candidate. Level the previous bar must have reached for a sell, default `80.0`. | 80.0 |
RsiOversold |
Prior-bar RSI <= this = crash-exhaustion candidate. Level the previous bar must have reached for a buy, default `20.0`. | 20.0 |
RsiRevertHigh |
Current RSI < this confirms boom reversion. Level the current reading must drop below to confirm a sell, default `70.0`. | 70.0 |
RsiRevertLow |
Current RSI > this confirms crash reversion. Level the current reading must rise above to confirm a buy, default `30.0`. | 30.0 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ArrowOffsetPts |
Arrow offset in points from high/low. Mark distance from the bar in points, default `25`. | 25 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
AlertOnSignal |
Alert on newly closed-bar signal. Raises a popup on a newly closed signal, default `true`. | on |
PushOnSignal |
Send mobile push on new signal. Sends the signal to the MetaTrader mobile app, default `false`. | off |

Settings that fit your chart
Spike fading needs instruments that actually spike. EURUSD H1 is the reference chart, where a bar clearing 2.5 ATR usually means a data release. On M5 spikes are common and the marks come more often. On H4 whole weeks can pass without a qualifying bar.
When the Boom and crash non repaint Indicator fails
Fading a spike means trading against the strongest move on the chart, which is a risky habit.
A 7-bar RSI reaches 80 and 20 easily, so the RSI gate is looser than it looks.
One spike can produce a mark and then continue for several more bars in the same direction.
Copy the compiled Boom and crash 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.
Background reading on the method behind the Boom and crash non repaint Indicator: Flash crash on Wikipedia, Wedge at Investopedia.
Download the Boom and crash non repaint Indicator for MT4 and MT5
The zip holds the compiled Boom and crash 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 does AtrSpikeMult at 2.5 demand?
A bar range of two and a half times the current ATR. On a chart where ATR reads 12 pips, that is a 30 pip bar. Ordinary volatility never reaches it, which is why the marks stay rare even on a busy instrument.
Why does RsiPeriod default to 7?
Because the tool is watching for exhaustion inside a single spike, and a 14-bar reading reacts too slowly for that. Seven bars reaches `RsiOverbought` `80.0` quickly and comes back off it quickly too, which is what the two-level test needs.
Why separate RsiOverbought from RsiRevertHigh?
So the mark waits for a genuine turn. `RsiOverbought` `80.0` arms the setup on the previous bar. `RsiRevertHigh` `70.0` then requires the current reading to have dropped ten points below it. A single level would fire while momentum was still climbing.
What does the Boom Exhaustion (Sell) plot mark?
A bar that spiked and whose fast RSI has already started falling back from the upper extreme. The arrow sits `ArrowOffsetPts` `25` points above the high. It marks a fade setup, which is the opposite of a breakout reading.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Boom and crash non repaint Indicator as one input. Always backtest before trading live.
Category: this is part of our Signal and Forecast collection. Thus, hence, yet, truly, browse more Signal and Forecast for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- For background on this concept, see Flash crash on Wikipedia.
- For broader market context, see Wedge at Investopedia.
