Key takeaways
- Requested-price slippage is eligible only when the order data carries a meaningful requested price.
- Setup-to-done gaps are broker-recorded lifecycle timing, not proof of one processing stage or cause.
- Spread evidence uses the closest valid tick at or before a fill within the accepted window.
Broker execution quality can be studied from three bounded observations: eligible requested-price slippage, broker-recorded order lifecycle timing, and a closest valid pre-fill spread tick. Each metric has eligibility rules and none, by itself, proves why a fill occurred.
The three measurable dimensions
1. Price accuracy (eligible slippage)
Requested-versus-fill slippage is calculated only when the order or execution data contains a meaningful requested price. Market Execution may not require a requested price, and other records can carry an unusable value. Those fills are ineligible for this metric rather than treated as exact-price fills.
For an eligible record, compare the requested and executed prices with direction-aware sign and divide by the symbol's point size. Aggregate within the same normalized symbol; point values are not comparable across unrelated instruments.
2. Broker-recorded order lifecycle timing
MT5 order history can carry millisecond setup and done timestamps. TradeStats uses positive gaps no greater than 60 seconds and excludes invalid, non-positive or longer intervals. The result is broker-recorded order lifecycle timing, not pure broker processing or proof of a liquidity-provider, bridge or dealing-desk cause.
The median describes the middle eligible observation. The p95 is the 95th-percentile observed fill, not a fill known to have happened during news.
3. Closest pre-fill spread evidence
Spread uses the closest preceding tick at or before the fill, within an accepted window of 0–2,000 ms. It is not guaranteed to be an exact tick at the execution instant. If the window contains no valid bid/ask tick, that fill contributes no spread observation.
The honesty rules that make numbers comparable
- Compare within the same symbol. Point size and contract economics differ by instrument.
- Show eligibility and coverage. The fill count is not automatically the observation count for slippage, timing or spread.
- Use distributions. Read medians with tail percentiles and inspect the session mix.
- Require more than one account. A single trading style can dominate a broker aggregate.
- Leave unsupported metrics unavailable. Do not replace missing evidence with zero.
Method and limitation note: these are observational metrics from available broker history and ticks. They do not control for every order instruction, account type, location, market condition or liquidity path, so comparisons should retain their evidence counts and coverage.
Do it yourself, or read it off the scoreboard
Measurement checklist
- Normalize the symbol and keep point-based comparisons within it.
- Apply the requested-price, timestamp-gap and preceding-tick eligibility rules.
- Report observation count, contributing accounts and coverage for each metric.
- Compare median and tail values without assigning an unsupported cause.
The TradeStats broker scoreboard applies those rules to the available data. Connect with a dedicated investor password to inspect your own history, and use the lifecycle-timing guide before interpreting latency.
Frequently asked questions
Can every fill be used for requested-price slippage?
No. The order or execution record must contain a meaningful requested price. Market Execution may not require one, so fills without an eligible requested price are excluded rather than assigned zero slippage.
What does setup-to-done latency prove?
It is broker-recorded order lifecycle timing. The interval may include server handling, routing, liquidity response and order rules; timestamps alone cannot identify one stage or prove a causal intervention.
Is the spread measurement an exact tick at the fill instant?
No. It uses the closest valid preceding tick at or before the fill within the accepted 0–2,000 ms window. If no eligible tick exists, spread is unavailable for that fill.