Skip to content

Rate Limits

Note that there exist some limits on how frequently algos can trade if you are running them on a demo account. While these limits are set at high thresholds, you may still encounter them if your algos are programmed to perform trading operations (including modifying previously opened positions) on every tick.

Applying Limits

The limits described below are applied per authorised connection with the cTrader backend. In other words, a limit will apply for its duration unless you change trading accounts, sign out and then sign into your cTrader ID, or relaunch your cTrader instance.

Here is the full list of operations that are subject to rate limits, the exact limit thresholds, and the consequences of exceeding the limits.

Operation Type Examples of Associated Methods Limit Consequences of Exceeding Limit
Placing a new order ExecuteMarketOrder(), PlaceLimitOrder(), PlaceStopOrder(), etc. 500 operations per minute No trading operations can be performed for one minute.
Canceling an existing order CancelPendingOrder() 100 operations per minute No trading operations can be performed for one minute.
Amending an existing order ModifyPendingOrder() 100 operations per minute No trading operations can be performed for one minute.
Closing an existing position ClosePosition(), ModifyPosition() (when modifying the position volume), ReversePosition() 2,000 operations per minute No trading operations can be performed for one minute.
Modifying the protection mechanisms of an existing position ModifyPosition() (when modifying protection mechanisms) 1,000 per one minute (level one)
5,000 per 15 minutes (level two)
No trading operations can be performed for one minute.
No trading operations can be performed for 30 minutes.

Exceeding Limits

The consequences of extending limits apply not only to algo trading but also to manual trading. If one of your algos exceeds a limit, you will not be able to trade manually until the periods specified in the table above elapse.