Skip to content

Tinvest.new_order: принимать FILL и PARTIALLYFILL при мгновенном исполнении заявки - #3

Open
oleg-dixon wants to merge 1 commit into
cia76:masterfrom
oleg-dixon:fix-tinvest-order-filled-status
Open

oleg-dixon wants to merge 1 commit into
cia76:masterfrom
oleg-dixon:fix-tinvest-order-filled-status

Conversation

@oleg-dixon

Copy link
Copy Markdown

Здравствуйте, Игорь! Нашёл расхождение при торговле через Tinvest.

Проблема. В Tinvest.new_order (рыночная и лимитная ветки) успехом считается только EXECUTION_REPORT_STATUS_NEW. Но на рыночную заявку по ликвидной бумаге боевой контур T-Invest сразу отвечает EXECUTION_REPORT_STATUS_FILL — заявка уже исполнена. Тогда new_order возвращает False, а BackTrader/Broker.py помечает заявку отклонённой (order.reject), хотя позиция открыта: торговая система не знает о позиции.

Как проверил. 23.10.2026 на боевом счёте T-Инвестиции: рыночная покупка и продажа 1 акции SBER — оба PostOrder вернули EXECUTION_REPORT_STATUS_FILL; лимитная заявка далеко от рынка вернула NEW (как и раньше).

Правка. Две строки: проверка статуса заменена с == …_NEW на in (…_NEW, …_FILL, …_PARTIALLYFILL) в обеих ветках. Остальной код (в т.ч. _on_order, где FILL/PARTIALLYFILL уже обрабатываются) не затронут. Ветка лимитной заявки приведена к тому же правилу; отдельно мгновенное исполнение лимитной заявки я не проверял.

Если считаете, что статусы нужно обрабатывать иначе (например, возвращать данные об исполнении), подскажите — переделаю.

…ном исполнении

На боевом контуре PostOrder для рыночной заявки сразу возвращает EXECUTION_REPORT_STATUS_FILL.
Раньше успехом считался только статус NEW, поэтому new_order возвращал False для уже
исполненной заявки, а BackTrader/Broker.py помечал её как отклонённую при открытой позиции.
Ветка лимитной заявки приведена к тому же правилу.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant