If you know what a fair value gap is, can name every kill zone, understand liquidity sweeps and market structure shifts — and you are still losing — the problem is almost certainly not that you need to learn another concept.

I spent about two years in exactly that position. I had the whole vocabulary by then. I could label a chart beautifully after the fact. What I could not do was string a month together, and every time I lost I went looking for the concept I must have been missing.

There wasn't one. What I was missing was a model, and the difference between having a vocabulary and having a model is the entire subject of this page.

The five that account for most of it
1
Taking the first FVG you see
2
Trading against your own bias, or having none
3
Entering before the confirmation closes
4
Chasing an entry you already missed
5
Running a vocabulary instead of a model
The fix for all five
One backtested model with written criteria

Mistake 1: You took the first fair value gap you saw

This is the most common single error and it is worth being precise about why it fails.

On any given morning a 1-minute chart will show you a dozen fair value gaps. They are not equivalent. Most of them are noise — three candles that happened to leave a small imbalance while price was doing nothing in particular. A gap only carries meaning when it was created by displacement that means something, and "means something" has criteria.

A gap worth trading generally has all of these behind it:

  • It formed after a liquidity sweep. Something got taken — a session high, relative equal lows, the previous day's extreme. Without that, price had no reason to reverse and the gap is just a gap.
  • It formed on displacement. A decisive move, not a drift. If the candles that created it look like every other candle on the chart, no institutional order flow left that mark.
  • It sits on the correct side of the range. Buying a gap in premium means paying above the midpoint. That is the wrong half.
  • It agrees with your higher-timeframe bias. A bullish gap in a bearish day is a place price passes through on its way down.
  • It formed inside a kill zone. A gap at 1:15 PM on a quiet Tuesday has thin participation behind it.

Count those. Five conditions. The first gap you see on a chart satisfies, on average, one or two of them. That is why taking it feels like following the method and produces results that look random — because you have selected a gap on the single criterion of being visible.

Which Fair Value Gap? Four on the chart. One qualifies.
Four fair value gaps on one chart with only one meeting the criteria A schematic price chart showing four shaded fair value gaps. The first, early on the left, is marked as formed with no preceding liquidity sweep and rejected. The second is marked as sitting in premium, the wrong half of the range, and rejected. The third is marked as being against the higher timeframe bias and rejected. The fourth, formed after price sweeps a marked liquidity level and displaces downward inside the kill zone, is highlighted in green and marked as qualifying, with all five criteria met. A dashed equilibrium line divides premium above from discount below. liquidity — session high equilibrium premium above discount below 1 — no sweep 2 — in premium 3 — against bias 4 — qualifies sweep + displacement + premium + bias + kill zone sweep Three of these are visible. Only one is valid. Visibility is not a criterion.
The first gap you notice is rarely the one that qualifies, because you noticed it for reasons that have nothing to do with the criteria.

Mistake 2: You traded against your bias, or never formed one

Ask yourself honestly: before this morning's session, did you write down which direction you expected price to be delivered, and why?

If the answer is no, every setup you saw looked equally valid, because with no directional filter both sides always look reasonable. There is always a bullish gap and a bearish gap on the same chart. Without a bias you are picking between them on feel, and feel reliably picks the one that just moved.

The second version is worse and more common: you formed a bias, then took a setup against it because the setup looked good. That is not flexibility. It is the bias being abandoned at the exact moment it was supposed to do its job, which is to stop you taking the pretty countertrend setup.

Daily bias comes from the higher timeframe — where price sits in the range, which pool of liquidity is unfilled, what the draw on liquidity is. It does not come from the 1-minute chart, which during the pre-session is engineered to look convincing in whichever direction is about to reverse.

The written-bias test

Write one sentence before the session: "I expect price to be delivered toward ___ because ___." If you cannot fill both blanks, you do not have a bias, and the correct action is to watch rather than trade. This single habit removes more bad trades than any entry refinement.

Mistake 3: You entered before the confirmation closed

The market structure shift requires a body close through the opposing swing. Not a wick through it. Not price trading there and looking like it will close there. A closed candle body.

