How to Replay an ICT Setup Without Hindsight

You pause a London chart at 8:15, mark a clean liquidity sweep and record a beautiful two-to-one opportunity. Then you notice the higher-timeframe imbalance used to justify it did not finish forming until 9:00. The price levels are real. The trade record is not.

Good replay has one central rule: a fact enters the decision only when a trader could have known it. The test is less about drawing a neat setup than maintaining a believable sequence of observations, decisions and executable orders.

Key insight

Time-locked replay reveals data in chronological order while preserving the information available at each decision. A reference has an event time, a confirmation time and sometimes a later execution time. A record is invalid if it treats all three as the same simply because the finished chart displays the label above an earlier candle.

Definition and chart context: time-locked ICT replay

Create a paper ledger with an event clock and a knowledge clock. The event clock records where the pivot, gap or excursion occurred. The knowledge clock records when its definition became observable on completed data. For a five-minute bar opening at 08:10, an observation requiring its close cannot become available at 08:10 simply because that is the bar label.

For the ICT background, see 2022 Mentorship Episode 3. The worksheets below use stated study rules for measurement, confirmation and simulated fills. Those choices let you reproduce the examples; they are not claims that a public candle identifies the owner, size or intent of an institutional order.

Why this distinction matters

ICT and SMC models often rely on sequences: a sweep, a shift, completion of an imbalance, then a return. Reversing just one dependency can invent a fill. A retracement into a future FVG is not an entry into a completed FVG. Likewise, using the final high of a running daily candle to choose a morning target imports information from after the trade.

How to identify it before the next candle

Hide the right side of the chart, record the chosen feed and source timeframe, and write the initial hypothesis in one sentence. Advance one completed decision bar at a time. Keep developing parent information visibly tagged provisional. Save separate timestamps for signal, order eligibility, first eligible quote, actual assumed fill and exit. Do not edit the original notes when something later becomes clearer.

An eligible order has another timestamp: when the assumed platform could accept it. A target print earlier than that timestamp can expire a pending idea, but it cannot book a profit. If the platform replays only complete candles, place an order after the signal bar and permit the next bar to supply eligibility. State where that convention is conservative and where it still leaves intrabar uncertainty.

A replay ledger with two clocks

A bearish gap is confirmed at the 08:20 close. The middle candle at 08:15 had already traded through the price later chosen as the limit. At 08:25 the bid remains below that limit and never returns before the target trades. Correct result: valid signal, order eligible after 08:20, no fill, zero contribution per eligible signal. Incorrect result: sell the future midpoint at 08:15 and collect the later move. Both versions use the same OHLC file. The difference is entirely in the handling of time.

A three-observation diagnostic
ObservationWhat to checkEvidence availableDecision
Event clockPivot locationMiddle candle opens at 08:05Location is not knowledge
Knowledge clockThird candle08:10 candle completes at 08:15Earliest confirmed observation 08:15
Ambiguous pathAfter a valid entryOne later bar contains both stop and targetUnresolved without ordered quotes

Keep an append-only decision log alongside a chart on which you may later draw freely. The log should record an explicit pass, cancellation or unresolved observation as readily as a fill. Repeating the same session from memory can be useful for training, but it is no longer a clean out-of-sample test of your decision process.

How to trade the idea in a paper replay

Define one executable order policy before replay. A new limit cannot fill on a low that occurred before the order existed. If a bar after entry contains both exits and tick history is missing, use an unresolved outcome or a consistently conservative ordering rule. The valid result can be less precise than a backtest report with two decimal places suggests.

The two replays use constructed five-minute candles and a controlled order model shared across this workbook series. Keeping the execution pattern comparable lets you isolate what the featured concept changes: the reference, the eligibility decision, or the management rule. These selected paths illustrate mechanics. They are not historical signals or a sample from which to estimate a winning percentage.

What an order ticket contributes to an ICT chart

