A market structure shift (MSS) is ICT's name for the first close through a swing against the move that just ran, made with displacement, usually right after a liquidity sweep. After a swept low, it's a candle that closes above the last swing high, far enough from the low to read as a push rather than a drift. Our Sweep Desk writes it down in its Structure shift option: a close strictly above the last swing high confirmed before the sweep, within 12 candles of it, at least 1 ATR(14) above the sweep's low.
Check it on your own chart, on closed candles (the bearish side mirrors this):
- Name the low and the line first. The low that may be swept, and the last swing high confirmed before the sweep: a candle whose high beats the 3 candles on each side.
- The sweep. A wick at least 0.05 ATR below the low and a close back above it: a liquidity sweep.
- The shift. Within 12 candles, a close strictly above the line. A wick, or a close exactly on it, doesn't count.
- The leg. That close minus the lowest low since the sweep is at least 1 ATR(14).
Miss one and it isn't an MSS. It can still be a change of character (CHoCH), which needs only the close against the trend: see BOS vs CHoCH. ICT is the Inner Circle Trader; MSS is his term.
Simulated 15-minute candles, not market data. Swings are confirmed by 3 candles on each side; ATR is ATR(14). The sweep needs a wick 0.05 ATR past the swing and a close back; the shift, a close through the line within 12 candles, 1 ATR from the sweep's extreme.
Read as text
- Simulated 15-minute candles. At 07:15 price prints a swing low at 98.63, confirmed 3 candles later: stops would rest below it.
- The last swing high confirmed before the sweep is 99.28, from 10:00: that's the line.
- At 11:15 a candle trades to 98.59, 0.20 ATR below the swing low (the rule needs 0.05), and closes back above it at 98.64: a sweep. The line is fixed from here.
- At 12:30, 5 candles after the sweep (the rule allows 12), a candle closes at 99.35, above the line. The lowest low since the sweep is 98.58, so the leg is 3.3 ATR, at least the 1 the rule needs: a bullish market structure shift.
- Through the end of the film, 16 candles after the shift, no close goes back below the sweep's low of 98.58.
- The rule names the shift. It says nothing about what price does next.
How this window was chosen: The first bullish MSS in the simulated run that is easy to see: the wick goes at least 0.15 ATR below the swing low, the swing low is 6 to 24 candles old at the sweep, the line was confirmed at least 3 candles before it and sits at least 1.5 ATR above the swept low, the shift closes 2 to 8 candles after the sweep, and its close is also the BOS vs CHoCH rule's break of the same line. Films never share a candle.
The films are simulated 15-minute candles read by those four steps plus the cancel rules of Sweep Desk's Pine source (version 2.0.0).
What is a market structure shift?
A close saying the run into a level was rejected with force. TTrades' comparison of MSS and CISD (published 1 July 2025, checked 2026-10-08) says an MSS "happens when price displaces and closes above or below a swing high or swing low," and its example has a sweep in it: "Price creates a swing low, sweeps liquidity, then breaks and closes below that low, signaling a bearish shift in structure."
LuxAlgo's ICT Concepts script (published 10 Apr 2023, checked 2026-10-08) settles the naming: "This is often labeled as "CHoCH", but ICT specifies it as MSS." Neither source gives displacement a number.
Use itMark the last swing on the far side before price sweeps the level. That line, and nothing drawn after the sweep, is the one the close has to pass.
Watch outA swing that formed after the sweep is easy to find in hindsight: it's a line chosen because price already crossed it.
MSS vs CHoCH vs BOS: what's the difference?
All three close strictly beyond a confirmed swing. What differs is the direction before the break, and what else has to be true.
| BOS | CHoCH | MSS | |
|---|---|---|---|
| The close goes through | the last swing, the trend's way | the last swing against the trend | the last swing against the run into a sweep |
| Needs a trend first | yes | yes | not in Sweep Desk: the sweep sets the side |
| Needs a sweep first | no | no | yes in Sweep Desk; TTrades' example has one |
| Needs displacement | no | no | yes |
| Has a deadline | no | no | 12 candles after the sweep, in Sweep Desk |
| Swing size in our tools | 5 a side (Signal Desk) | 5 a side (Signal Desk) | 3 a side (Sweep Desk) |
| It says | a new extreme held | the trend failed once | the run into the level was given back, with force |
MSS vs CHoCH. LuxAlgo treats them as one break under two names. By the written conditions, a sweep before it and displacement in it, not every CHoCH qualifies.
MSS vs BOS. Usually opposite ways: a BOS continues the trend, an MSS turns against the run into the sweep. After an MSS up, the next close above a swing high is a BOS in the new direction. Because the sweep sets the side, an MSS close can also be a BOS.
Simulated 15-minute candles, not market data. Swings are confirmed by 3 candles on each side; ATR is ATR(14). The sweep needs a wick 0.05 ATR past the swing and a close back; the shift, a close through the line within 12 candles, 1 ATR from the sweep's extreme.
Read as text
- Simulated 15-minute candles, one day. Every close beyond a swing gets a name from the same rule, read close by close.
- At 11:00 a candle closes above the last swing high at 69.76, the first break in the window: a BOS. A newer sweep replaced that setup before this close, so it isn't an MSS either.
- At 10:45 a candle trades above the swing high at 69.76 by 0.37 ATR and closes back below it: a sweep. Its line is the last swing low, 69.45.
- At 12:00 a candle closes below the swing low at 69.45, against the trend: a CHoCH. The swing high at 69.76 was swept 5 candles before, this is that sweep's line, and the leg from the sweep's high is 3.5 ATR: the same close is a bearish market structure shift.
- At 14:00 a candle closes below the last swing low at 68.95, the trend's way: a BOS. The last sweep of a swing high was 13 candles before, more than the 12 the rule allows, so it isn't an MSS either.
- At 18:30 a candle closes above the swing high at 69.17, against the trend: a CHoCH. The last sweep of a swing low was 14 candles before, more than the 12 the rule allows: not an MSS.
- At 19:45 a candle closes above the last swing high at 69.35, the trend's way: a BOS. The last sweep of a swing low was 19 candles before, more than the 12 the rule allows, so it isn't an MSS either.
- BOS and CHoCH need only the close. An MSS needs the sweep before it, the sweep's own line, and the leg.
How this window was chosen: The first 60-candle window inside one simulated day (UTC) where the rule labels a BOS, then a CHoCH that is also an MSS (its close breaks the MSS's own line), then a BOS the MSS's way, then a CHoCH that isn't an MSS, and no BOS that is an MSS; the first label at least 8 candles in, the last at least 4 candles before the end.
In our simulated year (364 simulated days of 15-minute candles, 3-a-side swings for every label), the BOS vs CHoCH rule found 707 CHoCH closes and 64 of them were MSS closes; another 53 MSS closes were BOS. Those are counts from random candles with nobody behind them: they show how much the extra conditions filter, not how often real markets print an MSS.
A change in state of delivery (CISD) is the earlier cousin: a close through the open of the candle run that made the extreme, not through a swing. After a swept low it usually prints first, the MSS later.
The MSS close also leaves zones. The last down candle before it is an order block by our rule. If that close went through an older bearish order block, that block becomes a breaker block. If the swept level was the last swing low and no close went below it, the up candle at the broken high is a mitigation block when you read closes.
When is a CHoCH not an MSS?
When no low was swept, or when the close clears a swing drawn after the sweep instead of the sweep's line. Both are in the film below.
Simulated 15-minute candles, not market data. Swings are confirmed by 3 candles on each side; ATR is ATR(14). The sweep needs a wick 0.05 ATR past the swing and a close back; the shift, a close through the line within 12 candles, 1 ATR from the sweep's extreme.
Read as text
- Simulated 15-minute candles. Price trends down: 3 closes below the last swing low, each a BOS.
- At 19:30 a candle closes above the last swing high at 101.05, against the trend: a CHoCH, the BOS vs CHoCH rule's first break the other way.
- No sweep of a swing low came before it: in the 24 candles before it, price trades below no swing low and closes back above. With no sweep there's no line to measure, so the rule says no: a CHoCH, not an MSS.
How this window was chosen: The first CHoCH up with no sweep, of either side, in the 24 candles before it, after at least one BOS down in its window.
What decides it in practice? In the simulated year, 867 sweeps started a setup and 140 became an MSS. 505 were cancelled by a close more than 1 ATR beyond the swept level, 139 were replaced by a newer sweep, and 83 ran out of their 12 candles. Displacement decided none: all 140 closes through the line were already at least 1 ATR from the sweep's extreme. That comes from our simulation and from measuring the leg from the swept low; it isn't a finding about real markets.
So with Sweep Desk's leg measure, the sweep, the line and the deadline do most of the filtering. Displacement bites when ATR is large next to the distance from the low to the line. The sandbox below shows when.
What counts as displacement?
Whatever your rule writes down. TTrades says price "displaces and closes"; LuxAlgo describes "successive candles of the same sentiment (bullish/bearish) with large bodies and short shadows". Neither gives a measure. TFO's open-source Visualizing Displacement script (published 29 Nov 2022, checked 2026-10-08) compares "the bar range (either from high to low, or from open to close) to its standard deviation over some specified length," but its page names no default length or multiple.
Our tools write two versions, and they measure different things:
- Sweep Desk's MSS: a leg. The confirming close must sit at least 1 × ATR(14) beyond the sweep's extreme, which follows any new low while the setup waits. Its MSS route also needs a fair value gap at least 0.10 ATR wide in that leg.
- Fractal Model Desk's CISD: a candle. A body of at least 0.8 × ATR(14), measured on the candles before it, and at least 60% of the candle's range.
A 1 ATR leg can be one big candle or five small ones. The leg rule passes both; a body rule passes only the first.
The worked example uses made-up prices on 15-minute candles. Yesterday's low is 100 and the line is 110. Candle 1 sweeps to 98 and closes at 101. Candles 2 to 4 close at 103, 106 and 108; candle 2's high is 104 and candle 4's low is 105, a bullish gap from 104 to 105. Candle 5 closes at 111. With ATR at 4 the leg is 111 − 98 = 13 points, over 3 ATR: an MSS. With ATR at 14 the same close breaks structure without displacement, and the setup waits for a close above 112. A candle that wicks to 112 and closes at 109.9 is no shift at all.
MSS: a close through the line with displacement
- Sweep: the wick goes 2.00 below 100 = 0.50 ATR (needs 0.05), close 101 back above. Yes.
- Timing: 4 candles after the sweep (allowed: 12). Yes.
- Shift: the close 111.00 is above the line at 110. Yes.
- Displacement: 111.00 − 98 = 13.00 points = 3.25 ATR (needs 1). Yes.
With ATR at 4.0, the line binds: any close above 110 is already more than 1 ATR from the low.
What's the difference between a bullish and a bearish MSS?
Only the side: a bullish MSS sweeps a low and closes above the last swing high, a bearish one sweeps a high and closes below the last swing low. Sweep Desk uses the same numbers for both, cancels either one on a close more than 1 ATR past the swept level before the shift, and then takes the newest fair value gap in the leg, found within 8 candles, as its zone. Neither direction is a buy or sell signal on its own.
When does an MSS fail?
When a later close goes back through the sweep's extreme, the low (or high) the leg started from. Sweep Desk cancels there ("sweep extreme lost after the shift"), and its default stop sits 0.10 ATR beyond it.
Simulated 15-minute candles, not market data. Swings are confirmed by 3 candles on each side; ATR is ATR(14). The sweep needs a wick 0.05 ATR past the swing and a close back; the shift, a close through the line within 12 candles, 1 ATR from the sweep's extreme.
Read as text
- Simulated 15-minute candles. At 07:15 price prints a swing high at 126.76, confirmed 3 candles later: stops would rest above it.
- The last swing low confirmed before the sweep is 126.28, from 07:45: that's the line.
- At 08:45 a candle trades to 126.80, 0.22 ATR above the swing high (the rule needs 0.05), and closes back below it at 126.58: a sweep. The line is fixed from here.
- At 10:00, 5 candles after the sweep (the rule allows 12), a candle closes at 126.04, below the line. The highest high since the sweep is 126.88, so the leg is 4.0 ATR, at least the 1 the rule needs: a bearish market structure shift.
- At 13:00, 12 candles after the shift, a candle closes at 127.17, back above the sweep's high of 126.88: the shift failed.
- The rule names the shift. It says nothing about what price does next.
How this window was chosen: The first MSS, either way, after the first film's two, under the first film's visibility rule, whose sweep extreme is closed beyond again within 16 candles (4 hours) of the MSS.
In the simulated year, 35 of the 140 MSS closes had a close back through the sweep's extreme within 4 hours. Again a count from random candles, not a failure rate for real ones.
Does the MSS work?
Fourteen trades at 2.9 looks like a winner until the second chart shows 16 at 0.86. That's why we ran two. A real test needs the displacement number written first, hundreds of trades on several markets, a period the rule never saw (a walk-forward test), and costs. Until then, an MSS describes a rejected sweep precisely; it isn't a demonstrated edge.
Which timeframe is best for an MSS?
We haven't compared timeframes, so we can't name one. The rule is the same on every chart; the swing isn't: 3 candles a side spans seven minutes on a 1-minute chart and seven hours on a 1-hour chart. A 5-minute MSS against the 1-hour trend is a 1-hour pullback until a 1-hour candle closes beyond a 1-hour swing. Our MSS numbers come from 15-minute charts.
Which tools draw a market structure shift?
The whole rule on your own chart. Sweep Desk confirms sweeps by gap inversion, an inverse fair value gap, by default. Set Confirmation to Structure shift (MSS) and its Confirm row shows the broken level and the leg in ATR; a setup that doesn't become a plan is labelled with its reason, such as "no shift in time". Pine v6, full source in Pine Pro Library. New to Pine? Here's how to add a script to TradingView.
Sweep Desk sweeps more than swing lows: equal lows, yesterday's low or the inducement, as long as it was named before price got there. By default its plans also need a first touch of a 60-minute fair value gap: context, not part of the MSS.
Signal Desk labels BOS and CHoCH on closed candles, 5-a-side swings, with no sweep or displacement test. Fractal Model Desk marks the earlier close, the CISD, with the body test above. LuxAlgo's ICT Concepts script labels MSS too, by its own rules: check what a tool requires before trusting its labels.
More concepts, one written rule each: smart money concepts. ICT's models in learning order, with what we measured: ICT concepts.
Disclosure
We build Sweep Desk, Signal Desk and Fractal Model Desk and sell them in Pine Pro Library, alongside our other indicators. We have no relationship with ICT, TTrades, LuxAlgo, TFO or TradingView. Nothing here is financial advice, and no MSS rule on this page, ours included, has a validated edge.
Use these animations on your site.
Frequently asked questions
What is a market structure shift (MSS)?
ICT's name for the first close through a swing against the move that just ran, made with displacement, usually right after a liquidity sweep: after a swept low, a close above the last swing high, far enough from the low to read as a push.
What is the difference between MSS and CHoCH?
An MSS is a change of character (CHoCH) with two extra conditions: a sweep before it and displacement in it. Not every CHoCH qualifies.
What is the difference between MSS and BOS?
Usually opposite ways: a BOS continues the trend, an MSS turns against the run into a sweep. After an MSS up, the next close above a swing high is a BOS in the new direction.
What counts as displacement?
Whatever your rule writes down: TTrades and LuxAlgo give it no number. Sweep Desk's MSS rule needs the confirming close at least 1 ATR(14) beyond the sweep's extreme; Fractal Model Desk measures a candle instead, a body of at least 0.8 ATR(14) and at least 60% of its range.
Does a wick through the swing count as a market structure shift?
No. Only a close strictly beyond the line counts; a wick, or a close exactly on it, doesn't.
How soon after a sweep must the MSS come?
In Sweep Desk, within 12 candles of the sweep. Before the shift, a close more than 1 ATR back through the swept level cancels the setup, and so do 12 candles with no shift.
What is the difference between MSS and CISD?
A CISD closes through the open of the candle run that made the extreme, not through a swing. After a swept low, a CISD usually prints first and the MSS later.
Does the market structure shift work?
We haven't tested the MSS as a standalone trading rule. In Sweep Desk 1.1's structure-shift test on 15-minute candles, 1 June to 3 September 2026, gold made 14 trades at a profit factor of 2.908 and bitcoin 16 trades at 0.86, and the ledger says these results don't validate the current rules.



