What is “Requote (138)” that causes orders to be rejected on MT4: an example of gold market orders and partial closures
I am Yohaku, creating MT4/MT5 indicators and handy tools. The things I make are decided from complaints that appear in GoGoJargon reviews and questions.
When I was testing order and settlement tools on a demo account, I sometimes saw market orders and partial fills for GOLD get rejected by the broker. The screen showed “requote” and error number “138.” I’ve summarized what’s happening and where to verify it.
In Short
- Market orders and partial fills may be rejected if the price moves between the time the order reaches the broker and the moment of execution (in MT4, requote = error 138).
- This is more likely with fast-moving instruments like GOLD, especially when server response is slow.
- Whether an order was rejected can be checked in MT4/MT5 under the “Experts” tab or in the trade history by error number.
Conditions under which it happened
- October 7, 2026, MT4 demo account, GOLD (XAUUSD)
- While automatically testing a draft of the order panel (sending clicks automatically to place market orders, limit orders, stop orders, and partial fills)
- Broker server ping of about 270 ms, and GOLD moved about $37 over several minutes
Under these conditions, partial fills and market orders for GOLD were occasionally rejected with a requote (138).
Meaning of the error number
MT4 returns a reason as a number when an order is rejected. Four common ones on the ordering side are (MT5 uses a different numbering system and returns numbers in the 10000 range).
- 135: price moved
- 136: no price available (no quote arrived)
- 138: requote (broker quotes a different price)
- 146: trade processing
This time it was a requote 138.
Why orders get rejected
Market orders are sent to the broker “at this price right now.” However, it takes a moment for the order to reach the server. For instruments like GOLD that move several dollars in minutes, the price can change during that short interval.
If the price sent and the current price differ, the broker will respond, “You cannot execute at that price. The price now is this,” which is a requote (138).
The same thing happens with partial fills. When closing part of a position with a market order, if the sent price and the current price diverge, it will be rejected.
Longer server ping increases the time for the order to reach the server, during which price movement is larger, making rejection more likely. This is especially true during times when GOLD moves fast.
How I addressed it in the prototype tool
In the draft version of the order panel, when a price moved and was rejected (135, 136, 138, 146), I retried using the current price up to three times. Even if the first attempt is rejected, placing the second attempt with the retried price may go through.
If you want to verify the retrial of a requote on your own account, you can useLot Auto-Calculation Panel(which retries the price and resubmits).