Entering on the wick feels like getting a better price. What it actually does is remove the only mechanism that distinguishes a genuine shift from the algorithm testing a level and rejecting it. Wicks through levels are constant. Body closes through them are not, and that difference is the entire filter.

The same applies further up the sequence. Price approaching a level is not price reacting to it. Price tagging an order block is not the order block holding. The 2024 material is explicit about waiting for price to give a clue rather than trading the level on arrival, and the clue is always a close, never a touch.

If you find yourself thinking "it's basically going to close there" — that thought is the mistake. Wait eleven seconds and know.

Mistake 4: You chased the one you missed

This one is emotional rather than technical, and it does the most damage.

The sequence is always the same. You watch a setup form perfectly. You hesitate, or you were making coffee, or you wanted one more candle of confirmation. Price leaves without you. And then, forty points later, you take an entry that has none of the criteria, because being out while price runs feels worse than being in a bad trade.

It does not feel like FOMO in the moment. It feels like recognising that you were right about direction. But the trade you have just taken is a different trade from the one you analysed: the level is gone, the risk-to-reward has collapsed, and your stop is now wherever it happens to fit rather than where the structure says it belongs.

The honest reframe is that a missed setup costs you nothing. A chased one costs you real money, and it usually costs you the next hour of judgement as well.

The rule that fixes it

If your limit did not fill, the trade did not happen. Set the order, walk away, and let it fill or not fill. Manual entries after the level has been left behind are not the same setup wearing different clothes — they are a new trade with none of the qualifying conditions, taken at the worst moment.

The real problem: you have a vocabulary, not a model

All four of the above are symptoms. This is the cause.

A vocabulary is a set of concepts you can recognise. A model is a written sequence with entry criteria, invalidation, and a stop and target rule, that you have tested on enough historical sessions to know how it behaves — including how often it produces nothing.

A vocabularyA model
Setup selectionWhatever you noticeA written checklist, all boxes or no trade
DirectionWhichever way it just movedDecided before the session, in writing
EntryWhen it looks rightA defined price, placed as a limit
InvalidationWhen it hurtsA structural level decided in advance
A losing tradeBad luck, or the concept is wrongExpected. Part of a known distribution.
A quiet dayFrustrating. Find something.Expected. Close the platform.

The last row is the one that separates people. Without a tested model you have no idea how often your setup is supposed to appear, so a day with nothing feels like failure and you go looking. With a tested model you know roughly what proportion of sessions qualify, and an empty morning is simply a data point that matches expectation.

What a Model Filters Out Why most sessions are supposed to produce nothing
A funnel showing how few trading sessions produce a qualifying ICT setup A funnel narrowing from left to right across five stages. The first stage represents all sessions in a month. The second removes sessions where no bias could be formed. The third removes sessions where no liquidity was swept in the kill zone. The fourth removes sessions where the sweep produced no body close market structure shift. The fifth and narrowest stage represents the sessions where an entry array formed at a valid price, labelled as the trades actually taken. A note beneath states that without a tested model there is no way to know this narrowing is normal, so an empty day feels like failure. All sessions Bias formed Liquidity swept in the kill zone Body-close MSS Array at a valid price Each stage removes sessions. That is the model working. Without a tested model you cannot know this narrowing is normal — so an empty day feels like failure.
Proportions are illustrative, not measured. The point is the shape: a model is mostly a machine for saying no, and the days it says no on are not days it failed.

Why backtesting is the actual fix

I know backtesting sounds like homework you can skip. It is not, and it is not primarily about proving the model works.

The real value is that it tells you what your setup looks like when it does not qualify. That is the knowledge that stops you taking the first fair value gap you see, because you have already seen two hundred gaps that failed the criteria and you recognise them on sight.

Work through sessions in order, one model, one instrument, and log every session — including the ones with no trade, which is where most of the learning is. What you are building is not a statistic. It is a reference library of what qualification actually looks like.

A useful discipline: mark your levels before you scroll forward. A chart annotated after the move always agrees with you, and it teaches you nothing at all.

Why you need far less than you think

A lot of the FOMO and the over-trading traces back to a belief that you need big wins. Look at what the framework actually asks for.

