A swing failure pattern is a stop run that fails. Price trades beyond the last swing high, collects the stops resting there, then closes back below it. The swing failure pattern ICT indicator tracks the latest confirmed swings, dots them, and marks the bar that sweeps one and closes back inside.
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: SFP Buy, SFP Sell, Swing High, Swing Low |
| Alerts | popup, push notification, email, sound |
| Inputs | 15 |
What gets drawn, and where
Swing dots, level lines and two marks.
`Swing High` dots orange above confirmed highs.
`Swing Low` dots aqua below confirmed lows.
`SFP Sell` prints red with arrow 234.
`SFP Buy` prints lime with arrow 233.
`ShowLevels` draws the live swing levels.
- SFP Buy: arrow, lime, width 2, arrow code 233
- SFP Sell: arrow, red, width 2, arrow code 234
- Swing High: arrow, orange, width 1, arrow code 159
- Swing Low: arrow, aqua, width 1, arrow code 159

Following the source
Swings
`Swing` `5` bars on each side confirm a high or low. The newest ones become the levels to watch.
Sweep
The wick must pass the level by at least `MinSweepAtr` `0.05` of an `AtrPeriod` `14` range, and the close must land back inside.
Optional RSI
`UseRsiFilter` ships `false`. Switched on, a sell needs `RsiPeriod` `14` above `RsiSellMin` `40.0`, and a buy needs it below `RsiBuyMax` `60.0`.
How to watch it
A red mark shows a failed push above a high.
A lime mark shows a failed push below a low.
Dots show which swing was run.
Dotted lines show the levels still live.
`Cooldown` `3` spaces same-side marks.
Swings confirm five bars late.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
Each swing failure reports as a liquidity sweep and reject. `EnableAlerts` holds it, and at first the popup is the only route that delivers.
Every Swing Failure Pattern ICT Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
Swing |
Fractal swing depth (bars each side). Bars on each side of a swing, `5`. | 5 |
AtrPeriod |
ATR period (sweep depth + arrow offset). Range window, `14`. | 14 |
MinSweepAtr |
Min wick beyond level (x ATR). Smallest sweep beyond the level, `0.05`. | 0.05 |
RsiPeriod |
RSI period (optional filter). RSI length for the filter, `14`. | 14 |
UseRsiFilter |
Require RSI confluence. Demand RSI agreement, `false`. | off |
RsiBuyMax |
Bullish SFP: RSI must be below this. RSI ceiling for buys, `60.0`. | 60.0 |
RsiSellMin |
Bearish SFP: RSI must be above this. RSI floor for sells, `40.0`. | 40.0 |
Cooldown |
Min bars between same-side signals. Bars between same-side marks, `3`. | 3 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ShowLevels |
Draw active liquidity level lines. Draw live swing levels, `true`. | on |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
Master alert switch, `true`. | on |
EnablePopup |
(see inputs panel) | on |
EnablePushNotify |
(see inputs panel) | off |
EnableEmail |
(see inputs panel) | off |
EnableSound |
(see inputs panel) | off |
SoundFile |
(see inputs panel) | alert.wav |

Markets and timeframes
Stop runs happen on every liquid chart. EURUSD H1 is the reference chart, with a few failures a week. On M15 London and New York opens produce most of them. On D1 a swing failure marks a major turn.
What can go wrong
A sweep can become a real breakout.
Five-bar swings leave recent highs untested.
The RSI filter ships off.
Only the popup is on at the start.
Copy the compiled Swing Failure Pattern ICT 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 Swing Failure Pattern ICT Indicator for MT4 and MT5
The zip holds the compiled Swing Failure Pattern ICT 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 MinSweepAtr 0.05 require?
The wick must pass the swing level by at least five percent of the average range. A bar that only touches the level does not count as a sweep of the stops above it.
When does SFP Sell print?
When a bar’s high runs past the last confirmed swing high by the sweep margin and its close lands back below that high. The close must happen on the same bar.
What does UseRsiFilter add when switched on?
A momentum check. A sell then also needs RSI above 40 and a buy needs it below 60, which removes swing failures that happen with momentum already exhausted.
Why does Swing 5 matter for the levels?
Only swings with five bars on each side become levels. Smaller turns are ignored, so the sweeps the build marks are of more meaningful highs and lows.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Swing Failure Pattern ICT Indicator as one input. Always backtest before trading live.
Category: this is part of our Smart Money collection. Browse more Smart Money for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- The core method is documented in Failure to deliver on Wikipedia.
- Additional market context is at Oscillator at Investopedia.
