Advertisement IC Markets

Rate limits and order throttling for high-frequency scalpers

Compare ECN/Raw spread brokers, analyze execution speeds, report slippage, and evaluate commission structures for high-frequency traders.
Post Reply
Fairman
Posts: 6757
Joined: Tue Jul 21, 2026 7:11 am
Location: Abuja

Rate limits and order throttling for high-frequency scalpers

Post by Fairman »

Rate limits and order throttling for high-frequency scalpers

Brokers do not usually publish them, but order rate limits exist. Send too many requests in a short time and orders start getting rejected with vague error codes such as "too many requests" or "trade context busy". On MT4, even the single trade context can block simultaneous orders from several expert advisors.

It tends to hit scalpers running several pairs on one account with multiple EAs. Two systems both try to trade in the same second, one gets blocked, and the position sizing logic falls apart.

Workarounds include staggering entries with small random delays, using a queue in the code so only one order is sent at a time, and retrying with a short pause when the context is busy. For multi-pair setups, a central order manager beats independent scripts.

Also check the broker terms. Some firms treat high message volume as abusive and will warn or restrict the account even if the trades are legitimate.

A little restraint in message traffic keeps both the platform and the broker happy.

Has anyone hit a throttle limit, and how did the broker describe it?
It’s Fairman :geek:
Recommended broker for automated trading & scalping IC Markets
Amanhasnoname
Posts: 1506
Joined: Fri Oct 30, 2026 9:45 am

Re: Rate limits and order throttling for high-frequency scalpers

Post by Amanhasnoname »

I hit this with a setup that ran five EAs across eight pairs on one MT4 account. Every few days around a data release I would see error 146, trade context busy, and a couple of entries just vanished. What made it worse was that the EAs didn't know about each other, so after a rejected entry one of them kept retrying every tick and flooded the terminal.

My fix was boring. I put a global variable in the terminal as a lock, so an EA had to grab it before sending an order and released it after the result came back. I also added a random delay of 100 to 700 milliseconds before the first attempt and a limit of three retries with a short pause between them. The errors dropped from several a week to almost none.

On the broker side, one of mine did email me once about a high number of order modifications. It wasn't a ban, just a request to reduce trailing stop updates, so I changed the trail to update only when price had moved at least a pip.
Post Reply