Your EUR/USD bid chart prints a low exactly on a buy limit inside a fair value gap. The account history shows no fill. Before blaming the broker or changing the entry model, look at the other side of the quote.
Candlestick geometry and order execution use related but distinct data. A bid-chart return can update the state of an FVG while the ask never becomes cheap enough to fill the proposed long. The gap can be touched and the order unfilled at the same time.
On a typical retail forex quote a long entry buys at ask and a short entry sells at bid. A long closes by selling at bid; a short closes by buying at ask. The spread is ask minus bid at the same time. Verify the symbol’s chart mode and execution settings, especially if your platform displays midpoint or last price instead of bid.
Definition and chart context: executable quote at an FVG
The chart shows bids. A buy limit sits at 1.08746 during three snapshots. First bid/ask are 1.08744/1.08754; next they are 1.08739/1.08748; finally they are 1.08738/1.08745. The bid is below the limit on every row. Only the third ask is at or below the order price, so only then is a fill eligible under the exercise. Treat eligibility as a model output until a broker report confirms execution.
For the ICT background, see 2022 Mentorship Episode 6. 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
Spread matters most when the proposed stop or gap is narrow. A one-pip difference barely changes a 70-pip measurement but can determine whether a two-pip FVG entry ever existed. Applying a current spread to historical candles is not an adequate reconstruction when spreads varied at the moments that triggered orders.
How to identify it before the next candle
Keep two logs. The chart log records the FVG edges and bid-chart touch. The order log records the eligible time, limit or stop level, appropriate quote-side crossing, and actual fill if supplied. Quote timestamps must be synchronised. A session low bid and a minimum ask from a different minute do not form a valid historical spread pair.
For a short with a buy-to-close target, read the same side of the tape. The credit in the trading account depends on the repurchase price, not the lowest bid painted on the chart. If historical ask ticks are absent, store the spread assumption and compute a small range of possible outcomes. Do not convert an unknown fill into a definite winner by selecting the day’s tightest spread.
The two-quote tape exercise
Set a buy limit at 1.08176. At 08:12:04 the quote is bid 1.08172, ask 1.08183. The visible bid has crossed the limit by 0.4 pip but the ask is still 0.7 pip too high. At 08:12:11 the quote becomes 1.08165/1.08174, making the limit eligible under a simple executable-quote model. If the order expired at 08:12:08, the second quote does not rescue it. Timestamp, quote side and order lifetime must all agree. These snapshots describe fill eligibility only; they are not complete trade recommendations.
| Observation | What to check | Evidence available | Decision |
|---|---|---|---|
| Snapshot one | Ask test | Bid 1.08744, ask 1.08754 | 0.8 pip above buy limit |
| Snapshot two | Ask test | Bid 1.08739, ask 1.08748 | 0.2 pip above buy limit |
| Snapshot three | Ask test | Bid 1.08738, ask 1.08745 | Eligible by 0.1 pip |
For diagnosis, compare order submission time, server acknowledgement, quote timestamp and deal time. A valid quote stamped before acknowledgement cannot prove a resting order was active. Feed clocks may have different resolution; when two actions share the same timestamp and no sequence number exists, report the ordering as uncertain.
How to trade the idea in a paper replay
For a buy limit, look for an ask at or below the specified price after the order became eligible. For a sell limit use the bid at or above the level. For short exits at a lower target, verify the ask reached it. Touching the appropriate quote is an assumption about eligibility, not absolute proof of queue priority or guaranteed execution. A broker execution report is stronger evidence of a personal fill.
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.
What to do when historical asks are missing
Many exported chart files contain only bid candles and perhaps a spread figure for each bar. A single spread value does not necessarily coincide with the lowest bid in that same interval. Adding the minimum recorded spread to the minimum bid can manufacture an ask that never existed. If the file lacks simultaneous quotes, write that limitation next to the simulated fill.
Bounds can still be useful. For a buy limit, a recorded minimum bid that remains above the limit makes a fill impossible if spreads are nonnegative. A minimum bid below the limit leaves an open question. With a credible upper spread bound throughout the interval, the minimum bid plus that upper bound can sometimes establish eligibility. Even then, eligibility is not proof of a broker deal or of the order’s position in a queue.
Collect simultaneous bid and ask snapshots for a small sample and compare the classification from your cheaper bid-only history. Split disagreements between marginal touches and wide penetrations. This is more informative than applying an arbitrary extra pip to every trade, because the largest issue may be which trades exist at all rather than the average cost on those that did fill.
When auditing shorts, remember to switch sides twice: entry by selling uses bid, and closing by buying uses ask. Longs have the opposite sequence. A spreadsheet that applies the same side to all four operations can look consistent, pass a visual chart review and still systematically misclassify a set of near misses.
Worked replay A: Audit the executable side of the return
The paper limit is 1.08666 and the spread is 0.80 pip. For a buy limit on this bid chart the bid threshold for an eligible entry is 1.08658. Label that threshold separately from the order price if two plotted lines become hard to distinguish at this scale. The chart itself does not carry broker acknowledgements or queue information.
At the return bar the relevant extreme bid is 1.08636. The corresponding ask is 1.08644. The executable ask therefore reaches the limit under the model. The fill is booked at the limit with no favourable price improvement, not at the most attractive price found anywhere inside the candle.
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.08642, trades down to 1.08567 and ends at 1.08609. 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.08735 is above the earlier pivot at 1.08703. This is the completed break used by the exercise. Look two candles apart: the high of the bar beginning 12:30 is 1.08648 and the low of the bar beginning 12:40 is 1.08684. 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.08666, 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.8-pip spread throughout this small slice. On the return, bid reaches 1.08636 and the corresponding ask reaches 1.08644. The latter is at or below the requested buy price. We book 1.08666 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.
| Item | Calculation or observation | Reading |
|---|---|---|
| Entry | ask limit at 1.08666 from 12:45 | buy EUR/USD |
| Stop distance | 1.08666 − 1.08556 | 11.0 pips |
| Target distance | 1.08912 − 1.08666 | 24.6 pips |
| Gross risk:reward | 24.6 ÷ 11.0 = 2.24 | 1:2.24 |
| After extra costs | (24.6 − 0.6) ÷ (11.0 + 0.6) | 1:2.07 conditional on the stated fills |
| Exit first reached | bid reaches 1.08912 before the stop | +24.0 pips after extra costs |
What the order would risk in cash
Give the practice account a USD balance of 1880. Its hypothetical cap of one half of one percent is $9.40 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.6 pip for assumed round-trip commission and other execution friction gives $116.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 $9.40 by $116.00 and round down to the next permitted hundredth of a lot. That leaves 0.08 lots, risking about $9.28 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
For the exit at 1.08912, the displayed bid must rise to 1.08912 because a long position sells on the bid. A favourable wick on a chart showing the other quote can be insufficient. A variable spread also breaks the shortcut of adding the current spread to an old bid extreme.
Worked replay B: Audit the executable side of the return
The paper limit is 1.28337 and the spread is 0.90 pip. For a sell limit on this bid chart the bid threshold for an eligible entry is 1.28337. Label that threshold separately from the order price if two plotted lines become hard to distinguish at this scale. The chart itself does not carry broker acknowledgements or queue information.
At the return bar the relevant extreme bid is 1.28358. The corresponding ask is 1.28367. The executable bid therefore reaches the limit under the model. The fill is booked at the limit with no favourable price improvement, not at the most attractive price found anywhere inside the candle.
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.28400. By the end of the bar starting 12:25, bid has closed at 1.28288, below the pre-existing pivot at 1.28309. 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.28346 and the high of the 12:30 candle is 1.28328. The later high remains below the earlier low, leaving a bearish execution gap between them. Halving this interval gives 1.28337. A sell limit resting there becomes eligible only after 12:30 has finished. When bid subsequently reaches 1.28358 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.9 pip, an ask target at 1.28108 requires a bid at or below 1.28099. An ask stop at 1.28415 needs only a bid at or above 1.28406. 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.
| Item | Calculation or observation | Reading |
|---|---|---|
| Entry | bid limit at 1.28337 from 12:35 | sell GBP/USD |
| Stop distance | 1.28415 − 1.28337 | 7.8 pips |
| Target distance | 1.28337 − 1.28108 | 22.9 pips |
| Gross risk:reward | 22.9 ÷ 7.8 = 2.94 | 1:2.94 |
| After extra costs | (22.9 − 0.4) ÷ (7.8 + 0.4) | 1:2.74 conditional on the stated fills |
| Exit first reached | ask reaches 1.28415 before the target | Loss of 8.2 pips after extra costs |
Score the path, then challenge the assumption
The deciding candle opens at 12:50. Its bid range is 1.28355 to 1.28421. With the assumed spread, the ask range is 1.28364 to 1.28430. 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.53, obtained by dividing 22.0 pips of possible net reward by 8.7 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
For the exit at 1.28108, the displayed bid must fall to 1.28099 so the ask can reach the target. A favourable wick on a chart showing the other quote can be insufficient. A variable spread also breaks the shortcut of adding the current spread to an old bid extreme.
What can go wrong in the review?
Do not subtract a spread twice. If your realised result already uses an ask entry and bid exit, that difference is reflected in the fill prices. Add documented commission or other charges separately. A mid-price simulation requires a different adjustment.
Reader exercise: Can a buy limit have filled on this snapshot?
Try the following classification without using profit or loss as a clue. Measure the buy limit minus simultaneous ask. For this worksheet, the value must be at least 0 pips. Also require this separate fact: the broker acknowledged the limit before the snapshot. 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.
| Record | Measurement | Separate prerequisite met? | Answer key |
|---|---|---|---|
| A | 0.2 pips | Yes | Passes this screen |
| B | -0.4 pips | Yes | Numerical test fails |
| C | 0 pips | Yes | Passes this screen |
| D | -0.1 pips | Unknown | Numerical test fails |
| E | 0.5 pips | No | Prerequisite fails |
| F | Not available | Yes | Unresolved |
Cover the answer column and decide which facts you would request before admitting each record. A passes the numerical test at 0.2 pips and has the other required evidence. B has the other evidence but measures -0.4 pips. Under the stated rule that is enough to exclude B. A clean-looking reaction after B cannot change the comparison buy limit minus simultaneous ask ≥ 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 pips 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 0.5 pips 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.
A negative value means the ask was still above the limit, regardless of where the visible bid traded. A matching ask before acknowledgement is also insufficient.
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 order price, server acknowledgement and a simultaneous bid/ask record. 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
Compare apparent bid-chart touches with paired executable quote touches under the same expiry. Report unfilled and unknown separately when the ask history is unavailable.
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 executable quote at an FVG.
Frequently asked questions
What is a pip on EUR/USD?
Here 0.00010 is one pip. The fifth decimal is one tenth of a pip, not ten extra pips.
Does a bid-chart high prove a short stop?
No. A short closes at ask. Depending on the spread, the ask can reach the stop while the bid high stays below it.
Can I use today’s average spread for last month?
Only as a labelled sensitivity model. It is not evidence of the quote at the historical touch.
Can an FVG be touched without an order filling?
Yes. The chart touch and the executable order condition are different records.
What is the best evidence of an actual fill?
The broker’s time-stamped execution record, reconciled with the order instructions and transaction costs.
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.
