Calculate buy and sell slippage, quantity-weighted fills and rejection rates. Preserve reference prices, time zones and complete records before judging execution.
Slippage is a difference between execution and a specified reference price. A phone quote, the quote when an order reaches a server and executable liquidity may refer to different times or quantities. A candle screenshot alone usually cannot establish a breach of execution rules.
Keep original order records, identify the reference, direction and time zone, calculate the difference and ask for an explanation of that specific execution. Do not create more live risk to collect samples. Existing records or demo activity can help, but demo results do not establish live execution quality.
| Stage | Evidence to retain | Important distinction |
|---|---|---|
| Quote observed | Bid/ask, time, quantity, source | A chart may show only bid or midpoint |
| Order submitted | Type, side, quantity, time, price instructions | Screen-action time is not server-receipt time |
| Receipt and processing | Acknowledgement, status, rejection or requote | Do not invent latency when logs are missing |
| Execution | Every fill's price, quantity, time, commission and final status | One order may have multiple or partial fills |
Record time zones and daylight-saving treatment. A screenshot precise only to seconds cannot establish millisecond causation. Mark unavailable fields as missing and ask for them rather than estimating them as facts.
Here adverse differences are positive and price improvements negative. Some platforms use the opposite convention. These EUR/USD examples assume one pip is 0.0001; other contracts can differ.
| Fictional order | Reference | Fill | Adverse slippage |
|---|---|---|---|
| Buy EUR/USD | Ask 1.10020 | 1.10035 | +1.5 pip |
| Buy EUR/USD | Ask 1.10020 | 1.10015 | −0.5 pip, improvement |
| Sell EUR/USD | Bid 1.10000 | 1.09985 | +1.5 pip |
| Sell EUR/USD | Bid 1.10000 | 1.10005 | −0.5 pip, improvement |
Using bid as a buy reference can mix spread into the calculation. Profit or loss calculated from actual fills already reflects execution prices; do not subtract measured slippage again as though it were a separate charge. See the trading-cost guide.
Suppose an order to buy EUR20,000 fills EUR15,000 at 1.10020 and EUR5,000 at 1.10060. Its quantity-weighted price is (15,000 × 1.10020 + 5,000 × 1.10060) ÷ 20,000 = 1.10030.
Against a reference ask of 1.10020, the difference is one pip. At this size, each pip is USD2, so the difference represents USD2. This excludes separately charged fees and does not prove that the reference was executable for that size at that time. If quantity remains unfilled, record its cancellation or rejection separately, not as execution at the reference price.
A rejected request did not execute as requested. A requote may need acceptance under the platform and product rules. An ordinary stop can trigger a market-execution process. Limit, stop-limit and guaranteed-stop arrangements differ; they cannot all be called guaranteed execution at the selected price.
Check whether triggering uses bid, ask, last or another contracted reference. Another platform's high or low may not be the relevant trigger. Execution beyond a stop and alteration of the stop instruction are also distinct: investigate fills for the former, modification and authorisation records for the latter.
The NFA slippage notice discusses US Forex Dealer Member systems. It offers questions about processing, not an automatic ruling on other jurisdictions or products. Persistent one-sided adverse results merit investigation; a few trades do not establish manipulation.
Suppose seven requests produced five complete fills and two rejections, without partial fills. The five filled orders use the sign convention above:
| Filled order | Adverse slippage, pips | Outcome |
|---|---|---|
| A | +1.5 | Adverse |
| B | −0.5 | Improvement |
| C | 0 | At reference |
| D | +2.0 | Adverse |
| E | +0.5 | Adverse |
The mean is 0.7 pip and median 0.5 pip. Rejections are 2/7 requests, approximately 28.6%. These fictional descriptive statistics are not industry benchmarks. Reporting only the five fills hides information about the other two requests.
This sample cannot reliably establish long-run execution or illegality. Compare by side, size, order type, session and volatility conditions. Do not simply mix large news-time orders with small quiet-session orders. External quote sources differ in timing, liquidity and executable quantity; a chart is not a uniquely correct reference for every contract.
Please review order [reference], product [name], side and quantity [details], submitted at [time and original time zone]. I have retained the quote source, order states and individual fills. Please explain the reference and trigger price, receipt and processing times, partial fills, rejection/requote reasons, and applicable execution-policy version. Identify unavailable fields rather than responding only with a general risk warning.
Use a verified formal channel and keep the ticket number and original reply. Follow the relevant complaint process where necessary; payment-provider deadlines may operate separately. Redact account and identity details before public discussion.
Does slippage prove misconduct? No. Reference prices, liquidity, transmission and terms need examination.
Does zero slippage mean the best execution? No. Spread, charges, rejection, likelihood of filling and policy also matter.
Can I use fill minus reference for both directions? Not without adjusting the convention. Here a sell reverses the calculation so adverse always means positive.
Can I retain only winning or losing orders? That creates a selected sample. Keep the full request and execution record.