Как ускорить взаимодействие с T-Invest API
Ниже привели рекомендации, которые помогут уменьшить временные издержки при запросе данных и выставлении поручений.
Сетевые задержки
Серверы брокера находятся в датацентрах M1 и Dataspace. Чем ближе к ним располагается ваше оборудование, тем меньше сетевые задержки.
Скорость исполнения поручений
Скорость исполнения поручений со включенной маржинальной торговлей значительно ниже. Если маржинальная торговля для вас необязательна, ее лучше отключить.
Задержки в скорости выставления заявок пропорциональны количеству сделок, которые проводятся на аккаунте в течение торгового дня. Если вы выставляете много поручений (десятки тысяч в сутки) и испытываете проблемы со скоростью исполнения, рекомендуем открыть дополнительные брокерские счета и равномерно разделить торговлю между ними.
Если поручения исполняются медленно, вы хотите выставлять больше заявок и не успеваете выбирать весь предоставленный лимит — рекомендуем архитектурно выставлять заявки в несколько программных потоков параллельно.
Порядок доставки информации об исполнении заявок
Так как брокер — не строго консистентная система, при исполнении заявок в разных сервисах информация придет с разными задержками. Порядок доставки обновлений от самого быстрого к медленному:
- Обновление в
GetOrders / GetOrderState
. GetPosition
,TradeStream
.GetPortfolio
.- Операции в
GetOperations
.
Скорость доставки рыночных котировок
Рекомендуем следить, чтобы клиентский код успевал вычитывать всю присланную в стриминге информацию — иначе сервер может разорвать соединение.
Обновления в
tradeStream
приходят немного быстрее, чем вCandles
.В потоке котировок свечей есть ограничение на частоту отправки — свечи отправляются не раньше, чем через 300мс с момента отправки последней свечи по тому же инструменту.
Асинхронный метод выставления заявок
С целью уменьшения задержек доставки торговых поручений до биржи в T-Invest API есть асинхронный метод выставления заявок — он позволяет ускорить выставление поручений на биржу.