Inducement is the level that tempts traders in. A sweep is what happens when price takes it and reverses. The inducement and sweep ict indicator marks both halves: first the minor swing that attracts orders, then the bar that runs through it and closes back on the other side. Every threshold scales with ATR, so one setting works across instruments.
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: Inducement High, Inducement Low, Sweep High (SELL), Sweep Low (BUY) |
| Alerts | popup, push notification, email, sound |
| Inputs | 12 |
What the Inducement and Sweep ICT Indicator draws on the chart
Inducement High marks a gold dot above a minor swing high that may attract buy stops.
Inducement Low marks an aqua dot below the equivalent swing low.
Sweep High (SELL) prints a red arrow where price cleared a swing high and closed back under it.
Sweep Low (BUY) prints a lime arrow at the mirror case, with text labels beside the markers.
- Inducement High: arrow, gold, width 2, arrow code 159
- Inducement Low: arrow, aqua, width 2, arrow code 159
- Sweep High (SELL): arrow, red, width 2, arrow code 234
- Sweep Low (BUY): arrow, lime, width 2, arrow code 233

How the Inducement and Sweep ICT Indicator calculates its values
Scaling every threshold to volatility
atr comes from iATR over `AtrPeriod`, then tol takes atr times `SweepBufferATRx`. That single tolerance drives everything. Marker offsets use tol times 1.5 and 2.0, and the sweep test uses tol as its buffer. Because it derives from ATR, a setting tuned on EURUSD behaves sensibly on gold without rescaling.
Marking the inducement
p takes i + N, stepping back so the candidate swing has newer bars to be judged against. IndHigh[p] then sits at high[p] plus tol times 1.5, with IndLow[p] below the low. `SwingLookback` at `5` and `InducementWindow` at `25` set how the code identifies these minor swings and how long it keeps watching them.
Requiring a clear and a close-back
max_k bounds the search at MathMin(`SweepWindow`, rates_total – i – N – 1). A sweep of a low then needs two things on the same bar: low[i] below swing_low_level minus tol, and close[i] back above swing_low_level. The tolerance is what stops a one-tick probe counting as a sweep, and the close-back is what separates a sweep from a genuine break.
How to read the signals
Dots mark bait, arrows mark the take. The dots come first and often sit well to the left of the arrow.
A sweep with no inducement dot behind it is just a failed break of an unremarkable level.
The 40-bar sweep window means the code will pair a sweep with a level up to forty bars old.
Marker distances scale with ATR, so their spacing widens automatically when the market speeds up.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
Four channels sit beneath `EnableAlerts`: popup, push notification, email and sound, with `SoundFile` naming the clip. Popup ships on. The close-back test reads a completed close, so the message follows a finished bar, one per closed bar.
Every Inducement and Sweep ICT Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
SwingLookback |
Bars either side used to identify a minor swing, default `5`. | 5 |
InducementWindow |
How long an inducement level stays eligible, default `25` bars. | 25 |
SweepWindow |
How far back the code will look for the level a sweep took out, default `40` bars. | 40 |
SweepBufferATRx |
Clearance beyond a level before it counts as swept, default `0.10` of an ATR. This is the setting that decides how much of a probe qualifies. | 0.10 |
AtrPeriod |
Bars in the volatility measure, default `14`. | 14 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ShowLabels |
Set it `false` to keep the markers and drop the text. | on |
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 |
(see inputs panel) | off |
SoundFile |
(see inputs panel) | alert.wav |

Settings that fit your chart
The pattern needs levels enough traders can see, which favours liquid instruments on H1 and above. EURUSD H1 is the reference chart, where a 40-bar sweep window reaches back most of two days. On M5 minor swings form constantly and the inducement dots crowd the chart. Because every threshold scales with ATR, gold and indices work without retuning the buffer.
When the Inducement and Sweep ICT Indicator fails
Inducement is an inference about other traders’ orders. The code cannot see resting stops, only the levels where they plausibly sit.
A sweep that closes back inside can still resolve in the breakout direction later. The pattern describes rejection at one bar, not an outcome.
During a strong trend, levels get taken and held rather than swept, so the tool goes quiet exactly while price moves most.
Copy the compiled Inducement and Sweep 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.
Related on forexmt4systems.com: ICT Style Strategy.
Background reading on the method behind the Inducement and Sweep ICT Indicator: Intermarket sweep order on Wikipedia, Oversold at Investopedia.
Download the Inducement and Sweep ICT Indicator for MT4 and MT5
The zip holds the compiled Inducement and Sweep 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 separates a sweep from an ordinary break?
The close. A sweep needs low[i] to drop below the level minus tol AND close[i] to finish back above it, on the same bar. Price took the level and could not hold beyond it. A bar that closes past the level has broken it, which this build deliberately leaves unmarked.
What is SweepBufferATRx protecting against?
One-tick probes. Without a buffer, price grazing a level by a single point would register as a sweep. At `0.10` the bar has to clear the level by a tenth of an ATR before it counts. Raise it if the chart shows sweeps you would not call sweeps by eye.
Why does SweepBufferATRx change the marker spacing between charts?
Because every offset derives from ATR. tol is atr times `SweepBufferATRx`, and the dots and arrows sit at multiples of that. On a fast day the markers stand further from the candles, on a quiet one closer. That keeps them legible without a per-instrument setting.
How far back can SweepWindow reach for a level?
Forty bars by default, bounded by max_k so the search never runs past the available history. Widen it on slower charts where the inducement and the sweep sit further apart. Narrow it to insist the level was recent, which usually means fewer but more relevant signals.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Inducement and Sweep ICT Indicator as one input. Always backtest before trading live.
Category: this is part of our Smart Money collection. Also, browse more Smart Money for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- For background on this concept, see Intermarket sweep order on Wikipedia.
- For broader market context, see Oversold at Investopedia.
