Stop-loss math that survives gaps.
The stop you set on Friday isn't the stop you get on Monday's open. A 2× ATR stop is a 2× ATR stop only when the market is continuously trading. After earnings, after a guidance cut, after a CEO resignation, after a weekend full of headlines — you get whatever fill the gap hands you. The discipline isn't the stop value. It's understanding what the stop is actually doing.
What an ATR stop assumes
Average True Range is a 14-day measure of typical daily volatility. A 2× ATR stop says "I'll exit when price moves twice the typical daily range against me." That's a clean, principled rule when the market is open and trading. The market provides liquidity at every cent between current price and the stop level. Your stop order sits on the book and gets filled close to where you set it, slippage measured in pennies.
None of those assumptions hold across a closed market. Between Friday's close and Monday's open is roughly 64 hours where the underlying business keeps generating news but the ticker can't reprice. Earnings is announced after-hours. Guidance gets revised in pre-market press releases. A regulator opens an investigation at 4:30 PM ET. By the time the bell rings the next day, the stock prints at whatever the first matched buy and sell orders agree on — often several ATRs from yesterday's close.
A stop is an instruction to a broker. The broker can only fill it once price is trading. If price gaps over the stop level, the order becomes a market order at whatever the next available price is. The stop didn't fail; the assumption that price moves continuously did.
The actual gap distribution
Most overnight gaps in liquid US equities are small — 80%+ are within roughly 1× ATR. The thing that matters isn't the median, though. It's the shape of the right tail.
On a normal trading night for a normal stock, the open is within a fraction of an ATR of the prior close. On an earnings night for the same stock, the open is routinely 3–8× ATR away. Stocks that miss guidance can open down 15–30% on volume, which for most names is 5× ATR or more. The 2× stop you set the afternoon before earnings becomes a 5× ATR loss when the stop fires at the opening print.
The same shape applies to weekends with material news, central bank surprises, and single-stock catalysts (FDA decisions, lawsuit verdicts, takeover rumors). The distribution of overnight moves isn't normal. It's a small body around zero with a fat right tail driven by discrete events. ATR — a 14-day measure — averages this out. It doesn't predict it.
Two stops, doing two different jobs
Most retail stop discussions conflate two distinct things. They get conflated because the same dollar number plays both roles, but the roles matter:
- The capital-protection stop — a hard line below which you accept that the thesis is wrong and you exit, regardless of the move that put you there. Set at structural support or a chart level the thesis depends on. Survives a gap (badly) because it has to: this is the line, and if it breaks, you're out at the worst available price. The job is binary: thesis intact, or not.
- The position-sizing stop — the input to the formula that says "if I'm risking $R per trade and my stop is $S below entry, I can buy R/S shares." This stop doesn't have to be where you'll actually exit. It just has to be a number that, multiplied by share count, equals the dollars you're willing to lose on this idea. A tighter sizing stop = larger position; a looser sizing stop = smaller position. The risk-dollars stay constant either way.
The trap is using the same number for both. People set a 2× ATR stop, size the position so that 2× ATR move = 1% of the account, and assume they've capped the loss at 1%. They've done the first half right (sizing math) and the second half wrong (capital-protection math, because gaps don't respect ATR). When earnings prints −5× ATR, the loss is −2.5% — not −1%.
The fix is not a tighter ATR stop. The fix is two distinct numbers: a sizing stop tight enough to keep the position small, and a capital-protection stop at the structural level where the thesis truly invalidates. They're not the same line.
Position sizing into gap risk
If you size the position assuming the stop fires cleanly at 2× ATR, your dollar-risk is theoretical. The actual dollar-risk is the larger of the ATR stop and the worst-plausible gap.
Concretely: a $100 stock with a $2 ATR has a 2× ATR stop at $96. Sized for 1% account risk on a $100k account, that's 500 shares ($1000 risk ÷ $2 stop distance). On an earnings night, the same stock opens at $90. Your "1% risk" position takes a $5000 loss — five times the budgeted risk. That single trade just wiped out four other ideas worth of room.
Two ways to budget for this:
- Size against the worst-plausible gap, not the ATR stop. If a 5× ATR gap is plausible (anything pre-earnings, pre-FOMC, pre-data-print), use 5× ATR as the sizing input. The position becomes 1/2.5× as large, the dollar-risk-on-fire stays at 1%.
- Reduce the gap-risk surface to zero where possible. Don't hold full-size positions across catalysts. Trim before earnings, trim before known event windows, trim before three-day weekends with macro overhang. The cost is missed alpha on positive surprises; the benefit is that the gap distribution stops mattering for the position you actually carry.
The framework's pre-flight chain has hooks for both. The earnings-distance check (part of the pre-flight) flags any new entry within N days of an upcoming earnings date and reduces the recommended position size. The "trim into catalysts" rule isn't automated — it's surfaced as a Pillar Coach narration when the framework detects a held position approaching a known event.
The Chandelier Exit, in plain English
Continuous-market trailing stops only need to solve one problem: how to lock in gains as a winner extends, without getting shaken out on normal pullbacks. The framework uses the Chandelier Exit:
chandelier_stop = max(close[-22:]) − 3 × ATR(14)
Twenty-two-day high (roughly one trading month) minus three times the daily ATR. As the stock makes new highs, the 22-day high ratchets up; the stop trails behind by a constant 3× ATR cushion. If the stock pulls back inside that cushion, no exit — that's the noise band. If it breaches it, the position has fundamentally changed character and the trailing stop is the exit line.
Three-times-ATR is wide on purpose. Tighter trails (1× or 1.5× ATR) get tagged on routine pullbacks in trending stocks and force re-entries that are mostly slippage and emotion. The point of a trailing stop is to capture the trend, not to be the trade itself.
The Chandelier Exit doesn't survive earnings either. Nothing does. It's a continuous-market tool for continuous-market problems. The discipline in the framework is to combine it with the catalyst-reduction rule — use the trailing stop while markets are quiet, reduce the position before known events.
Raise-stop automation
A trailing stop is only as useful as your willingness to actually move the broker order. Most retail traders compute the chandelier on a spreadsheet, see that it's higher than the active stop, then forget to update the broker. The next pullback hits the old stop, takes a full loss instead of locking the gain.
The dashboard's raise-stop automation closes that loop. When the chandelier value rises above the current broker-side stop, a one-click ↑ Raise $X→$Y button appears on the card. It opens a two-stage modal: review the new stop level vs. the chart, then a typed CONFIRM to send the modification. The broker call is bracketed by an 18-layer guardrail stack (preflight, audit-freshness, position-size cap, options-level enforcement, HMAC-token check, rate limit, cooldown, dollar-cap, and so on) — so an automated stop-raise can't trigger a stale-data move or bypass any of the safety floors that apply to a manual order.
The button only ever raises the stop, never lowers it. There is no automation in the framework for moving a stop further from price; that's always a discretionary action requiring full re-evaluation. Loosening a stop on a losing trade is the textbook way retail traders convert small losses into account-ending ones.
The hierarchy
Putting it all together, the stop-loss layer of the framework is three rules stacked, applied in order:
- The capital-protection stop is structural, not ATR-derived. It sits at the level where the thesis is broken — the prior swing low, the level the entry was based on reclaiming, the volume node below current price. This is the line. If it breaks intraday, you exit at market. If it breaks via gap, you take the gap.
- The trailing stop (Chandelier Exit) raises as price extends, never above the entry's structural stop, never below the current value. Automated via the raise-stop button. Tags only on continuous-market pullbacks of 3× ATR or more.
- The position is reduced ahead of known catalysts. Earnings, FOMC, data prints, three-day weekends with macro overhang. The reduction takes gap risk off the table at the cost of optionality on positive surprises. The framework surfaces the catalyst window in the catalyst chip and the Pillar Coach narrates the trim recommendation when the held position crosses the threshold.
None of this prevents losing trades. The framework is designed to lose small and often, win big and rarely, and survive the gaps. The math doesn't promise upside; it constrains the downside. The hardest part isn't computing the stop levels. It's the willingness to actually take the loss when the stop fires — and the discipline to size the position small enough that the loss, when it comes, is a paragraph in the journal rather than a chapter in the post-mortem.
Related: R:R isn't a number, it's a question · v6.x release notes — chandelier + raise-stop automation · The 13 risk pillars (where this layer fits)