I am having a problem with executing of pending
orders in MT4.
I want the order to be executed ONLY if it TOUCHES
that exact price.
But because of the spread, the order is executed earlier.
How
can I solve that?
Thank you
You Sell at the Bid Buy at the Ask
I assume you are buying, the chart price is bid so if you place an order at 1.50 and spread is 0.05 then your order will fill when the chart Bid price is at 1.45
To get it to fill when the bid price is 1.50 add the spread to your order price so 1.55 your order will fill at 1.55 ask when your chart is 1.50 bid
You Sell at the Bid Buy at the Ask
I assume you are buying, the chart price is bid so if you place an order at 1.50 and spread is 0.05 then your order will fill when the chart Bid price is at 1.45
To get it to fill when the bid price is 1.50 add the spread to your order price so 1.55 your order will fill at 1.55 ask when your chart is 1.50 bid
Got it. Thank you for the good explanation!
I am having a problem with executing of pending
orders in MT4.
I want the order to be executed ONLY if it TOUCHES
that exact price.
But because of the spread, the order is executed earlier.
How
can I solve that?
The order will always execute at that exact price you specify (±slippage,) not earlier.
You buy at the Ask and sell at the Bid.
- Your buy order's TP/SL (or Sell Stop's/Sell Limit's entry) are triggered when the Bid / OrderClosePrice reaches it. Using the Ask±n, makes your SL shorter and your TP longer, by the spread. Don't you want the specified amount used in either direction?
- Your sell order's TP/SL (or Buy Stop's/Buy
Limit's entry) will be triggered when
the Ask / OrderClosePrice reaches it. To trigger at a specific
Bid price, add the average spread.
MODE_SPREAD (Paul) - MQL4 programming forum - Page 3 #25 - The charts show Bid prices only. Turn on the Ask line to see how big the spread is (Tools → Options (control+O) → charts → Show ask line.)
Humans can't watch the screen 24/7 so they use pending orders; EAs can, so no need for pending orders, have it wait until the market reaches the trigger price and open an order.

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
I am having a problem with executing of pending orders in MT4.
I want the order to be executed ONLY if it TOUCHES that exact price.
But because of the spread, the order is executed earlier.
How can I solve that?
Thank you