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.