Draw a vertical divider on paper. On the left, record the ICT interpretation: the location, displacement and proposed draw. On the right, record the instructions a dealing platform could accept: instrument, direction, size, order type, price, protective exit and expiry. Nothing on the right can be left as “when it looks right” if the goal is a reproducible replay. If your actual trading is discretionary, label the discretionary decision rather than inventing a mechanical rule afterwards.

An active order is different from an intended order. A moving quote could reach a level during a connection delay, between decision and submission, or after an expiry. Saving only the entry candle loses those distinctions. Keep the platform acknowledgement and fill record when reviewing real execution. For synthetic data, state whether the model assumes immediate activation, permits price improvement and verifies the correct side of the spread. A simplified assumption is useful when it is visible.

Trade size belongs to the contract, not the picture. For the USD-quoted instruments in the replays, a pip is 0.00010 and a fifth decimal is one tenth of a pip. Verify the contract size, minimum lot, volume step, commission schedule and margin rules on the actual instrument before reusing any money calculation. A broker symbol with a suffix can have different contract terms from the symbol in a textbook.

After a simulated exit, reconcile three quantities: planned risk at the assumed fill, risk at the actual or modelled fill, and realised money after costs. The first answers what was intended; the second answers how much exposure actually opened; the third answers what happened. A loss can exceed its planned amount, while a smaller loss is not evidence that the original stop was correctly placed. This reconciliation gives a structural idea an execution record that another person can audit.

For the platform terminology behind this distinction, see the MetaTrader description of orders, deals and positions. Use the actual broker’s instrument specifications when the platform supports more than one execution mode.

Building a blind second pass

Choose the test dates before opening the charts. Save the list and the rule version, then work from the oldest available observation forward without jumping to the eventual high or low. If possible hide the instrument and date during a training pass to reduce recognition. Removing labels is not enough if you remember the chart, so reserve genuinely unseen sessions for evaluation.

At every decision point write one short sentence in the present tense. For example: the source array is confirmed, the return has not occurred, the limit expires at the end of this window. Compare that sentence with the later fill record. If the first written mention of the order occurs after a favourable wick, mark the evidence insufficient even when you believe you would have taken the trade.

For ambiguous candles keep two admissible paths. A candle can move from open to high, then low, then close, or from open to low, then high, then close. The same OHLC data can support both. If the two paths yield different exits and no finer ordered data exist, report a range or an unresolved trade. Do not resolve it by selecting whichever path best matches the candle colour.

When reviewing mistakes, distinguish skill practice from strategy evaluation. Replaying a familiar loss until you recognise the warning sign is useful practice. Counting the improved decision on the same familiar session as fresh evidence of profitability is not. The next independent session matters because it can still surprise you.

Worked replay A: Replay the information as it arrived

Before the first revealed bar enter the old reference 1.08949 and opposing pivot policy in the log. Reveal the candles one by one. At 12:25 record the new extreme at 1.08922 without predicting that it will sponsor a reversal. The later state of the chart is hidden from this decision, even though the published diagram lets a reader see it all at once.

The local pivot break must complete and the third gap candle must close. Only then can the limit at 1.09005 exist. An overlapping low or high in an earlier bar is historical evidence, not an eligible fill. Save a screenshot or a text record of the pending instruction before pressing the next-bar key. That record is the simplest audit of your replay.

EUR/USD: Replay the information as it arrived
EUR/USD • five-minute bid candles • Ghana time (GMT)Target 1.09183Shift pivot 1.09034Entry / gap mid 1.09005Premarked reference 1.08949Stop 1.0891312:1012:2512:4012:4513:05Violet band: new FVG 1.08990 to 1.09020. Lines show quoted order prices.Green: up candle or target. Red: down candle or stop. Gold: prior reference. Blue: pivot. Violet: execution gap.

Read from left to right. The 12:25 candle tests the premarked reference; the 12:45 candle is the first eligible return after the new gap completes. A long position enters on the ask and exits on the bid. The price path is constructed for teaching.