ICT has talked for years about modest daily objectives — a handful of points on ES rather than a home run. ES moves $50 per point per contract, so the arithmetic is simple:

Contracts5 ES points× 20 sessions
1$250$5,000
2$500$10,000
5$1,250$25,000

I want to be careful with that table, because tables like it are how people get sold things. It is arithmetic, not a projection. It assumes twenty winning sessions in a month, which nobody has. Most days the model declines and you take nothing. Losing days subtract. Nobody, including me, is telling you those numbers are achievable.

The reason it is worth showing is the opposite of the usual reason. It demonstrates how little you need from any single session. Five points is a fraction of a normal ES day's range. It is well inside what one clean setup in a kill zone can produce. You do not need to catch the whole move, you do not need three trades a day, and you certainly do not need the one you missed at 09:47.

Almost every mistake on this page comes from believing the opposite — that you need to be in, that you need more, that a small target is not worth taking. Take the five points and go and do something else. The model does not require heroics and neither does the maths.

The routine that removes most of this

Nothing here is clever. It is the same short sequence every morning, and it makes the four mistakes above structurally harder to commit.

  1. Before the session — write the bias sentence. Direction and reason, or you watch today.
  2. Mark the levels — liquidity above and below, unfilled gaps, the draw. Before the open, not during.
  3. Write the criteria you need — the actual checklist for your one model, visible on screen.
  4. Wait for the window — if the kill zone is not open, there is no trade to consider.
  5. Place a limit, not a market order — at the price your model says. Fills or does not.
  6. Log the session either way — including "no setup", which is the most useful entry you will write.

If that sounds boring, that is the point. Every one of the mistakes above happens in the gap between seeing something and acting on it, and a written routine is what fills that gap with a decision you already made when you were calm.

If you take one thing from this page

Stop looking for the concept you are missing. Pick the single model you understand best, write its criteria down, backtest it until you know what a non-qualifying day looks like, and run only that for two months. Most people who feel stuck are not short of knowledge — they are short of one thing they have tested properly.

Frequently Asked Questions

Why do my ICT trades keep failing even though I understand the concepts?
Because understanding concepts and having a model are different things. A vocabulary lets you recognise a fair value gap; a model tells you which one qualifies, which direction you are allowed to trade, exactly where the entry and invalidation sit, and roughly how often it should produce nothing. Most people stuck at this stage are not short of knowledge — they are running a set of concepts rather than one tested sequence.
Which fair value gap should I actually trade?
The one that formed after a liquidity sweep, on real displacement, on the correct side of equilibrium, in agreement with your higher-timeframe bias, inside a kill zone. That is five conditions, and the first gap you notice on a chart typically meets one or two. Visibility is not a criterion, which is why taking the most obvious gap produces results that look random.
Why does my stop keep getting hit before the move goes my way?
Usually because the stop is somewhere convenient rather than somewhere structural. It belongs beyond the swing that invalidates the idea, with room for the wick — if price trades through that point the premise is gone and you want to be out. A tighter stop placed to improve the risk-to-reward ratio does not improve the trade, it just makes it more likely that ordinary noise removes you before the idea has a chance.
How do I stop chasing entries I missed?
Place a limit order at the price your model specifies and let it fill or not fill. If it did not fill, the trade did not happen. A manual entry forty points later is a different trade with none of the qualifying conditions and a stop wherever it happens to fit. A missed setup costs you nothing; a chased one costs money and usually the next hour of judgement too.
Do I really need to backtest before trading ICT live?
Yes, and the reason is not what most people expect. The point is not proving the model works — it is learning what your setup looks like when it does not qualify. Two hundred logged sessions, including the ones with no trade, build the recognition that stops you taking the first gap you see. Mark levels before scrolling forward, because a chart annotated after the move always agrees with you.
How many points a day should I be targeting?
Less than you probably think. ICT has long talked about modest daily objectives — a handful of points on ES rather than a home run — and five points is a small fraction of a normal ES range, well inside what one clean kill-zone setup can produce. Most of the over-trading and chasing described on this page comes from believing you need large wins. You do not, and believing you do is what causes the trades that lose.
← Previous
How Long Does It Take to Learn ICT?