Repository navigation
Tinvest.new_order: принимать FILL и PARTIALLYFILL при мгновенном исполнении заявки - #3
Open
oleg-dixon wants to merge 1 commit into
Open
oleg-dixon wants to merge 1 commit into
oleg-dixon wants to merge 1 commit into
Conversation
…ном исполнении На боевом контуре PostOrder для рыночной заявки сразу возвращает EXECUTION_REPORT_STATUS_FILL. Раньше успехом считался только статус NEW, поэтому new_order возвращал False для уже исполненной заявки, а BackTrader/Broker.py помечал её как отклонённую при открытой позиции. Ветка лимитной заявки приведена к тому же правилу.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Здравствуйте, Игорь! Нашёл расхождение при торговле через
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 уже обрабатываются) не затронут. Ветка лимитной заявки приведена к тому же правилу; отдельно мгновенное исполнение лимитной заявки я не проверял.Если считаете, что статусы нужно обрабатывать иначе (например, возвращать данные об исполнении), подскажите — переделаю.