Most retail traders believe their stop loss triggers when the price reaches the level they set. The platform checks something else. A long stop fills when the bid touches the level, a short stop fills when the ask touches it, and those two prices are never the same number.

When you place a stop at 1.0850 on a long EURUSD position, the platform shows you that level as a clean line on the chart. The execution engine sees something different. It runs a continuous comparison between your stop and the live bid, and the instant the bid prints 1.0850, the order fires at the next available price. On a short position, the comparison runs against the ask. You cannot change this. Every retail platform built in the last twenty years hardcodes it, and almost no broker explains it in those terms on the registration page.

The arithmetic that follows is the part most traders never compute, and chances are your platform does not make it obvious. Most charts display the mid-price by default, which is the average of bid and ask. A broker running a 1 pip spread on EURUSD shows a bid half a pip below mid and an ask half a pip above. Your long stop at 1.0850 triggers when the bid touches 1.0850, which means the mid only needs to fall to 1.08505. That half-pip gap is invisible on many chart setups, but nothing surprising has happened yet.

Now widen the spread. Imagine the same broker, in a thin moment around a CPI release or a session handover, lets the EURUSD spread blow out from 1 pip to 5 pips for 200 milliseconds. The bid drops 2 pips below mid and the ask rises 2 pips above. Your long stop at 1.0850 now triggers as soon as the mid reaches 1.0852, even though the level on your chart is intact. The bid swept your stop because the bid moved further than the price did, not because the market actually got to you.

I check this on every trade I size with a stop, and I size differently when I am holding an asset I know widens aggressively. The arithmetic is not exotic. A 5 pip widening on a long is functionally a 2.5 pip free move against your stop. Double it to 10 pips and you give up 5. On gold, where I have seen brokers run resting spreads of 30 cents and stress spreads of 4 dollars, the math becomes brutal. The spread alone can take out a long stop placed 5 dollars below entry while the underlying market barely moves.

This is the part to check before you trust the spread number on your broker's homepage. The "from 0.6 pips" or "typical 1.0 pips" line is a sales number describing normal conditions when nothing important is happening. What you actually pay at the moment your stop triggers is a different number entirely, and it is the only one that affects your fill on that trade. If you compare brokers on resting spread and ignore stress-event spread, you are comparing the wrong number.

So far, the mechanics are physics. Spreads widen when liquidity thins, and no broker can hold a 1 pip spread on EURUSD through a Non-Farm Payroll print. The configurable part is how much widening the broker permits before the engine throttles, hedges, or rejects, and how that widening distributes between bid and ask. A broker can hold the bid steady and let the ask blow out, which protects long positions and punishes shorts. The opposite is also configurable, as is a symmetric split. These are dashboard settings inside the broker's bridge software. I have configured them. The broker chooses.

You can find traces of this in your own execution history if you know where to look. Pull the closed positions from your last month, isolate the ones that closed on a stop, and compare the trigger price on the statement against the high or low of the same bar on a clean charting source not pulling its data feed from your broker. If the bar low on a long stop never reached your stop level but the platform still shows a fill, the spread did the work, not the market. Count how often it happened. That number tells you more about your broker than the spread table on the homepage.

Key takeaways

  • Pull your last month of closed trades, isolate every stop fill, and compare the trigger price against the high or low of the same bar on a clean charting source. Spread-driven stops show up as fills where the chart bar never reached your stop level.

  • Size your stops with the stress-event spread in mind, not the marketing spread. A broker that runs 1 pip on EURUSD but jumps to 5 pips on a data print has effectively pulled your long stop 2 pips closer to entry from the instant the print lands.

  • Compare brokers on stress-event spread behavior, not on the resting spread quoted in the homepage table. The two numbers describe different states of the market, and only one of them is the state your stops fire in.

The paid issue next Thursday turns this mechanic into a working test. It contains the specific pip thresholds that separate normal liquidity-driven widening from broker-configured widening, plus the stress sequence I use to grade a broker before I size up. If you trade through news, that diagnostic is where the answer lives.

Stops are vulnerable in calm markets. In news markets, they are defenseless unless you know exactly how your broker behaves in the first half second.

DISCLAIMER

This newsletter is for educational and informational purposes only. Nothing herein constitutes investment advice, a recommendation to trade, or an endorsement of any specific broker or financial product. The author writes under a pen name and has no undisclosed financial relationship with any broker mentioned. Trading forex and CFDs involves substantial risk of loss and is not suitable for all investors.

Keep Reading