An open FX position can show a negative price result before the displayed Bid has moved: the entry and valuation use different quote sides. A short stop can also activate while a Bid-only candle remains below its level, because the standard trigger uses Ask. These are possible explanations, not proof that a particular execution was correct. This article uses the standard MT5 OTC FX model and separates trigger conditions, chart display and actual fills.

What are the bid and the ask, really?

An OTC FX quote normally has two sides, quoted at the same time. The bid is the price at which you can sell the instrument — the lower of the two. The ask is the price at which you can buy it — the higher one. The gap between them is the spread, the cost of entering a trade. It can include an underlying market spread and a provider markup; it is not automatically all broker income.

The most important trap is visual. For a typical OTC FX symbol, a Bid-based chart can hide the Ask until you enable its line. MT5 also supports Last-based charts for relevant exchange symbols, so identify the symbol’s chart mode before applying this explanation. On the Bid-based chart considered here, the displayed quote shows only the Bid side of the market. The other side, the ask, is somewhere above it — by the width of the current spread — and it is the one that matters in two specific situations I will get to in a moment.

Which price triggers your stop-loss and take-profit?

For the standard OTC FX conditions described in MT5, the closing direction determines the relevant quote side. Long SL/TP conditions use Bid and short SL/TP use Ask. Exchange instruments can use an exchange-defined trigger, usually Last; providers may also expose different trigger settings. For example, OANDA REST API supports selected non-default trigger components without changing the normal fill-price side. Identify the product and settings before applying this rule.

A long position. You open it at the ask — you buy. To close it you have to sell, and a sell runs at the bid. That is why both the stop-loss and the take-profit on a long trigger on the bid. It is also why a long starts "in the red" by the width of the spread: you bought at the ask, but your result is measured against the bid, which sits lower.

A short position. You open it at the bid — you sell. Closing it is a buy, so it runs at the ask. That is why the stop-loss and the take-profit on a short trigger on the ask. A short starts "in the red" too, symmetrically: you sold at the bid, but the position is valued against the ask, which sits higher. The official MetaTrader documentation states it plainly: the order condition for long positions is checked using the bid price, and the ask price is used for short positions.

For this model, a long closes by selling on Bid and a short by buying on Ask. That identifies the price side, not a guaranteed fill at the level. Read the difference between a stop-loss and a take-profit for the separate roles of stop and limit instructions.

Short position: the candle touches TP, but the position has not exited

The Bid chart and the exit condition do not use the same price. Follow two consecutive complete quotes.

Scroll sideways to see the full diagram

Short position: the candle touches TP, but the position has not exitedThe hypothetical short TP is 1.10000. In quote A, Bid reaches that level but Ask does not. In B, Ask reaches TP and meets the activation condition.SHORT • TP = 1.10000Quote ABid 1.10000Ask 1.10020Bid touches TP. Ask remains higher.Quote BBid 1.09980Ask 1.10000Only now does Ask meet the TP condition.Activation ≠ confirmed execution

Standard retail OTC FX model in MT5; these are hypothetical prices. Both A and B have a 2-pip spread. No execution price is assumed after activation. Rules for specific instruments may differ. MetaQuotes: a short position's TP condition uses Ask.

The hypothetical short TP is 1.10000. In quote A, Bid reaches that level but Ask does not. In B, Ask reaches TP and meets the activation condition.

Reading the history: For a short position, compare TP with Ask at the same moment, then separately check the executed quantity and remaining volume. A Bid candle crossing the level does not confirm closure.

An illustrative example on EUR/USD

Assume hypothetical EUR/USD quotes of Bid 1.0850 and Ask 1.0851, with a constant one-pip spread throughout the following example. The levels illustrate trigger checks, not current pricing or a promised session spread. Activation alone does not confirm the fill.

