Closed Freeongoo closed 3 years ago
Поидее так: Пендинг нью - процесс создания. Новый Партиалли филл (например купилось 3, а заявка на 5) Филл. (заявка исполнена) Это обычный цикл жизни. Только Пендинг вы чаще всего не увидите. Насколько понял это "в обработке", в процессе... Иногда можно получить реджектед - это отказ биржи выставить заявку. Ценцел - итак понятно, что отменена. Если вы отменили, биржа или если заявка не исполнена до закрытия биржи. Реплейс не помню как получить. Важно! Статусы кроме нового и частично исполненного вы увидите очень редко! Всё это относится только к выставленым заявкам, состояние которых пока не очень отслеживается! Фактически нормально работать можно только по принципу:
@Dimantchick спасибо за информацию. Насколько правильно в цикле ожидать что заявка будет выставлена в Fill (когда выполняется запрос к заявам по полученному orderId и считывание текущего состояния), естественно за исключением статуса Reject - когда понятно, что заявка уже не выполнится. Просто моя логика подразумевает дальнейшую обработку только после того как заявка в Fill. Или это путь в никуда?
Фактически установлено экспериментально, что статус Fill вы практически никогда не увидите!!! Сколько не проверял, при исполнении заявки она мгновенно исчезает. Мониторить имеет смысл только по операциям. Смотрите https://tinkoffcreditsystems.github.io/invest-openapi/swagger-ui/swagger.yaml У операции есть запрошенное количество и количество выполненных, а так же статус. При закрытии биржи, если не выполнено даже частично, то заявка отменяется. Если выполнено частично, то операция будет в статусе Done, но quantity и quantityExecuted будет отличаться. В процессе выполнения заявки вы при запросах операций будете видеть изменения в операции по ИД.
Собственно https://github.com/TinkoffCreditSystems/invest-openapi/issues/539 запрос функционала есть. Если будет стрим, то можно будет отслеживать полноценный статус заявки. По срокам разработчики сказать ничего не могут, но по скорости развития апи - это месяцы! Дорожной карты, приоритетов тоже нет, так что только ждать.
Еще рекомендую прочитать https://github.com/TinkoffCreditSystems/invest-openapi/issues/51#issuecomment-804448906 Вроде понятнее описан алгоритм работы.
К разработчикам. Может стоит в основном репозитории добавить официальное разъяснение о порядке работы с заявками/операциями? Люди регулярно задают одни и те же вопросы.
@Dimantchick спасибо!
@Dimantchick предложение хорошее, но это за рамками SDK. Создайте запрос в главном репо invest-openapi
Не совсем понятна логика выставления статусов заявок.
Можете описать цепочку выставления статуса заявки при покупке, то есть создании новой заявки, а именно что за чем следует? насколько я понял, то в такой последовательности: NEW -> PARTIALLYFILL -> FILL.
Статусы "Pending.." в каком случае возникают?