investAPI
investAPI copied to clipboard
OrdersService уведомляет о сделке через TradesStreamResponse с задержкой
Использую GRPC. По стриму с OrdersService приходят TradesStreamResponse с информацией о трейдах с задержкой:
Факт отправки c моей стороны:
# 2023-07-31 07:02:00.560941225 <PROTOCOL> Gateway Tinkoff : PostOrder(30): figi: "BBG000PKWCQ7"
quantity: 1
price {
nano: 61300000
}
direction: ORDER_DIRECTION_BUY
order_type: ORDER_TYPE_LIMIT
.
Факт принятия ордера к исполнению: PostOrderResponse
# 2023-07-31 07:02:01.093882239 <PROTOCOL> Gateway Tinkoff : ParseSendTradeResponse(535): order_id: "37433097301"
execution_report_status: EXECUTION_REPORT_STATUS_NEW
.
Проверка ордера: OrderState
# 2023-07-31 07:02:31.568713398 <PROTOCOL> Gateway Tinkoff : ParseOrderState(463): order_id: "37433097301"
execution_report_status: EXECUTION_REPORT_STATUS_FILL
order_date {
seconds: 1690786920
nanos: 967997000
}
.
Уведомление о трейде: TradesStreamResponse
# 2023-07-31 07:03:16.370713883 <PROTOCOL> Gateway Tinkoff : ParseTrades(1108): order_trades {
order_id: "37433097301"
created_at {
seconds: 1690786996
nanos: 132074602
}
trades {
date_time {
seconds: 1690786942
nanos: 20107000
}
}
.
- Есть ли возможность уведомлять об исполнении/частичном исполнении по факту, а не через неопределенное время?
- Почему в уведомлении о трейде разница между created_at и trades date_time 54 секунды, но проверка ордера через 30 секунд показала, что он исполнен?
- Почему created_at из TradesStreamResponse отличается от order_date из OrderState?
Стрим трейдов сейчас работает на тех же "рельсах", что и лента операций, и в некоторых случаях бывают подобные задержки. Мы работаем над переводом стриминга трейдов на отдельные "рельсы" ближе к бирже. Должна исправиться проблема с задержками + попутно дополним стрим информацией об изменении статуса ордера (реджект биржей, отмена клиентом, частичное исполнение и т.д.)
Спасибо за информацию