Module 3 — Timing and trading models · Lesson 13 of 23 · 7 min
Trading model: sweep, MSS with displacement and entry on FVG/OB
A complete setup with yes/no rules from context to exit, with stop, target and management, a detailed numerical example, the cases in which not to enter and the variants to test.
Now we put the pieces together: bias, killzone, liquidity, structure, entry area. The sweep → MSS → FVG/OB model is a complete example of an SMC/ICT setup. Let's be clear right away: it's a teaching model to learn to write precise rules, not a strategy proven profitable. Its purpose is to give you a skeleton you can test, improve or discard with data.
The idea in one sentence
After price has taken liquidity on one side (sweep) and shown strength in the opposite direction (MSS with displacement), you look for an entry on the return into an inefficiency area (FVG) or an order block, with the stop beyond the sweep and the target on the opposite liquidity.
The conditions, in order (for a buy)
0. Context filter: bullish daily bias (score ≥ +3), killzone active, no high-impact news in the next 30 minutes.
1. Sell-side liquidity sweep: price exceeds with the wick a liquidity level (Asian low, PDL, equal lows, session low) and returns (closes above the level).
2. MSS with displacement (execution timeframe, M5/M15): after the sweep, a candle closes above the last internal lower high ("protected" by the sweep) with a body greater than 1.5 × ATR(14). This is the confirmation of strength.
3. Entry area: the displacement leaves an FVG (or an order block). The area is defined as:
- FVG: the zone [C1.high, C3.low] of the sequence that created the MSS;
- OB: the last bearish candle before the impulse.
4. Retracement: wait for price to return into the area, ideally in discount of the reference range (below 50% of the sweep→MSS move), preferring the OTE.
5. Entry: at market with a small confirmation (for example an M1 rejection candle), or a limit order at the FVG's CE.
6. Stop: below the sweep's low, plus a margin (for example spread + 2 pips).
7. Target: first target = last internal swing high or the range's equilibrium; final target = opposite buy-side liquidity (PDH, Asian high, equal highs).
8. Minimum ratio: risk/reward at the first target ≥ 1:1.5 (or as per plan). If it can't be reached, don't enter.
For a sell: mirror conditions.
Writing each condition as yes/no
The rule is valid only if verifiable. Here's how to translate the "in words" formulation into a numerical condition:
| In words | Verifiable rule |
|---|---|
| "Price has taken the liquidity" | Low of the candle < level L and Close ≥ L, wick beyond L ≥ 0.2 × ATR |
| "Strong displacement" | Body > 1.5 × ATR(14) and close beyond the last internal swing high |
| "Valid FVG" | C1.high < C3.low and amplitude ≥ 0.3 × ATR |
| "Return into the area" | Low of the candle ≤ FVG's CE within 20 candles of the MSS |
| "In discount" | Entry price < 50% of the range [sweep low, impulse high] |
| "Killzone active" | UTC time in 07:00-10:00 or 12:00-15:00 |
When each item becomes yes/no, the model is testable (by hand and with code) and replicable.
A complete numerical example
Note that the case "went well", but the value is in the procedure: every decision was written beforehand.
When NOT to enter
- The MSS occurs without a prior sweep (the liquidity grab and the model's context are missing).
- The sweep has occurred but the "MSS" is weak (small body, no displacement).
- The target is too close relative to the stop (R:R < minimum).
- Less than 30 minutes to a high-impact announcement.
- You've already hit the maximum daily loss or the maximum number of trades.
- The HTF context is against (neutral or opposite bias).
- Price is already beyond 62% toward the target at entry (the "train" has left).
- The spread is abnormal.
Variants to test (one at a time)
- Entry: at the FVG's CE vs. at the OB vs. after a CHoCH on M1.
- Stop: below the sweep vs. below the OB/FVG (tighter, more stop-outs).
- Target: fixed at 2R vs. on liquidity vs. partial at 1R.
- Filter: only days with a narrow Asian range; only in discount; only with the D1 bias.
- Execution timeframe: M5 vs. M15.
For each variant: 100 cases on replay, expectancy in R, drawdown, costs included. Change one thing at a time, otherwise you can't tell what improved or worsened.
How to build the tracking table
For each case (even those discarded by a rule) record: date, killzone, bias, sweep (level and size), MSS (displacement in ATR), FVG (size), entry, stop, target, outcome in R, notes. Record also the cases where the model is "almost" valid but isn't: they are the most instructive part.
In short
- The model: liquidity sweep → MSS with displacement → entry on FVG/OB in discount → stop beyond the sweep → target on opposite liquidity.
- Each condition must be written as yes/no with numerical values (ATR, tolerances, times).
- Don't enter without a sweep, without displacement, with insufficient R:R, near news or against the bias.
- Variants to test one at a time on at least 100 cases.
- It's a teaching model: its validity depends on your data and costs.
Practical exercise
- Write the eight conditions with numerical thresholds for your pair.
- Find 100 cases on replay and record the outcome in R.
- Calculate expectancy and drawdown with costs (1 pip). Does the model exceed zero?
Test what you've learned
1. Which condition confirms strength after the sweep?
2. Where does the stop go in the bullish model?
3. When don't you enter?
4. Why change only one variant at a time?
Have a question or want to share your exercise?
Post in the community, or join the free signals room on Telegram.
Educational content, not financial advice. Trading involves risk. ICT is a term referring to the materials of Michael Huddleston: this course is independent and not affiliated.