Лимиты
В процессе работы торговые роботы могут генерировать огромное количество заявок. Особенность алгоритмической торговли — большой процент отмен заявок, и пользователи могут генерировать большую нагрузку на инфраструктуру брокера. Поэтому у T-Invest API есть система динамического формирования лимитов для пользователей.
Для всех запросов с одного адреса установлено суммарное ограничение. Мы рекомендуем разрабатывать роботов таким образом, чтобы общее число запросов по всем счетам и токенам в секунду не превышало 50.
Значение лимита конкретного сервиса включает в себя суммарное количество допустимых запросов по всем методам этого сервиса.
Лимитная политика распространяется на все аккаунты (cчета) пользователя.
Таблица лимитов unary-методов
| Сервисы | Способ интеграции | Лимит unary-запросов в минуту |
|---|---|---|
| Сервис инструментов | gRPC REST | 200 |
| Сервис счетов | gRPC REST | 100 |
| Сервис операций | gRPC REST | 200 |
| Формирование отчетов в сервисе операций | gRPC | 5 |
| Сервис котировок | gRPC REST | 600 |
| Сервис стоп-ордеров | gRPC REST | 50 |
| Песочницы | gRPC REST | 200 |
| Сервис ордеров | gRPC REST | 100 |
| Сервис сигналов | gRPC REST | 100 |
| Сервис автоследования | gRPC REST | 100 |
| Метод getHistory | REST | 30 |
| Метод getOrders | gRPC REST | 200 |
| Метод postOrder | gRPC REST | 15 в секунду (900 в минуту) |
| Метод cancelOrder | gRPC REST | 100 |
| Метод postOrderAsync | gRPC REST | 600 |
| Метод getStopOrders | gRPC REST | 60 |
Стрим-соединения
Существуют следующие лимиты на количество активных стрим-соединений:
- сервис котировок — 32;
- сервис ордеров — 16 на каждый тип стрим-соединения;
- сервис операций — 11 на каждый тип стрим-соединения.
- В рамках одного stream-соединения сервиса котировок есть ограничение в 300 одновременных подписок на свечи, стаканы и ленту обезличенных сделок. Лимит считается суммарно по всем трем типам данных. Лимитов на количество подписок в рамках одного стрима на торговые статусы инструментов (подписка Info) нет. Максимальное количество запросов подписки в минуту — 100.
- В методе Запросить тариф пользователя лимиты для стрим-соединений могут возвращаться на 1 больше. Это сделано для того, чтобы вы могли переподключить стримы — поэтому мы не рекомендуем использовать максимальное количество из лимита.
- Если превысить лимит, вернется соответствующая ошибка. Превышения не будет, если количество запросов с IP-адреса клиента не превышает 1000 в минуту. Если вы подозреваете, что ваш IP-адрес забанили — обратитесь к нам в поддержку или в Telegram-чат по общим вопросам.
- Воспользоваться максимальными лимитами по выставлению ордеров получится не всегда — это связано с задержками на стороне брокера. В первую очередь увеличение лимитов полезно для клиентов, которые торгуют с разных счетов. Подробнее по производительность. :::
Счетчик количества стрим-соединений обновляется каждые 2 минуты.
Лимита на количество активных заявок нет. :::
Ограничения по доставке данных в стримах
В пики активности на бирже возможны ситуации, когда за одну секунду происходят сотни событий по инструменту.
Для ограничения нагрузки на клиентов и на сервис были введены интервалы отправки сообщений в стрим. За один интервал времени может быть отправлено только одно сообщение по одной подписке.
Таблица значений в миллисекундах:
| Тип подписки | Величина интервала |
|---|---|
| Trades | Без ограничений |
| Orderbook | 100 |
| Candles | 100 |
| LastPrice | Без ограничений |
| Info | Без ограничений |