Long position, take-profit set at 1.0900Fires when the bid reaches 1.0900. At that point the ask is already at 1.0901, but that is not the price you care about when closing a long.
Long position, stop-loss set at 1.0800Fires when the bid falls to 1.0800 — that is, when the line you actually see on the chart reaches it.
Short position, stop-loss set at 1.0900Fires when the ask reaches 1.0900. And since the ask sits one pip above the bid, the bid line on the chart will only read 1.0899 — it looks as if it "never got there", yet the stop has already fired.

That third row is the heart of the whole misunderstanding. On a short you are watching the bid, while your stop works on the ask. The wider the spread, the bigger the gap between what you see and what is really happening to your order.

Where does "my stop hit even though the price never reached it" come from?

Now that you know the mechanics, let us put it together. One possible source of this complaint is a short position viewed on a Bid-only chart. A short's stop-loss triggers on the ask, and the ask is invisible. The trader sees the bid stop just short of the stop level and concludes the broker "painted in" the move. This can occur when Ask reaches the stop level while Bid remains below it. Confirm the actual quotes and execution record rather than assuming every complaint has this cause.

A wider spread places Ask farther above Bid. For a hypothetical short SL of 1.0900, Bid 1.0897 and a one-pip spread gives Ask 1.0898, below the trigger. At that same Bid with a three-pip spread, Ask is 1.0900 and meets the condition. The example is not a claim about any session’s usual spread. See spread widening around macro releases for the wider topic.

Accepted stop-loss and take-profit instructions are held on the trading server and can remain active while your terminal is offline. Their conditions depend on the relevant quote, session and execution rules. A triggered instruction can be rejected or executed with slippage; a gap does not guarantee a complete fill at the first displayed quote. Check the server response and deal history.

It is also worth separating two things that are easy to confuse. The bid-ask gap is not the same as price slippage. The spread is the difference between quoted Ask and Bid at a given moment and can change. Slippage is the difference between the requested or expected price and the actual execution price; it can be favourable or adverse. Both can strike at the same time — overnight or on news — but they are two different things, and it is worth telling them apart before blaming the broker.

How do you place orders deliberately?

In desktop MT5, right-click the chart, choose Properties, open the Show tab and enable Show Ask price line. This adds the latest Ask level to the chart; it does not reconstruct historical Ask candles. To investigate an earlier stop, obtain the contemporaneous Bid/Ask quotes, timestamps and fill record rather than compare the old candle with today’s line.

The second step is a habit of mind on every order. Before submitting a closing instruction, identify its quote side: a long closes using Bid and a short using Ask. Opening is the reverse: Buy uses Ask and Sell uses Bid. This matters especially when you place a stop right at a round level or at an important support or resistance, where one pip of gap decides whether the order fires or not. If you are still getting your head around how the individual order types — market, limit and stop — work, then awareness of the bid or ask side is the natural complement to that knowledge. This is not investment advice — it is simply the mechanics you need to know before you start arguing about strategy.

If you want to see how bid and ask quotes fit into the wider structure of the market, the forex basics section on ForexMechanics walks through the building blocks in more depth.

What to do tomorrow

  1. Switch on the ask line on your chart and watch the spread live. Open the chart properties in MT4 or MT5, tick "Show Ask price line", then spend five minutes watching the gap between bid and ask change during your trading session and around your provider’s published daily rollover window. Convert that window into your local time for the date, including daylight-saving changes. That single observation will stay with you for a long time.
  2. Review your recent short positions that closed on a stop-loss. Compare the stop level and deal timestamp with contemporaneous Ask quotes and the broker’s execution log. A Bid-only chart is insufficient to establish whether the short’s stop condition was reached.
  3. Record the rule with its scope. For the standard OTC FX model: long closing conditions use Bid, short closing conditions use Ask. Also record whether the symbol chart uses Bid or Last and whether a provider-specific trigger setting applies.
  4. Reconstruct the event before drawing a conclusion. Compare the accepted stop level with synchronized quotes from the same server, then check the activation time and actual fill. Keep trigger and slippage differences separate. If the record is incomplete or inconsistent, request the provider’s quote and execution logs; the current spread alone cannot validate an earlier closure.