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.

137ERR_BROKER_BUSY
Yes, after a waitSafe to retry?
NoCould it have executed?

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.

All MetaTrader error codes

One API for MT4 and MT5

Clear trade outcomes, idempotent orders and an audit log. Read the error reference or the quickstart.