Reconstruct the decision before reading the outcome

Cover the candles to the right of 12:25. On this EUR/USD bid chart the test candle opens at 1.08985, trades down to 1.08922 and ends at 1.08957. The close tells you that bids recovered part of the excursion. It does not yet tell you that anyone bought a particular number of lots, or that the prior short-term high will give way. Mark the low as an observation and leave the order field blank.

Now reveal the candle beginning 12:35. Its close at 1.09063 is above the earlier pivot at 1.09034. This is the completed break used by the exercise. Look two candles apart: the high of the bar beginning 12:30 is 1.08990 and the low of the bar beginning 12:40 is 1.09020. Their separation forms the bullish fair value gap in this model. One strong green candle alone would not establish those two outside prices.

A resting buy at their midpoint, 1.09005, can first be submitted at 12:45 under a next-bar convention. The 12:40 candle is named for its opening time, so its low cannot supply a fill for an order that depends on its close. This matters whenever the same screenshot appears to show both confirmation and a cheap entry. Write the order time before revealing the next low, not after finding a favourable one.

Assume a constant 0.6-pip spread throughout this small slice. On the return, bid reaches 1.08980 and the corresponding ask reaches 1.08986. The latter is at or below the requested buy price. We book 1.09005 as the fill, with no price improvement, no delay after activation and enough available size. Those are transparent simulation assumptions. A real candle, even from the correct side of the spread, is not a broker’s confirmation.

EUR/USD paper order and bracket
ItemCalculation or observationReading
Entryask limit at 1.09005 from 12:45buy EUR/USD
Stop distance1.09005 − 1.089139.2 pips
Target distance1.09183 − 1.0900517.8 pips
Gross risk:reward17.8 ÷ 9.2 = 1.931:1.93
After extra costs(17.8 − 0.4) ÷ (9.2 + 0.4)1:1.81 conditional on the stated fills
Exit first reachedbid reaches 1.09183 before the stop+17.4 pips after extra costs

What the order would risk in cash

Give the practice account a USD balance of 2000. Its hypothetical cap of one half of one percent is $10.00 for this decision. For a USD-quoted pair with a 100,000-unit standard contract, one pip at one standard lot is $10. Adding 0.4 pip for assumed round-trip commission and other execution friction gives $96.00 of modelled downside at one lot. The spread is already present in the entry and exit quote rules and is not charged a second time.

Divide $10.00 by $96.00 and round down to the next permitted hundredth of a lot. That leaves 0.10 lots, risking about $9.60 under these assumptions. A gap or worse stop fill can exceed that number. Position sizing changes the money exposed; it cannot turn a missing confirmation into a valid entry. When the minimum tradable size exceeds the cap, the worksheet records a pass.

Change just one fact

Run a second pass in which the post-entry bar contains both 1.08913 and 1.09183, with no ordered tick data. Both exits are possible. An unresolved outcome is the defensible label unless a conservative priority rule was declared in advance. Replaying the same OHLC bar more slowly cannot restore missing tick order.

Worked replay B: Replay the information as it arrived

Before the first revealed bar enter the old reference 1.26605 and opposing pivot policy in the log. Reveal the candles one by one. At 12:15 record the new extreme at 1.26627 without predicting that it will sponsor a reversal. The later state of the chart is hidden from this decision, even though the published diagram lets a reader see it all at once.

The local pivot break must complete and the third gap candle must close. Only then can the limit at 1.26537 exist. An overlapping low or high in an earlier bar is historical evidence, not an eligible fill. Save a screenshot or a text record of the pending instruction before pressing the next-bar key. That record is the simplest audit of your replay.

GBP/USD: Replay the information as it arrived
GBP/USD • five-minute bid candles • Ghana time (GMT)Stop 1.26648Premarked reference 1.26605Entry / gap mid 1.26537Shift pivot 1.26500Target 1.2624412:0012:1512:3012:3512:55Violet band: new FVG 1.26525 to 1.26549. Lines show quoted order prices.Green: up candle or target. Red: down candle or stop. Gold: prior reference. Blue: pivot. Violet: execution gap.

