MT4 error 137: Broker is busy (ERR_BROKER_BUSY)
The broker couldn't handle the request right now. Nothing was executed; wait a moment and send it again.
What it means
You see this code in GetLastError() in MQL4, after a trade function fails on the server side.
The broker's side was too busy to process the request. It wasn't processed.
Like error 4, it tends to come in bursts. Error 137 comes from the broker, while 146 comes from your own terminal, so they need different handling.
Common causes
- Busy market moments.
- Dealer side load on request execution symbols.
How to fix it
- Pause, refresh rates and try again, with a longer wait each time.
- Don't retry in a tight loop. A few tries over several seconds is enough; then report the failure.
Example in MQL4:
int ticket = -1;
for(int i = 0; i < 4 && ticket < 0; i++)
{
RefreshRates();
ticket = OrderSend(Symbol(), OP_BUY, 0.10, Ask, 3, 0, 0, "", 4711);
if(ticket < 0 && GetLastError() != ERR_BROKER_BUSY) break;
if(ticket < 0) Sleep(1500 * (i + 1));
} Is it safe to retry?
Yes, after a pause.
Could the order have executed?
No. The broker didn't process the request.
How Tickwire handles it
Tickwire treats it like MT5 10024, and the MT4 code stays in the message.
Tickwire reports it as 10024 with nothing sent, so a retry after a moment is safe. See trade results.
Related codes
One API for MT4 and MT5
Clear trade outcomes, idempotent orders and an audit log. Read the error reference or the quickstart.