Tinkoff/invest-python

API vs Tinkoff Terminal: на открытии биржи через API систематично отстреливаются заявки по причине 30079, а через терминал эти же заявки выставляются!

nicholasid7 opened this issue · 1 comments

Что случилось?

Был неоднократно протестирован следующий кейс:
одновременно с Tinkoff Terminal (https://www.tinkoff.ru/terminal/) вручную и также роботом через API (tinkoff-investments==0.2.0b35) выставлялись одинаковые инструменты. Проводился хронометраж.
Результаты:
1 Через Tinkoff Terminal заявка по клику открывается через 2 секунды (с учетом времени реакции человека).
2 Через API открытие заявки происходит через 7.633 секунды с 11-го повтора, поскольку все 10 раз сервер "отпинывает" по причине details = "30079" (Инструмент недоступен для торгов), приходится делать retry.
Задержки во 2 случае могут доходить до 15 сек, с той же причиной " 30079"

image

Получается, что терминал в ручном режиме работает быстрее.

Воспроизведение

1. Настроить бота для открытия заявок ровно в момент открытия биржи, используя метод client.orders.post_order или нативно OrdersServiceStub(channel) и PostOrderRequest
2. Подготовить работу в терминале - https://www.tinkoff.ru/terminal/ 
3. В п.1 и 2 одновременно выставлять одинаковые заявки в момент старта биржи (в 06:00:00 UTC)
4. Зафиксить моменты времени открытия заявок со статусом "New"

Tinkoff Invest Version

0.2.0-beta35

Python Version

3.10

OS

Linux

Логи

No response

Исправлено.
Была задержка, вызванная запаздыванием трансляции СПБ биржей статуса торгов.
Терминал не проверял этот статус. Теперь мы для доступности торгов смотрим не только статус, но и расписание.