Read from left to right. The 12:15 candle tests the premarked reference; the 12:35 candle is the first eligible return after the new gap completes. A short position exits on the ask, which is above the bid candles by the assumed spread. The price path is constructed for teaching.

Audit the short from the exit side of the quote

Read the second tape independently. The 12:15 bid high is 1.26627. By the end of the bar starting 12:25, bid has closed at 1.26467, below the pre-existing pivot at 1.26500. The workbook calls that downward displacement. It does not require a guess about which institution initiated the move. The mark is useful because a different reviewer can identify the same closing price on the same feed.

The low of the 12:20 candle is 1.26549 and the high of the 12:30 candle is 1.26525. The later high remains below the earlier low, leaving a bearish execution gap between them. Halving this interval gives 1.26537. A sell limit resting there becomes eligible only after 12:30 has finished. When bid subsequently reaches 1.26567 the paper order can fill at its stated price. No favourable slippage is credited.

It is tempting to score this short from the lowest red wick, because that is what the bid chart displays. The position actually has to buy back. With an assumed spread of 0.7 pip, an ask target at 1.26244 requires a bid at or below 1.26237. An ask stop at 1.26648 needs only a bid at or above 1.26641. Marking these two conversions before scoring prevents a one-spread error on both exits.

Keep the original order record even when the outcome is obvious from the last candle. A reviewer needs the decision price, the reference quote and the activation time, not just a screenshot captioned “short”. If the platform would have rejected a resting order this close to market, or the feed lacks quotes in the return interval, the correct response is to change the fill status. It is not to claim a market execution at the old limit price.

GBP/USD paper order and bracket
ItemCalculation or observationReading
Entrybid limit at 1.26537 from 12:35sell GBP/USD
Stop distance1.26648 − 1.2653711.1 pips
Target distance1.26537 − 1.2624429.3 pips
Gross risk:reward29.3 ÷ 11.1 = 2.641:2.64
After extra costs(29.3 − 0.7) ÷ (11.1 + 0.7)1:2.42 conditional on the stated fills
Exit first reachedask reaches 1.26648 before the targetLoss of 11.8 pips after extra costs

Score the path, then challenge the assumption

The deciding candle opens at 12:50. Its bid range is 1.26563 to 1.26657. With the assumed spread, the ask range is 1.26570 to 1.26664. The upper stop is reached before the other exit without requiring a guess about two exits inside this bar. A later movement cannot reverse a booked exit. In particular, a later visit to the original target would not repair a prior stop.

Increase the estimated round-trip friction by another half pip as a sensitivity check, while leaving entry, stop and target fills fixed. Planned risk:reward becomes 1:2.28, obtained by dividing 28.1 pips of possible net reward by 12.3 pips of downside. This answers a cost question only. If widening the actual bid/ask spread changes whether an order is triggered, reconstruct the path instead of merely reducing the result by a fee.

Change just one fact

Run a second pass in which the post-entry bar contains both 1.26648 and 1.26244, with no ordered tick data. Both exits are possible. An unresolved outcome is the defensible label unless a conservative priority rule was declared in advance. Replaying the same OHLC bar more slowly cannot restore missing tick order.

What can go wrong in the review?

A favourable fill assumption copied into hundreds of rows does not average away. It creates systematic bias. Log how often fill order is unknown, how often bid-only data conceal the ask, and how many historical pivots were unavailable at the claimed decision time.

Reader exercise: Was this information available before the decision?

Try the following classification without using profit or loss as a clue. Measure the decision time minus the last required confirmation time. For this worksheet, the value must be at least 0 minutes. Also require this separate fact: the decision log was written before the outcome was revealed. These are conditions for admitting a row to a study. They do not replace the order trigger, size calculation or exit plan. The six records are constructed cases, not a report of observed market frequencies.

