Tinkoff / investAPI

391 stars 136 forks source link

OrdersService уведомляет о сделке через TradesStreamResponse с задержкой #464

Open Roy2player opened 11 months ago

Roy2player commented 11 months ago

Использую 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
    }
}
.

1) Есть ли возможность уведомлять об исполнении/частичном исполнении по факту, а не через неопределенное время? 2) Почему в уведомлении о трейде разница между _createdat и _trades datetime 54 секунды, но проверка ордера через 30 секунд показала, что он исполнен? 3) Почему _createdat из TradesStreamResponse отличается от _orderdate из OrderState?

AlexanderVolkovTCS commented 11 months ago

Стрим трейдов сейчас работает на тех же "рельсах", что и лента операций, и в некоторых случаях бывают подобные задержки. Мы работаем над переводом стриминга трейдов на отдельные "рельсы" ближе к бирже. Должна исправиться проблема с задержками + попутно дополним стрим информацией об изменении статуса ордера (реджект биржей, отмена клиентом, частичное исполнение и т.д.)

Roy2player commented 11 months ago

Спасибо за информацию