Как ускорить взаимодействие с T-Invest API
Ниже привели рекомендации, которые помогут уменьшить временные издержки при запросе данных и выставлении поручений.
Сетевые задержки
Серверы брокера находятся в датацентрах M1 и Dataspace. Чем ближе к ним располагается ваше оборудование, тем меньше сетевые задержки.
Скорость исполнения поручений
Скорость исполнения поручений со включенной маржинальной торговлей значительно ниже. Если маржинальная торговля для вас необязательна, ее лучше отключить.
Задержки в скорости выставления заявок пропорциональны количеству сделок, которые проводятся на аккаунте в течение торгового дня. Если вы выставляете много поручений (десятки тысяч в сутки) и испытываете проблемы со скоростью исполнения, рекомендуем использовать асинхронный метод выставления заявок или открыть дополнительные брокерские счета и равномерно разделить торговлю между ними.
Если поручения исполняются медленно, вы хотите выставлять больше заявок и не успеваете выбирать весь предоставленный лимит — рекомендуем архитектурно выставлять заявки в несколько программных потоков параллельно.
Порядок доставки информации об исполнении заявок
Так как брокер — не строго консистентная система, при исполнении заявок в разных сервисах информация придет с разными задержками. Порядок доставки обновлений от самого быстрого к медленному:
- Сообщение в
OrderStateStreamи обновление вGetOrders / GetOrderState. - Сообщение в
PositionsStreamи обновление вGetPositions. - Сообщение в
PortfolioStream,TradeStream,OperationsStreamи обновление вGetPortfolio. - Операции в
GetOperationsByCoursor.
Скорость доставки рыночных котировок
Рекомендуем следить, чтобы клиентский код успевал вычитывать всю присланную в стриминге информацию — иначе сервер может разорвать соединение.
Обновления в
MarketDataStreamприходят немного быстрее, чем вGetCandles.В потоке котировок свечей есть ограничение на частоту отправки — свечи и стаканы отправляются не раньше, чем через 100мс с момента отправки последнего сообщения по тому же инструменту.
Асинхронный метод выставления заявок
С целью уменьшения задержек доставки торговых поручений до биржи в T-Invest API есть асинхронный метод выставления заявок — он позволяет ускорить выставление поручений на биржу.