Kyle Donnelly, Algorithmic Trader & Market Technician
August 18, 2026 · 18 min read
Shares trading platform latency: My breakout execution failure
The breakout was valid. The entry was not.

That distinction matters. A shares trading platform can display a clean price break, trigger an alert, and accept your order while the market has already moved through several liquidity levels. The chart shows one event. The execution log records another. Between the two sits latency: the round-trip delay between sending an order and receiving confirmation from the broker or matching venue.
For ordinary limit orders in liquid conditions, a delay of 100–300 milliseconds may be tolerable. During a fast breakout, it is not a harmless technical detail. At roughly 500 milliseconds, the intended entry can become a different trade entirely. The stop distance changes. The expected reward-to-risk ratio deteriorates. A strategy with positive expectancy on historical bars can turn negative at the point where the order reaches the market.
I do not treat this as a platform-interface problem. It is an execution problem. The chart is only the visible layer.
The anatomy of round-trip time: why your order is not instant
Most retail traders mentally compress order execution into one action:
1. Click buy.
2. Receive a fill.
That model is too simple for any serious analysis. A shares trading platform is part of a chain, and every segment in that chain contributes delay.
The round-trip time, or RTT, includes:
- client-side processing inside the terminal, browser, or mobile app;
- the outbound network trip from the device to the broker’s infrastructure;
- broker-side order validation and risk checks;
- routing to a market maker, exchange, or other execution venue;
- matching against available liquidity;
- the return trip carrying the execution status back to the platform.
The displayed chart does not pause while this happens. Neither does the order book.
A web-based charting terminal may render a breakout almost immediately because market data has already reached the browser. That does not mean the order path uses the same connection, server, timestamp, or data source. The price you see and the route your order takes are related, but they are not identical.
This creates an obvious source of confusion. Traders often compare the timestamp on a chart candle with the timestamp on the fill report and conclude that the broker executed late. Sometimes that is correct. Sometimes the platform’s chart feed, the broker’s quote stream, and the execution venue are simply operating on different clocks.
The distinction is not academic. If you are measuring strategy performance, you need to know which delay you are actually observing:
- Data latency: the quote arrives late.
- Decision latency: the trader or script processes the signal late.
- Network latency: the order takes time to reach the broker.
- Server latency: internal validation and routing add delay.
- Matching latency: the venue cannot fill the requested quantity at the displayed level.
- Return latency: the confirmation arrives after the fill has already occurred.
Only some of these are visible in a standard retail platform.
A 15–20 minute delay in a free market-data feed is a separate and more severe failure mode. It means the signal itself is stale before an order is created. A real-time feed with poor execution routing is still a problem, but delayed data makes the entire decision process structurally invalid.
Latency benchmarks are contextual, not performance guarantees
There is no single number that defines acceptable latency for every trading workflow.
High-frequency equities systems operate with latency targets below 100 milliseconds, and some automated strategies execute in under 10 milliseconds. That infrastructure is not comparable to a retail trader using a browser over a standard internet connection. Retail stock and Forex execution commonly operates within a 100–300 millisecond range, which can be sufficient for slower strategies and ordinary market conditions.
The mistake is assuming that a tolerable average is a reliable maximum.
A platform that averages 120 milliseconds may still produce 400- or 500-millisecond outliers during the market open, a news release, or a volatility spike. Those outliers are what damage breakout entries. The mean is not the strategy. The tail of the latency distribution is.
A fast average does not rescue a strategy that fails in the latency tail.
For this reason, I care less about a platform’s promotional claim of fast execution than about the distribution of actual response times. Median latency, 95th-percentile latency, and the frequency of rejected or requoted orders tell a more useful story than a single best-case figure.
The 500-millisecond threshold: when a breakout becomes a different trade
Breakout strategies are unusually sensitive to execution delay because they enter when price is already moving.
A mean-reversion system may benefit from a small delay if the entry remains close to the statistical center of the move. A breakout system does not have that cushion. Its edge is usually concentrated around the transition from compression to expansion. Once the first liquidity tier is consumed, the entry price can deteriorate quickly.
Suppose a stock trades within a narrow range and then moves through resistance. The signal is generated when price crosses the breakout level. Your platform sends a marketable order. During the next few hundred milliseconds:
1. resting sell liquidity at the breakout level is consumed;
2. the next available offers sit at higher prices;
3. other participants’ orders enter the queue;
4. the order may fill across several price levels;
5. the stop remains calculated from the original setup, not the new fill.
The chart may still label the event as one breakout candle. The execution has already changed the statistical profile of the position.
A delay of 500 milliseconds can produce a substantial discrepancy between intended entry and actual fill during a fast market. The exact damage depends on spread, volatility, order size, and available depth. There is no universal slippage number to plug into a backtest. That is precisely why optimistic bar-based testing is dangerous.
Why manual breakout orders are structurally disadvantaged
High-frequency trading algorithms can execute in under 10 milliseconds. A discretionary trader who identifies the signal, moves a cursor, submits an order, and waits for confirmation is not competing on the same clock.
That is not an insult to manual trading. It is a market-structure fact.
Manual traders can still have an edge through selection, patience, trade horizon, and risk control. They are unlikely to have an edge in queue position during a sudden liquidity event. If the setup depends on being among the first participants through a level, the strategy is competing directly against faster systems with better connectivity and automated routing.
This is where many breakout backtests become fictional. Historical candles show that price crossed a level. They do not show whether your order would have filled at that level, whether it would have joined the queue behind thousands of other orders, or whether liquidity disappeared before your request arrived.
A clean signal is not the same thing as a fillable signal.
The slippage equation is not just “broker delay”
Slippage is often described as a platform problem. That is incomplete.
Execution price can worsen because:
- the market moves during network transit;
- the broker performs internal checks before routing;
- the order reaches an intermediate market maker;
- top-of-book liquidity is insufficient for the requested size;
- several participants consume the same price level first;
- the order is filled against deeper levels in the book.
Retail stock orders are often routed to wholesale market makers through payment-for-order-flow arrangements rather than directly to a primary exchange. That adds an intermediate routing step. It does not automatically prove poor execution, and it does not justify attributing every unfavorable fill to broker manipulation. Market depth and queue position remain central variables.
If the order is large enough to exhaust the best available liquidity, the fill can deteriorate even when the network is functioning normally. The platform may have transmitted the order quickly. The market simply did not contain enough shares at the quoted price.
This is why order size belongs in any latency analysis. Execution quality is not a fixed property of the account. It is a function of size relative to available liquidity.
Retail broker routing versus direct market access
The phrase “direct market access trading” is frequently used as if it eliminates execution friction. It does not. It changes where the friction sits.
A retail broker may handle order validation, risk controls, routing, and execution through one or more intermediaries. A direct market access setup can provide a more direct path to a venue and more granular control over order types and routing decisions. It may also provide better visibility into the order book.
That does not make DMA a universal solution.
The relevant comparison is operational:
| Execution factor | Typical retail routing | Direct market access trading |
|---|---|---|
| Order path | Often passes through broker infrastructure and may be routed to wholesale market makers | More direct access to selected venues, depending on the provider |
| Queue visibility | Usually limited to the platform’s displayed market data | Often deeper and more configurable, subject to market-data permissions |
| Routing control | Broker or platform determines much of the route | Trader or algorithm may choose venue and routing logic |
| Latency control | Mostly dependent on broker architecture and public internet conditions | Greater control, but infrastructure and connectivity still matter |
| Cost structure | Usually simpler and bundled into commissions, spreads, or execution arrangements | Can include platform, data, routing, and connectivity charges |
| Best use case | Slower strategies and ordinary retail execution | Strategies where queue position, routing, and fill quality materially affect expectancy |
DMA can reduce unnecessary routing steps. It cannot create liquidity that is not present. It cannot guarantee a fill at the displayed price. It cannot make an internet-based manual order competitive with a colocated high-frequency system.
The right question is not whether a broker offers DMA. The right question is whether the strategy’s expected edge is large enough to justify the added complexity and cost.
For a swing trader holding a position for several days, a few hundred milliseconds may have almost no effect on expectancy. For a one-minute breakout system with a narrow stop, the same delay can be decisive. Platform selection must follow the time horizon of the strategy.
API execution does not automatically mean faster execution
Retail broker API execution is useful because it removes manual interaction from the order path. An automated script can detect a condition and submit an order consistently. That reduces decision latency and eliminates cursor movement, tab switching, and human confirmation.
But an API can still be slow.
The request may travel through a cloud server, pass through authentication and risk checks, and enter a broker’s queue before routing externally. A poorly designed script can add its own delays through polling, inefficient code, repeated requests, or serial processing.
Event-driven execution is generally more appropriate for breakout systems than slow polling. If a script checks the market every second, the strategy already accepts a potential delay of up to one second before network and routing time are considered. That is not a technical footnote. It is a material alteration of the signal.
A serious API review should examine:
- whether market data is streamed or polled;
- whether order acknowledgements include server timestamps;
- whether fills are reported separately from order acceptance;
- how rejected, partial, and cancelled orders are handled;
- whether the API supports native stop and limit orders;
- whether rate limits can interfere during volatile periods;
- whether the broker exposes execution reports at sufficient granularity.
The difference between an accepted order and a filled order is particularly important. An API may return a fast acknowledgement that the request was received. That does not prove fast execution. It only proves that the broker accepted the message.
Liquidity exhaustion: the part most latency tests miss
A ping test can tell you how quickly a small network packet travels to a server. It cannot tell you whether a breakout order will receive a good fill.
That requires examining market microstructure.
The best bid and offer represent available liquidity at specific price levels, not an unlimited promise. When an aggressive order consumes that liquidity, the next portion is matched at a worse price. A larger order may sweep multiple levels. During a volatility event, the book can thin out faster than the platform updates its display.
This produces two different kinds of execution loss:
1. Temporal slippage: price moves while the order is travelling or being processed.
2. Depth slippage: the order is too large for the available liquidity at the intended price.
They can occur simultaneously. Reducing network latency will not solve a position-size problem. Reducing order size will not solve a stale data feed.
A platform review that reports only click-to-fill speed is therefore incomplete. The meaningful variables include fill quality by order type, partial-fill frequency, spread behavior, and performance during the exact market conditions in which the strategy operates.
Limit orders are not a free latency hedge
Traders often respond to breakout slippage by replacing market orders with limit orders. This can reduce price uncertainty, but it introduces execution uncertainty.
A limit order protects the maximum entry price. It does not guarantee participation. During a fast move, the market can cross the trigger, trade through the visible level, and leave the limit order unfilled. The strategy then has a selection problem: the backtest counts the breakout, while the live account remains flat.
This is not necessarily a defect. It may be the correct outcome. A missed trade is often cheaper than a trade entered after the edge has vanished. But the backtest must model the rule honestly.
For breakout systems, the choice is usually between:
- accepting marketable execution with uncertain slippage;
- using a limit price and accepting non-fill risk;
- entering earlier during compression, which changes the signal logic;
- waiting for confirmation, which sacrifices initial price but may improve fill probability.
No order type removes the trade-off. It only selects which uncertainty you want to carry.
A limit order controls price. A market order controls participation. A breakout strategy cannot maximize both during a liquidity shock.
How to optimize the execution stack
The practical response is not to search for a platform that claims zero latency. That product does not exist under ordinary retail conditions. The response is to identify which part of the stack is large enough to damage the strategy and reduce that source of variance.
1. Separate data latency from execution latency
Use a real-time feed for any strategy that reacts to intraday movement. A delayed quote stream makes execution analysis meaningless. If the chart is 15–20 minutes behind the market, the order is not late; the entire signal is obsolete.
Then compare the timestamps of:
- signal generation;
- order submission;
- broker acknowledgement;
- venue receipt, if available;
- fill;
- confirmation returned to the client.
Without these timestamps, you are estimating latency from visual impressions. Visual impressions are not a measurement system.
2. Measure the distribution, not the best trade
Record latency over different sessions and conditions. The opening minutes, scheduled economic releases, and major earnings events should be treated separately from quiet midday trading.
At minimum, calculate:
- median round-trip time;
- high-percentile latency;
- maximum observed delay;
- rejection and cancellation rates;
- partial-fill frequency;
- slippage relative to the decision price;
- slippage relative to the quote available when the order was submitted.
A strategy can survive a moderate median if the extreme delays are rare and the expected slippage remains controlled. It can fail with an impressive average if the worst conditions coincide with every entry signal.
3. Keep the execution server close to the broker infrastructure
A dedicated VPS can reduce network variance and eliminate some local-device problems. It may help when an automated strategy is running continuously and requires stable connectivity.
It does not guarantee sub-10-millisecond execution. It does not convert a retail broker into a DMA venue. It does not remove server-side risk checks or market-maker routing.
The benefit is consistency, not magic speed.
4. Reduce unnecessary application layers
A browser chart, a separate alert service, a phone confirmation, and a broker terminal create multiple handoffs. Each one adds potential delay or failure points.
For automated execution, the cleanest architecture is usually:
- one authoritative market-data source;
- one signal engine;
- one order-management layer;
- explicit handling for acknowledgements, fills, and rejects;
- local logging with synchronized timestamps.
The objective is not architectural elegance. It is reducing unobserved state.
5. Backtest with adverse execution assumptions
A breakout backtest should not assume that every historical crossing produces a fill at the trigger price. At a minimum, test scenarios with:
- fixed adverse slippage;
- slippage proportional to volatility;
- delayed entry;
- partial fills;
- unfilled limit orders;
- wider spreads during the signal window;
- position-size scaling against visible liquidity.
The exact assumptions should reflect the instrument and venue. A generic slippage constant is better than zero slippage, but still crude.
The most useful test is often a sensitivity analysis. If a strategy is profitable only with immediate fills and no slippage, the edge is probably located in the simulator rather than the market.
6. Match the platform to the holding period
Platform latency should be evaluated relative to the strategy’s time scale.
| Strategy horizon | Latency sensitivity | Main execution concern |
|---|---|---|
| Multi-day swing trading | Low to moderate | Spread, overnight gaps, order reliability |
| Intraday trend following | Moderate | Fill quality during volatility expansion |
| One-minute breakout trading | High | Entry delay, queue position, slippage |
| Automated scalping | Very high | Tail latency, routing, depth, infrastructure |
| High-frequency execution | Extreme | Colocation, venue access, deterministic systems |
This is where retail platform comparisons often go wrong. A feature-rich charting terminal may be excellent for analysis and poor for latency-sensitive execution. A broker API may be excellent for automation but weak in market-data quality. A mobile app may be entirely suitable for portfolio management and unsuitable for a breakout strategy.
There is no best platform in isolation. There is only a platform that either fits or conflicts with the strategy’s assumptions.
What my failed breakout actually changed
I do not need a fabricated timestamp to identify the mechanism. When a breakout entry arrives after the first expansion, three things usually happen.
First, the entry price moves away from the level used in the signal logic. Second, the stop is now closer in market terms even if the nominal distance is unchanged. Third, the trade’s expected value is reduced by the combination of slippage and adverse selection.
That last point is the one most traders miss. The orders that fill quickly are not a random sample of all signals. Fast fills may occur when liquidity is available, while the most aggressive moves produce the worst entries or no fills at all. This creates selection bias in live results.
A strategy can therefore experience both:
- poor fills on the trades it takes;
- missed fills on the trades that continue to work.
The backtest often counts both as successful entries. The live account does not.
This is why I treat latency as part of the strategy, not as a broker-support ticket. If the edge depends on a price that exists for only a fraction of a second, the execution model must include that constraint. If the edge survives a delayed fill and moderate slippage, the platform problem is less important than the signal quality and risk model.
The correct diagnosis is usually narrower than the emotional one. The breakout did not necessarily fail because the broker was dishonest. It may have failed because the strategy required a fill at a level with insufficient liquidity, through a route with intermediate processing, using an order submitted after faster participants had already consumed the book.
That is a probability matrix. It is not a story about being unlucky.
The platform decision I would make now
For a slower shares trading platform workflow, I would prioritize reliable real-time data, stable order handling, clear execution reports, and sensible risk controls over a headline latency figure.
For a short-horizon breakout system, I would demand more:
- timestamped order and fill events;
- streaming data rather than polling;
- predictable API behavior under load;
- transparent handling of partial fills and rejects;
- access to appropriate market-depth information;
- a backtest that penalizes delayed and adverse execution;
- infrastructure that minimizes avoidable network variance.
Direct market access may be justified when queue position and routing materially affect expectancy. It is not justified merely because the acronym sounds faster. A VPS may improve consistency. It is not a substitute for liquidity. An API may remove human delay. It is not proof of superior fills.
The market does not reward clean charts. It rewards valid entries after costs, delay, and adverse selection.
My breakout execution failure was a useful diagnostic because it exposed the assumption the backtest had hidden: the strategy treated the trigger price as available to me simply because it appeared on the chart. That assumption was false.
If the entry logic cannot survive realistic round-trip time, liquidity exhaustion, and broker routing, then the platform is not the only problem. The strategy is incomplete.