ForexBestRobots.com

Broker & execution · Order quality

Slippage, Latency and Requotes in Automated Forex Trading

Learn why EA orders can fill at a different price, how latency and requotes arise, and how to measure execution without relying on a single ping result.

14 min readReviewed by ForexBestRobots Editorial Team
Forex order diagram comparing requested price with filled price and execution timeOriginal ForexBestRobots visualPractical, risk-aware guidance

A fill should be evaluated by price, timing and market conditions together.

Slippage is the difference between the price requested or observed and the price at which an order is actually filled. It can be positive or negative. Latency is one contributor, but price movement, liquidity, order size and server handling also determine the result.

Slippage, latency and requotes are different

Slippage is a price difference. Latency is a time delay between an action and the broker server response. A requote occurs when the requested price is no longer available under an execution mode that asks the trader or program to accept another price. An order rejection is different again: the server may refuse a request because of volume, stops, market status, permissions or insufficient margin.

EventWhat you seeUseful evidence
SlippageFill price differs from requested price.Order request, fill and spread at the same timestamp.
LatencyExecution or modification takes longer.Terminal log times and broker-side execution report.
RequoteA new price is offered instead of the requested one.Journal message and the symbol’s execution mode.
RejectThe server does not accept the request.Error code, parameters and contract specification.

Why an automated order can receive a different result

Between signal calculation and fill, the market can move. Available volume at the best price may be smaller than the order, especially around releases, session transitions or rollover. The broker can aggregate quotes, apply a markup, validate stops and margin, and then route or internalize the order according to its policy. Each step can add time or change the executable price.

VPS-to-server distance matters, but a low network ping does not measure queueing, bridge processing, liquidity-provider response or the time used by the EA itself. Large order size, rapid modifications and several simultaneous positions may produce different results from a single small test trade.

Measure a distribution, not one trade

  1. Synchronize the VPS clock and preserve MT4 Experts and Journal logs.
  2. Record symbol, side, order type, requested price, fill price, lot size and timestamps.
  3. Store bid/ask spread at the request and identify rollover or scheduled news.
  4. Separate market entries, pending-order triggers, closes and stop modifications.
  5. Calculate positive and negative slippage separately, plus median and tail outcomes.
  6. Compare demo and live only when settings, timing and broker entity are equivalent.
An average can hide execution risk

Positive and negative fills may produce a harmless-looking mean while a small number of large adverse fills causes most of the damage. Review percentiles and worst cases as well.

Reduce the impact without distorting the strategy

Place the VPS near the actual trading server
Avoid needless order modifications on every tick
Use realistic maximum-deviation logic where appropriate
Test position size against available liquidity
Define behavior for rejects and lost connections
Exclude rollover or news only if the rule is validated

Do not simply widen every tolerance. Excessive deviation can convert a controlled entry into an unfavorable fill, while an overly strict tolerance can create repeated retries or missed exits. The correct limit depends on the strategy’s expected edge, timeframe and risk model.

Common interpretation mistakes

Do not treat every losing trade as broker manipulation, compare bid-only charts with buy fills, or judge execution from a screenshot without the contemporaneous ask price. Do not compare a demo order with a live order placed seconds later, and do not assume that a faster VPS fixes thin liquidity. First reconstruct the complete order event from logs and account history.

For an EA, reliable error handling matters as much as normal fills. The program should avoid uncontrolled retry loops, duplicate orders and silent failures after a disconnect.

Official references

MetaTrader explains how trading requests are executed and lists broker-controlled parameters in the symbol specification. Match any log message to the execution mode and specification used by that symbol.