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.
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.
Related codes
One API for MT4 and MT5
Clear trade outcomes, idempotent orders and an audit log. Read the error reference or the quickstart.