If your trade doesn't close automatically when you expect it to, it’s likely due to how the platform processes stop loss and take profit orders based on market pricing. It’s not a malfunction just a matter of understanding how pricing works behind the scenes.
How Execution Depends on Bid and Ask Prices
Your S/L and T/P are only triggered when the market price reaches the exact level you set. But which price matters depends on the type of position:
For buy orders
: both the stop loss and take profit are triggered by the
bid price
, which is what you see on the chart.
For sell orders
: both the stop loss and take profit depend on the
ask price
, which is higher than the bid due to the
spread
.
Since MT4 and MT5 charts display only the bid price, this can be misleading. For instance, if you're in a sell trade, the chart might show the price hitting your target, but if the ask price hasn’t actually reached it, your T/P won’t be executed.
Why It Matters
This difference is especially noticeable in low-liquidity or high-spread conditions, such as around market openings or during news events. If you're seeing trades that should close but remain open, it’s often due to the spread preventing the ask or bid from hitting your set level.
To better monitor price behavior, you can enable both bid and ask lines in your platform settings.