An ICT trade log shows seven winners in ten filled orders. That sounds encouraging until you notice that the winners are mostly small partials and the losses often reach the full stop. A win count alone cannot tell you the average contribution of a setup.
Expectancy combines the frequency and size of outcomes in a consistent unit. The trader must also decide whether the denominator is filled positions, eligible opportunities or watched sessions. A patient gap-return policy can look very different across those three measures.
Empirical expectancy per fill is the sum of net realised returns divided by the number of filled trades. In original risk units it can also be expressed as win frequency times mean win plus loss frequency times the signed mean loss, with scratch outcomes included in the denominator. It describes the chosen sample.
Choose a denominator for empirical expectancy
This lets an ICT trader evaluate the whole sequence from a liquidity thesis through a qualifying shift, an executable retracement and the eventual exit. A model can identify a plausible draw repeatedly and still have weak expectancy because good moves rarely retrace, transaction costs are material or losing trades exceed their planned size.
MetaTrader testing report and statistics
Why the distinction matters for order flow
Separate simulated results from live executions and record clusters of related trades. Ten entries on one USD announcement are weak evidence about ten different market regimes. Summarise by session or week as well as by ticket, and keep an unseen period for checking any change chosen after inspecting the training log.
How to identify it on a chart
Freeze the eligibility rule and give each opportunity an identifier. Record whether an order filled and its realised outcome after fees, using the original money at risk as denominator. Preserve zero-return opportunities for the per-opportunity calculation, while genuine fills that scratch remain part of the per-fill count.
For six fills returning +1.8R, -1R, +0.4R, -1.1R, 0R and +1.4R after costs, the sum is +1.5R and the mean is +0.25R per fill. Add four eligible signals that never filled and the same total becomes +0.15R per opportunity. Neither number measures the drawdown or the likelihood of repeating the sample.
Reconcile a ledger at three denominators
This synthetic sample has twelve eligible ICT signals across eight watched sessions. Eight orders fill, returning +2.1R, -1R, +0.6R, -1R, +1.4R, -1.2R, 0R and +0.7R after costs. The other four opportunities have zero trading return. Each R uses that opportunity’s initial cash risk.
| Observation | Evidence available | Classification |
|---|---|---|
| Net contribution | Add all eight signed outcomes | Total +1.60R |
| Per fill | 1.60R divided by eight fills | +0.20R per fill |
| Per opportunity | 1.60R divided by twelve eligible signals | About +0.133R per opportunity |
| Per session | 1.60R divided by eight watched sessions | +0.20R per session |
| Remove best outcome | 1.60R minus 2.1R across seven remaining fills | About -0.071R per remaining fill |
Net contribution. Keep the full adverse result of -1.2R. Clipping it to the planned stop would improve the sample artificially and erase the execution effect the log was meant to retain.
Per fill. The zero-return filled trade stays in this denominator. Dropping scratches changes both the average and the reported win frequency.
Per opportunity. This figure incorporates missed retracements. It can be useful when comparing two entry policies that start from the same setups but obtain different numbers of fills.
Per session. The numerical equality with the per-fill mean is accidental. There happen to be eight sessions and eight fills, with potentially different clustering inside them.
Remove best outcome. This sensitivity check shows how much one result contributes. It is a diagnostic, not permission to remove the best or worst trade from the official ledger after the fact.
How can the sample’s positive total coexist with a losing next week?
The measured mean describes this finite sequence and contains no guarantee about the next regime. Compare performance on unseen sessions and report how strongly individual days or related positions influence the estimate.
How to trade the setup in a paper session
Compare one rule change at a time on the same original opportunities. A narrower entry can improve average reward among its fills while reducing participation. A change that improves per-fill expectancy but reduces per-session contribution may still fit a trader’s time constraints, but the two questions require their own figures.
The charts use constructed five-minute bid candles. The two trade expectancy exercises below share a bracket order as a comparison point. Each shows when an ICT displacement clears a local swing, when a fair value gap becomes measurable and which later quote can fill it. All sample spreads, costs, outcomes and sizes belong to the hypothetical exercise.
What to do with a positive average built on one trade
Write the largest winning trade and largest losing trade beside the sample mean. Calculate how the mean changes when each is removed as a sensitivity exercise, while preserving the official full-sample result. A strategy that depends heavily on rare extended liquidity runs can have real winners and still require a long observation period to estimate their frequency.
Next look for dependence. Three trades on different pairs around the same dollar event may share nearly the same source of risk. A list of thirty tickets might represent fewer than thirty independent market opportunities. Keep session, date and common event identifiers. An aggregate by session or week exposes clusters of losses that can be difficult to see in a per-ticket win rate.
The handling of variable cash risk also deserves care. A mean in original risk units weights each trade as one observation regardless of money size. A cash summary weights larger positions more heavily by construction. If sizes changed with confidence or account balance, both figures can be correct and answer different practical questions. Record the numerator and denominator explicitly.
Finally freeze the policy evaluated by the ledger. Changing gap depth, allowable spread, stop location and target after each disappointing month creates a mixture of several systems. A combined mean may summarise what the account actually did, but it is a poor estimate for any one version. Tag revisions with activation dates and test the final rule on a later untouched sample. That allows a reader to distinguish skill learned from earlier logs from performance observed after the learning decision.
EUR/USD worked example
Add one realised result to an opportunity ledger
Before this opportunity, suppose nine eligible signals produced six fills and a combined net +1.70R. The common reporting unit is the original planned gross pip risk of each ticket. This long enters at 1.11016, risks 9.8 pips and offers 1:2.81 gross. Preserve the result actually realised on the chart before updating the sample mean.
The bracket produces -9.8 pips gross and pays 0.4 pips of extra costs. Its net contribution is -1.041R. The updated sum is 0.659R across seven fills and ten opportunities. That gives 0.094R per fill and 0.066R per opportunity.
The shaded execution area forms when the 12:40 candle closes. The lines show requested order prices over bid candles. A buy limit needs an ask at or below the order price. The long closes on the bid. The illustrated prices are synthetic.
Read the entry from left to right
Begin with the marked sell-side reference at 1.10958. The five-minute candle beginning 12:25 extends to 1.10927. At its close there is evidence of a visit and a new local low. The price that will become the upper edge of the execution gap is still in the future. A reader practising this live can put an alert on the opposing pivot at 1.11064 and leave the order ticket empty until the remaining conditions arrive.
At the close of the 12:35 candle the bid stands at 1.11083. Compare that with the earlier pivot. A completed shift now supports an upward delivery hypothesis, but the proposed three-candle imbalance still requires its third candle. The first candle’s high is 1.11004. The third candle’s eventual low is 1.11028. Their separation is 2.4 pips and their midpoint is 1.11016. The earliest next-bar activation on this tape is 12:45.
The order buys on the ask and the chart shows bids. With spread fixed at 0.6 pip, an ask of 1.11016 corresponds to bid 1.11010. The returning bid reaches 1.10989 and its matching ask reaches 1.10995. The workbook assumes continuous movement between displayed quote observations, sufficient available size and an execution at the requested limit. The same logic applied to a real broker order would still need the deal record to establish an actual fill.
| Item | Price or calculation | Implication |
|---|---|---|
| Entry | 1.11016 | Resting long limit after completion of the execution gap |
| Protective exit | 1.10918 | 9.8 pips of original price risk |
| Objective | 1.11291 | 27.5 pips of potential gross reward |
| Gross risk:reward | 27.5 ÷ 9.8 = 2.81 | 1:2.81 |
| Net planned risk:reward | (27.5 − 0.4) ÷ (9.8 + 0.4) | 1:2.66 at assumed fills |
| First baseline exit | Stop reached | -10.2 pips after the extra cost allowance |
Translate the chart into a position size
For a worked cash conversion, suppose the USD paper account assigns this candidate a maximum planned loss of $15.00. A standard lot of 100,000 base units on this USD-quoted pair changes by $10 for a one-pip move. One standard lot at the 9.8-pip stop distance plus 0.4 pip of estimated round-trip fees and other friction therefore exposes $102.00 at the modelled stop fill. The bid/ask condition already accounts for the stated spread.
Dividing the cash cap by that one-lot loss gives 0.1471 lots before volume rounding. With a permitted increment of one hundredth, rounding down gives 0.14 lot and $14.28 of planned downside. Check the conversion in reverse by multiplying size by loss per lot. A smaller order can make a wide structural stop affordable. It cannot supply missing room between entry and the intended liquidity destination, and a stop filled through its requested price can still exceed the estimate.
Reclassify one changed condition
Imagine the same signal qualified but the limit expired unfilled. The sum would stay at +1.70R, with six fills and ten opportunities, producing about +0.283R per fill and +0.170R per opportunity. That counterfactual changes participation. It provides no basis for replacing actual filled losses with zero after seeing the chart.
GBP/USD worked example
Add one realised result to an opportunity ledger
Before this opportunity, suppose nine eligible signals produced six fills and a combined net +1.70R. The common reporting unit is the original planned gross pip risk of each ticket. This short enters at 1.29496, risks 10.9 pips and offers 1:1.93 gross. Preserve the result actually realised on the chart before updating the sample mean.
The bracket produces 21 pips gross and pays 0.5 pips of extra costs. Its net contribution is 1.881R. The updated sum is 3.581R across seven fills and ten opportunities. That gives 0.512R per fill and 0.358R per opportunity.
The shaded execution area forms when the 12:45 candle closes. The lines show requested order prices over bid candles. A short exit is bought on the ask, 0.8 pip above the plotted bid in this model. The illustrated prices are synthetic.
Audit the sell order from the dealing side
The first local buy-side reference at 1.29560 has a different job from the swing whose closing break confirms the bearish move. Compare the observed high of 1.29595 with that first price, then inspect the later close at 1.29422 relative to the pivot at 1.29443. One comparison describes location and the other supplies direction. Combining them into a single retrospective arrow would hide the point at which the trader actually gained the new information.
A bearish fair value gap forms when the later high remains below the earlier low in the three-candle sequence. Here the low of the candle starting 12:35 is 1.29509. The high of the candle starting 12:45 is 1.29483. The middle of their 2.6-pip interval is 1.29496. The sell limit becomes available once the second boundary is known. On the returning candle the maximum bid is 1.29527, high enough for the paper limit under the stated fill convention.
A sell opens on the bid, but the position ends by buying on the ask. For an ask stop at 1.29605 the bid needs to reach only 1.29597 with the assumed 0.8-pip spread. An ask target at 1.29286 requires a bid at or below 1.29278. Marking the two bid equivalents before scoring the last candle prevents a visually attractive wick from becoming a profit that the executable side never offered.
| Item | Price or calculation | Implication |
|---|---|---|
| Entry | 1.29496 | Resting short limit after completion of the execution gap |
| Protective exit | 1.29605 | 10.9 pips of original price risk |
| Objective | 1.29286 | 21.0 pips of potential gross reward |
| Gross risk:reward | 21.0 ÷ 10.9 = 1.93 | 1:1.93 |
| Net planned risk:reward | (21.0 − 0.5) ÷ (10.9 + 0.5) | 1:1.80 at assumed fills |
| First baseline exit | Target reached | +20.5 pips after the extra cost allowance |
Reconcile the terminal candle
The first deciding bar opens at 13:10 GMT. Its bid ranges from 1.29245 to 1.29371. Adding the model spread gives an ask range from 1.29253 to 1.29379. Follow the tape from the fill and stop at the first executable exit. Here the original bracket reaches its target before the other terminal price. The closing body can finish away from that exit without changing the realised trade.
As a sensitivity check, leave the chosen fill sequence intact and increase extra round-trip costs by 0.5 pip. Possible net reward becomes 20.0 pips and possible downside becomes 11.9 pips, giving risk:reward of 1:1.68. This calculation isolates a change in charges. A different spread can alter whether the original sell or its buy-to-close orders were ever executable, which calls for a new quote-by-quote replay.
Reclassify one changed condition
Imagine the same signal qualified but the limit expired unfilled. The sum would stay at +1.70R, with six fills and ten opportunities, producing about +0.283R per fill and +0.170R per opportunity. That counterfactual changes participation. It provides no basis for replacing actual filled losses with zero after seeing the chart.
Compare per-fill inclusion with per-opportunity inclusion
Take five independent practice records and apply two predeclared policies. A includes every actual fill in its denominator. B includes every originally eligible signal, including zero-return unfilled opportunities. In this exercise “yes” means the named condition occurs within the stated opportunity. A row can satisfy both conditions, satisfy one, fail both, or leave a condition unresolved. Score the evidence supplied before imagining how the rest of the chart might behave.
| Constructed observation | Policy A | Policy B |
|---|---|---|
| Eligible limit fills and reaches its target | yes | yes |
| Eligible limit expires without a fill | no | yes |
| Watchlist idea never meets the objective eligibility rule | no | no |
| Eligible order fills and exits at entry with a fee | yes | yes |
| Signal is verified but execution history is unavailable | unknown | yes |
Work through the disagreements
Eligible limit fills and reaches its target. Both methods include its realised net contribution and one observation.
Eligible limit expires without a fill. It contributes zero trading return only to the opportunity denominator.
Watchlist idea never meets the objective eligibility rule. It may belong in a per-session activity record. It cannot inflate either of these two counts.
Eligible order fills and exits at entry with a fee. Use the actual negative net result. Gross break-even does not erase an executed ticket.
Signal is verified but execution history is unavailable. Opportunity membership is known. The unknown cash outcome still prevents a precise empirical mean.
In these constructed observations, A gives 2 confirmed yes, 2 confirmed no and 1 unresolved. B gives 4 confirmed yes, 1 confirmed no and 0 unresolved. Among the 4 rows settled for both rules, they agree on 3 classifications. Agreement here concerns qualification under the stated definitions. No return series has been supplied for these five records, so the counts cannot estimate the profitability of either policy.
Resolve the missing evidence
Recover the trading report, identifier, filled quantity and net result before publishing a numerical estimate. Until that information is available, the possible number of positive A classifications is 2 to 3 out of five. For B the corresponding count is 4. Preserving bounds stops an unresolved record from entering the journal as a known failure merely because obtaining the source data was inconvenient.
Applying the worksheet on a new session
Define the observation that earns a row
A session, a liquidity event, an order and a fill are different units of observation. One session can contain several related attempts. A single liquidity event can generate two mutually exclusive order policies. An eligible order can remain unfilled. Give each level its own identifier so that summaries by trading day and by ticket can be reconciled back to the original opportunity.
Start the sample with a calendar or frozen set of opportunities chosen before the outcomes are known. Preserve quiet sessions, incomplete source records and correctly cancelled orders. A missing quote is a data-quality observation. A known absence of a qualifying setup is a valid zero-opportunity session. Those categories affect the interpretation of a result even when neither produced a deal.
When comparing policies, begin with the same original opportunities and simulate each under its own rules. A conditional mean among fills describes the quality of the trades that occurred. A mean per opportunity also captures differences in participation. A cash result per watched session can matter to a trader with limited screen time. Use the denominator that matches the practical question and report the number of original observations beside it.
Check a proposed rule on dates it never helped select
Use an early block of dates for developing a measurement and a later block for evaluating the frozen version. Record the date of each change to the signal, spread filter, stop rule or target. A chart that helped you choose a threshold is already part of model development even when no order was ever placed on it. Keep the distinction visible when presenting a result as new evidence.
Review dependence as well as the number of tickets. Several exposures to the same US dollar event can generate similar wins or losses in a single hour. Summarise by week or session as a check on a trade-level average. Preserve extraordinary days in the actual ledger and separately show what happens to the descriptive statistic without one influential observation. That sensitivity exercise is different from editing the official return after seeing it.
For a disagreement between two candidate policies, request the input that would settle it before opening the future price path. If the disagreement concerns a missing source quote, a later winner cannot supply that quote. If both readers reproduce the same inputs and still classify the case differently, tighten the decision wording and record a new version. Apply that revision to future evidence, then compare it fairly on an agreed research sample.
Reconcile gross chart movement with the actual deal
A pip of favourable movement on the chart has a money value only after direction, contract size, account currency and volume are known. For the two USD-quoted paper pairs here, a standard one-hundred-thousand-unit lot changes by ten dollars per pip. A smaller position scales proportionately. Check the actual symbol specifications whenever you move the calculation to another contract or a different account denomination.
Execution side is part of the price path. Longs open by buying and close by selling. Shorts do the reverse. If the simulation already waits for the correct bid or ask and measures between actual deal prices, the spread is already represented. Additional commission, financing or assumed adverse slippage should be labelled by what it covers. Charging a full spread again after using both correct sides can understate the result.
A trade can also have a planned and a realised risk amount. The protective trigger states an instruction, while a faster market may produce a worse deal. Retain the original planned exposure as the denominator for risk-unit reporting, and record the actual cash loss separately. That preserves the evidence of excess loss instead of hiding it by increasing the denominator after the event.
Explain exactly what would change the reported mean
Duplicate the ledger and alter one field at a time. First convert an unfilled eligible opportunity into a filled scratch with a small fee. The fill count rises, the opportunity count stays fixed and the total net return falls by the charge. Then restore the row and add a watched session containing no eligible signals. Only a per-session denominator should change.
These small checks reveal whether a spreadsheet silently excludes zero outcomes or counts pending instructions as completed deals. They also make comparisons more transparent when two traders describe the same ICT model. One may report a strong average per successful fill while another experiences few actionable returns in the hours available in Accra. With original opportunity, session and execution identifiers, both experiences can be explained by the same underlying record.
Frequently asked questions
How do I treat a gross scratch with commission?
Record its actual net negative outcome. A scratch category should have an explicitly declared basis.
Can positive expectancy coexist with a low win rate?
Yes. Sufficiently large mean wins can outweigh more frequent losses. Use actual realised magnitudes in the calculation.
Do unfilled orders count as losses?
A correctly unfilled order has zero trading return. It belongs in a per-opportunity denominator and is excluded from a per-fill denominator.
How much data proves the model works?
No fixed sample size guarantees future results. Dependence, regime variation, costs and how the rule was selected affect the uncertainty.
Should I use planned target R for winners?
Use realised net returns for empirical expectancy. Planned bracket R describes the initial trade geometry and can differ from the final exit.
Continue the chart exercise with the school’s guides to the London Kill Zone and the Judas Swing for session context. Use market structure shifts to locate the confirmation, fair value gaps to mark the return interval, and order blocks to relate the smaller trade to its larger price area.
