Forex Stop Hit Without a Candle Touch? Check Bid, Ask and Spread
A chart can stay below a short position’s stop while the ask crosses it. Rebuild the trigger, execution and cash result with synchronized quotes, then identify what evidence is still missing.
A forex short can be stopped out even when the candle on a bid-price chart never reaches the stop line. Under a rule that tests a short stop against the ask, the relevant question is whether the ask crossed—not whether the bid candle did. That explanation is possible, not proof that a particular execution was correct.
In the hypothetical EUR/USD example below, a 1.10100 stop is triggered with the bid at only 1.10075. An eventual buyback at 1.10112 produces a $112 price loss on €100,000, rather than the $100 implied by an exact fill at the stop. The trigger, fill and chart each answer a different question.

Match the position to its closing price
In the quote convention used here, the bid is the price at which the customer sells and the ask is the price at which the customer buys. A long closes by selling; a short closes by buying. We explicitly assume long stops are tested against bid and short stops against ask. Confirm the actual account’s rules before applying that mapping.
A candle might contain bid prices, midpoint prices or last trades. These are not interchangeable. An ask line showing the latest quote also does not establish what historical ask highs were. Exchange-traded products and contracts using other trigger conventions require their own rules, not an automatic copy of this example.
A short stop can trigger while every shown bid stays below it
Assume €100,000 was sold at an actual fill of 1.10000 USD per EUR. Its non-guaranteed stop is 1.10100, tested when ask ≥ 1.10100. Define one pip as 0.0001. The following are invented successive quotes, not a complete market record or real prices.
| Observation | Bid | Ask | Spread, pips |
|---|---|---|---|
| A · before trigger | 1.10070 | 1.10090 | 2.0 |
| B · trigger condition met | 1.10075 | 1.10105 | 3.0 |
| C · assumed buyback | 1.10080 | 1.10112 | 3.2 |
Quote A does not satisfy the condition; quote B does. Every bid in these three observations is below the stop, but that does not prevent an ask-based trigger. At a fixed bid of 1.10075 the spread threshold is 1.10100−1.10075=0.00025, or 2.5 pips. A two-pip spread gives ask 1.10095, below the stop; three pips gives 1.10105, above it. This controlled comparison isolates spread mechanically; it does not establish what caused an actual market event.
A valid trigger does not certify the eventual fill
Assume the buyback is actually filled at 1.10112 at quote C. The price result is (1.10000−1.10112)×100,000=−$112. Exact execution at 1.10100 would instead lose $100. The $12 difference is 1.2 pips at $10 per pip; it is an execution comparison, not an additional charge.
With hypothetical total round-trip commission of $7, the result becomes −$119. Do not subtract the quoted spread once more: selling at the actual bid fill and buying back at the actual ask fill already embeds that price difference. Financing, taxes and any other charges are excluded here.
Trigger and fill records must be checked separately. A price crossing can explain activation without proving the latency, size, slippage or handling was acceptable. Ordinary stops do not by themselves establish a guaranteed fill; guaranteed-stop terms or stop-limit restrictions, where offered, need separate verification.
An unchanged midpoint can conceal a wider exit price
Take a separate controlled example with a constant midpoint of 1.10000. Widen the full spread symmetrically from two to eight pips. Bid moves from 1.09990 to 1.09960; ask moves from 1.10010 to 1.10040.
| Midpoint | Bid | Ask | Spread, pips |
|---|---|---|---|
| 1.10000 | 1.09990 | 1.10010 | 2.0 |
| 1.10000 | 1.09960 | 1.10040 | 8.0 |
Under the stated trigger rule, a long stop at 1.09970 and, in a separate short-position scenario, a short stop at 1.10030 can both be crossed after widening. The midpoint has not moved. This is not evidence that both positions existed in one account, nor that a real spread widened symmetrically. It shows why a midpoint-only backtest can miss executable-side exits.
Do not manufacture historical ask highs from separate extremes
Ask equals bid plus spread at the same instant. It does not follow that the highest ask equals the highest bid plus the widest spread recorded at some other time.
For example, one tick has bid 1.10080 and spread 0.00010, giving ask 1.10090. Another has bid 1.10060 and spread 0.00030, again giving ask 1.10090. Adding the maximum bid to the maximum spread invents 1.10110 and a false crossing of 1.10100. Neither observed ask crossed. Retain synchronized tick pairs; one-minute high/low summaries discard the timing needed for this reconstruction.
Reconcile the event before changing the stop
Obtain the exact symbol and contract, position side and quantity, active stop and modification history, server timestamps and time zone, synchronized bid/ask data, trigger convention, and fill prices and quantities. Align the trigger and execution times before calculating slippage. Then reconcile commission and any funding entries to the cash statement.
A chart from another provider may use different quotes and timestamps. A screenshot alone cannot establish that the account’s trigger feed did or did not cross. If the required records are unavailable, leave the cause unresolved rather than blaming manipulation or excusing the broker by default.
After establishing the price basis, use position sizing from stop distance and account risk to turn a realistic exit distance and costs into a position budget. Simply widening the stop to avoid a spread-driven exit changes the monetary risk; it is not a free correction to a chart display problem.


