Stop Placement & Risk Anchoring
9 min read
Learn where to place stops using structural invalidation points to survive traps while staying in the game.
9 min read
Learn where to place stops using structural invalidation points to survive traps while staying in the game.
Place your stop one tick + spread past the price level that, if reached, falsifies your setup thesis — not at a fixed dollar amount or percentage. Then size the position so the distance to that stop equals 0.25–1% of account equity. Stop comes first; size adapts.
This is lesson 1 of 8 in Stop Placement. It establishes the keystone concept — structural invalidation — that every later lesson refines. Prerequisite: Risk Per Trade & Position Sizing. Next: ATR-Based vs Structural Stops, which formalizes the trade-off introduced here.
A stop is the price at which your setup thesis — not your P&L — is falsified. If you're long because a swing low held, the stop sits just past that low; if it breaks, the reason you bought is gone. Sizing then follows mechanically:
position_size = (account × risk%) / |entry − stop|
The stop comes first; size adapts. This inverts the most common mistake: deciding "I'll risk $200" and then drawing the stop wherever that dollar amount lands. That is a budget, not a stop.
The mirror cases apply for shorts: just past the swing high, or above the BOS candle body.
Four stop types compared (Money / percent is an anti-pattern)
| Type | When to use | Formula | Primary weakness | Sizing input |
|---|---|---|---|---|
| Structural | Default, when invalidation level is identifiable | One tick + spread past the level | Sometimes too tight in volatile noise | Stop distance |
| Volatility (ATR) | No clean structure, or sanity-check tool | Entry ± k × ATR(period) | Can land in empty space far from structure | Stop distance |
| Time | Scalps, trap reversals, reactive entries | Exit at T bars without follow-through | Doesn't cap dollar loss; pair with price stop | Bar count, not size |
| Money / percent | Never as a placement rule | Fixed $ or % of equity | Disconnected from market structure | (anti-pattern) |
Categories are not enough; the reader needs a decision procedure. Here are the four common entries and where the stop belongs on each:
| Setup | Invalidation level | Buffer | Notes |
|---|---|---|---|
| Sweep + reclaim | Below the sweep low | 1 × spread | Reclaim invalidates if price closes back below the sweep low |
| BOS retest | Below BOS candle body | 0.25 × ATR | Wicks past the body don't invalidate; closes do |
| FVG fill | Beyond FVG far edge | 0.25 × ATR | Stop beyond the gap, not inside it |
| OB retest | Beyond OB body | 1 × spread | Use the body, not the wick — wicks are noise |
| Range fade | Beyond range extreme | 0.25–0.5 × ATR | A close outside the range invalidates the fade |
Resting stops cluster at obvious levels: round numbers, prior swing wicks, OB edges, the exact low everyone draws their line on. Those clusters are visible liquidity — the only place a large participant can fill size without slippage. Being swept is not a conspiracy; it is microstructure.
The fix is two-step:
Stop-out clusters are most predictable during high-liquidity windows; see Killzones for when sweeps are most likely.
BTC sweep of lows into 4H order block, then 1m BOS + reclaim. Invalidation: close back below the 4H low. Account $20,000, risk 0.5% = $100. 4H low $63,950, 1m ATR $120.
Stop = 63,950 − (1.2 × 120) = $63,806. Distance = 64,200 − 63,806 = $394. Size = $100 / $394 = 0.254 BTC. Reward = $800 on $394 risk = +2R.
0.5% of $20,000 account — fixed before the stop is drawn.
Entry $64,200 → stop $63,806 (4H low minus 1.2 × ATR buffer).
= $100 risk / $394 stop distance. Size adapts to the structural stop.
position_size = risk_$ / stop_distanceTake profit at $65,000 = $800 on $394 risk.
The stop set the size, not the other way around. If the same trader had said "I'll risk $200," they would have sized 0.508 BTC and either taken double the structural risk or moved the stop tighter into the trap zone. Both errors. Sizing follows from stop; see Risk Per Trade & Position Sizing for the full sizing framework.
A stop is calibrated, not chosen once. Track three numbers across at least 50 trades:
Diagnostic adjustments after ≥ 50 trades
| Symptom | Likely cause | Adjustment |
|---|---|---|
| Stop-then-runs > 30% of trades | Stop is inside the liquidity pool | Widen by 0.25–0.5 × ATR |
| Average MAE > 70% of stop distance | Stop too tight for setup's natural noise | Widen, or switch to structural anchor with larger buffer |
| Win rate fine, expectancy negative | Stop too wide; surviving but bleeding R | Tighten to nearest structural level |
| Stop never approached (MAE ≤ 20%) | Stop too wide; capital underused | Tighten — you're paying R you don't need |
Even well-placed stops get hit. A 55%-win, 1.5R system loses 4 in a row about 4% of the time — perfectly normal. Tracking "stop-then-runs" is useful only across ≥ 50 trades; below that, you are reading noise. A too-wide stop can equally kill an account through R-multiple compression: surviving every trade while bleeding expectancy is the slowest form of ruin.
A structural stop is placed one tick + spread past the price level that falsifies your setup thesis — typically a swing low/high, the body of a break-of-structure candle, or the far edge of a fair-value gap or order block. If price reaches that level, the reason you took the trade is gone, so the stop is anchored to the chart, not to a dollar amount.
Use position_size = (account × risk%) / |entry − stop|. With a $20,000 account, 0.5% risk ($100), entry at $64,200 and stop at $63,806, distance is $394 and size is 100 / 394 = 0.254 BTC. The stop is set first from structure; the size adapts so distance equals your fixed risk percentage.
Place stops beyond the liquidity cluster, not inside it. Resting stops pile up at obvious levels — round numbers, prior swing wicks, order-block edges — because those are the only places a large participant can fill size without slippage. Anchor to where the thesis dies, then add a buffer of 1 × spread or 0.25–0.5 × ATR past the cluster.
Use structure as the default and ATR as a sanity check. If a clear invalidation level exists (swing low, BOS candle body, OB edge), place the structural stop and confirm the distance is at least 1 × ATR — too tight means it's inside the noise floor. If no clean structure exists, fall back to ATR-based placement. Never use a fixed dollar or percent stop, which is a budget, not a stop.
A time-based stop exits the trade if price has not produced follow-through within a fixed bar count — for example, "out if no progress in 5–15 minutes." It complements the price stop rather than replacing it. The signal is lack of momentum, which is itself information for scalps, trap reversals, and reactive entries.
Test of a good stop: if it's hit, you should be able to write "thesis invalidated" in your journal without mentioning your account balance. If you have to mention dollars or percent, it wasn't a stop — it was a budget.
You don't win trades by avoiding losses — you win by surviving long enough to let your edge do the work. Structure it. Track it. Adjust it.