Chandelier Exit is an ATR trailing stop on MT4 and MT5: one green line under price in an uptrend, one red line above it in a downtrend, and an arrow where they swap. It's quiet โ five flips in three weeks on gold H1 at the defaults โ and the reason it's quiet is worth knowing.

Two stops, one of them invisible
You see one line at a time. Both are calculated on every bar.
long stop = highest(Length) - Mult * ATR
short stop = lowest(Length) + Mult * ATR
Each is then ratcheted: the long stop can only rise, the short stop can only fall, for as long as the trend condition holds. Only the one matching the current direction is drawn.
The flip test uses the other one. Direction turns long when a bar closes above the previous bar's short stop, and turns short when a bar closes below the previous bar's long stop. Between the two, direction simply carries over.
That gap between the invisible stop and the visible one is the whole reason the indicator doesn't whipsaw. There's a neutral band where price can move around without changing anything, and it's as wide as the two stops happen to be apart. It also explains something that looks wrong the first time you see it: the flip fires at a price that was never drawn on your chart, because it was the hidden line's price.
The ratchet has a reset
This is the part most descriptions skip.
The long stop only ratchets while the previous bar closed above it. If the previous close was below the stop, the ratchet is discarded and the stop is recomputed from scratch โ which means it can drop. Same in reverse for the short stop.
You can see it in the July range on this EURUSD chart: several short red segments, each starting at a different height with a visible gap where the previous one ended.

That's not a drawing artefact. It's the stop being thrown away and rebuilt because price had already closed through it.
Closes or extremes
UseClose is on by default, so the highest and lowest in the formula are the highest and lowest closes over the lookback, not the highest high and lowest low.
That's the modern Chandelier Exit behaviour, and it makes the stop tighter and much less sensitive to single wicks. Set UseClose to false and you get the classic high/low anchoring, which sits further away and gets hit less often by intrabar spikes but reacts to every stop-hunt tail.
Both are correct versions of this indicator. The switch is there because they suit different instruments, and on anything with long wicks โ gold intraday, for one โ it's the input worth testing first.
Two periods, not one
Length sets the extremum lookback and ATRPeriod sets the ATR window, and they're separate inputs both defaulting to 22. Most builds of this indicator tie them together.
Raising both is not automatically calmer. Here is the same chart with both at 50:

The stop is smoother through the trend, and there's an additional whipsaw pair at the top that the default didn't produce. Longer windows move both the extremum and the band width, and the two effects don't pull the same way. Test, don't assume.
| Moving average | Parabolic SAR | This | |
|---|---|---|---|
| Levels maintained | One | One | Two, one hidden |
| Flip test against | The line itself | The line itself | The other level |
| Neutral zone | None | None | Between the two stops |
| Distance from price | Fixed lag | Accelerating | Mult ATR from a recent extreme |
| Can the level move backwards | Yes | No | Yes, on a reset |
What you get
Two stop lines, Wingdings flip arrows, optional Buy/Sell text, and an optional state highlight that shades between the ohlc4 mid price and the active stop. Notifications go through the shared block โ alert, email, push or Telegram โ and AwaitBarConfirmation is on by default, so alerts wait for the bar to close.
For EA use, the recursive values are exposed as buffers rather than only the drawn line: on MT5 the long stop is buffer 4, the short stop is buffer 5, and the direction state is buffer 6 holding +1 or โ1. That direction buffer is the thing to read, because it's defined on every bar rather than only where an arrow was drawn.
Where it's weak
Notifications are off by default on both platforms. noti_type starts at none, so you can attach this, watch it draw arrows all day, and never get an alert. Set it explicitly.
The state highlight covers your candles on MT4. MT5 has a proper fill primitive; MT4 has to fake it with histogram bars, which are drawn over the price bars rather than behind them. The input is off by default on both, and on MT4 that's the setting I'd leave alone.
Buy/Sell labels are off by default too. Only the arrows are on. If you want the words as well, turn ShowLabels on, and be aware they're anchored a full ATR below the arrow so on a compressed chart the two can collide.
The stop resets, so it isn't a stop you can leave in the market. A level that can move against you is a chart tool, not an order. Read it as "the trend condition is intact above here", not "put your stop here and forget it".
Arrows are chart objects. A flip that happens mid-bar and reverses before the close leaves the arrow deleted. AwaitBarConfirmation handles the alert side; the chart tidies itself.
Nothing filters the flips. No trend context, no session, no minimum move. In a range you get flips in both directions a few bars apart, as the EURUSD July stretch above shows plainly.
Wide bands cost you at the turn. Mult at 3.0 with a 22-bar ATR puts the stop a long way from price. That is what keeps it quiet, and it's also how much of a reversal has already happened before the arrow appears.
Questions you'll have
Does Chandelier Exit repaint? Closed bars don't change. The forming bar's stop moves as the bar develops, and an arrow on the forming bar is removed if the flip unwinds before the close.
Why did it flip at a price where no line was drawn? Because the flip test uses the opposite stop, which isn't drawn while it's inactive.
Why did the stop move backwards? Because the previous bar closed through it, which throws away the ratchet and recomputes the level from the current extreme.
Should UseClose be on or off? On is tighter and ignores wicks. Off is the classic high/low version, further away and more spike-sensitive. Try both on the instrument you actually trade.
Can I set the two periods differently? Yes, Length and ATRPeriod are separate. That's unusual for this indicator and it's deliberate.
Why am I not getting alerts? noti_type defaults to none on both platforms. Set it.
Can an EA read it? Yes, and read the direction buffer rather than watching for arrows: buffer 6 on MT5, +1 for long and โ1 for short.
Best timeframe? H1 and above. The defaults are built around a 22-bar window, which on M5 is under two hours.
MT4? Both platforms are included, one download each. Same stops and same flips; the optional state fill is drawn as histogram bars on MT4 and sits over the candles.
Support
Send me a message with a screenshot, the symbol and the timeframe, and I'll tell you what the tool was doing on that bar.
Analysis tool. It places no trades and makes no profitability claim. Past price behaviour is not a guide to future price behaviour.