Six observations with deliberately different evidence
RecordMeasurementSeparate prerequisite met?Answer key
A5 minutesYesPasses this screen
B-5 minutesYesNumerical test fails
C0 minutesYesPasses this screen
D-10 minutesUnknownNumerical test fails
E15 minutesNoPrerequisite fails
FNot availableYesUnresolved

Cover the answer column and decide which facts you would request before admitting each record. A passes the numerical test at 5 minutes and has the other required evidence. B has the other evidence but measures -5 minutes. Under the stated rule that is enough to exclude B. A clean-looking reaction after B cannot change the comparison decision time minus the last required confirmation time ≥ 0. If you want to study a wider definition, write it as a new version and rerun every observation.

C is the deliberate boundary case. Its value of 0 minutes equals the threshold. This worksheet uses an inclusive comparison, so C passes. A version that demands strictly more would exclude it. Keep exact prices or timestamps in the original record before rounding for display; values that look equal on a chart may still differ at the feed’s actual precision. The most efficient place to look for a disagreement between two reviewers is often an equality case like this.

D has a smaller value than allowed, so it fails even though the separate prerequisite is unknown. E demonstrates the opposite error: the measured 15 minutes is acceptable, but the prerequisite is known to be false. F lacks the numerical evidence and its remaining condition is satisfied. There is no basis to call it either a clean pass or a measured failure. Keeping “unresolved” distinct from “no” preserves what data collection could still settle.

An old screenshot annotated after the fact can contain correct timestamps without proving that the decision was made blind. Preserve the unedited decision record.

Reconcile the worksheet with an execution record

A disputed observation needs evidence from the moment the order or decision was active. Match the symbol, account clock, order identifier where available and quote side before comparing prices. A platform may show an order, several deals and a final position summary as separate objects. The summary alone can lose the timing or weights that explain a difference. In replay, record your simulated equivalents rather than implying that an actual broker supplied a fill.

For this lesson the minimum useful packet is the event time, knowledge time, order time and unedited replay log. Preserve the original precision and include the clock used. If another reader can reproduce the number but not the label, examine the equality rule and prerequisite. If they cannot reproduce the number, settle the input discrepancy first. These are different faults, and only the second can be repaired by retrieving better data.

Among these six illustrative records, two meet both conditions, three fail a known test, and one remains unresolved. Reporting just two passes out of five known cases hides the effect of F; declaring F a failure invents a measurement. A practical report can state the lower and upper eligible counts, two and three out of six, while requesting the missing record. This is an eligibility audit, not evidence that an executable order would earn a return.

A test you can run on unseen sessions

Blindly replay an unseen week, then audit a random subset against the timestamp ledger. Count decisions that remain reproducible using only information to the left of each decision time.

Make one dated record for each session you inspect, including those in which the required condition never appears. Keep a count of eligible signals, orders placed, orders filled and positions closed. A result per fill answers a different question from a result per session. Separate them before comparing this rule with another way of reading time-locked ICT replay.

Frequently asked questions

Can I begin with the best-looking days?

Use them for learning definitions, not estimating performance. An evaluation sample needs eligible and uneventful sessions.

Is historical OHLC enough?

It can support many structural observations. It may not resolve intrabar execution order or spread-dependent fills.

Should missed trades count as losses?

Not as executed losses. Keep them in the signal denominator with zero realised result when measuring performance per opportunity.

May I change a rule during testing?

Save a new version. Earlier results become development material and should not be presented as unseen evaluation.

What is the most useful thing to save?

The decision record before the outcome, including levels, availability times, cancellation and the data needed to reproduce the fill.

To put this worksheet beside a live chart, use the guides to London Kill Zone timing and the Judas Swing to define the session question. Then compare market structure shifts for confirmation, fair value gaps for the return price, and order blocks for the larger area behind the move.