Closed Kirill-Znamenskiy closed 4 years ago
если коротко - все 3 заявки были выставлены и все 3 были исполены!
Хуже будет, когда запрос на лимитную продажу сработает, апи вернет ошибку, а операции новые появятся не сразу, а через несколько минут 😁 Тут, как вариант, можно смотреть на изменение портфеля, но я не уверен, сразу ли там изменения отражаются после продажи или могут запаздывать.
Хуже будет, когда запрос на лимитную продажу сработает, апи вернет ошибку, а операции новые появятся не сразу, а через несколько минут
В смысле будет хуже) ровно так и произошло)
В тикете https://github.com/TinkoffCreditSystems/invest-openapi/issues/239 там подробно уже разобрали мы все эти проблемы и ситуации, еще в июне. Коротко итог - без изменений со стороны апи ничего невозможно сделать, к сожалению :((
В смысле будет хуже) ровно так и произошло)
Я просто из описания понял, что за операциями пошли уже после успешного выполнения запроса на создание лимитной заявки, а туда желательно ходить почаще :)
Ну там такая ситуация что именно на операции совершенно точно нельзя полагаться в реальном времени, они прям очень часто с задержками. Еще в июне это выяснилось вот)
Добрый день, мы работаем над улучшением скорости отображения заявок в операциях, так же как и над летенси выставления лимитных заявок, но, к сожалению, не всегда все зависит от нас. Ключ идемпотентности возможно поможет, но так же не спасет, от случая таймаута от биржи, когда непонятно для нас выставилась заявка или нет
@NikitaMelnikov, возможность получить все заявки, в том числи и исполненные, эту ситуацию предотвратило бы. Уверен у вас есть возможность получать их от биржи, но нам вы их никак не отдаете, и вот это уже именно ваше решение, а значит и ваша ответственность. Если бы вы транслировали все все данные которые от биржи получаете - было бы идеально.
Нужны всего лишь два статуса: "создано в Тинькофф и ожидает создания на бирже" и "создано в бирже". По первому статусу уже можно будет определить, что запрос на создание лимитной заявки через API был и повторно делать не надо.
Кажется, что для этого как раз и предназначены существующие статусы PendingNew и New. Осталось только отдавать заявки с этими статусами.
Добрый день, мы работаем над улучшением скорости отображения заявок в операциях, так же как и над летенси выставления лимитных заявок, но, к сожалению, не всегда все зависит от нас.
@NikitaMelnikov улучшение скорости появление заявок в операциях уже довольно заметно, теперь get /portfolio не успевает за этим, т.е. путь:
завершается тем что на этапе проверки портфеля в нем еще устаревшая информация, т.е. или нету позиций, если покупали или все еще есть, если продавали
@Fatal1ty вы правы, но не всегда техническая реализация интеграции позволяет так сделать, поэтому данные по PendingNew могут быть не консистентны в определенных случаях.
@ddmrtc биржа по-умолчанию работает асинхронно, мы прорабатываем вопрос стрима событий по вашему счету, тогда получение события из него ответит на вопрос, что данные в портфеле изменились
выставляю заявку на продажу:
500я ошибка - значит заявка не выставилась, но проверяю что там в заявках:
там этой заявки нет, там вообще ничего по этому figi нет, соответственно логично предполагаю что заявка не выставилась, выставляю повторно:
и снова 500я ошибка - значит наверно система у вас сломалась, так что не буду торопиться, снова посмотрю что там в заявках:
снова ничего нет, а продать то нужно! - снова выставляю заявку:
юхуу! есть ответ! заявка успешно выставилась!
а теперь самое интересное! что же в операциях:
если коротко - все 3 заявки были выставлены и все 3 были исполены! в итоге в портфеле появилось -4шт. позиции, которая мне совершенно была не нужна! пришлось закрыть эту позицию в минус по стоп-лосу, потерял на этом $60.26
По-сути получается не работает самый основной, базовых механизм - выставление лимитной заявки. Впервые я оформил тикет по этой проблеме еще 5 июня (https://github.com/TinkoffCreditSystems/invest-openapi/issues/239) и там же мы с вами обсудили варианты решения. С тех пор ничего не поменялось...
В связи с этим вопрос: когда уже наконец-то произойдут хоть какие-то изменения в сторону стабильности и предсказуемости работы api?
P.S. Начиная с этого раза буду создавать тикет по каждому случаю и требовать компенсацию через поддержку. Считаю что тут такая же проблема вашей системы как и при недавних открытиях позиций по AAPL и TSLA. Надеюсь вопрос о компенсациях простимулирует положительные изменения.