MT4 error 8: Too frequent requests (ERR_TOO_FREQUENT_REQUESTS)

Your code sent trade requests faster than the broker accepts. Slow down; this request was refused.

8ERR_TOO_FREQUENT_REQUESTS
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 server limits how often a terminal can send requests. Above that pace you get error 8.

It is a sign that a loop is sending without waiting. Brokers set the limit themselves and rarely publish its exact value.

Common causes

  • A retry loop with no Sleep().
  • A trailing stop that calls OrderModify() on every tick.
  • Several programs trading the same account.

How to fix it

  • Wait between requests, and longer after each failure.
  • Modify stops only when they move by a useful step.
  • Send all requests from one place in your code, so you control the pace.

Example in MQL4:

static datetime lastModify = 0;
if(TimeCurrent() - lastModify >= 5)      // at most one change every 5 seconds
{
   if(OrderModify(ticket, OrderOpenPrice(), newSl, OrderTakeProfit(), 0))
      lastModify = TimeCurrent();
}

Is it safe to retry?

Yes, after a pause.

Could the order have executed?

No. The server turned the request down for coming too soon after the last one.

How Tickwire handles it

Tickwire treats it like MT5 10024, and the MT4 code stays in the message. 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.