Возможно ли в OnTransReply получение номера снимаемой/передвигаемой заявки?

Страницы: 1
RSS
Возможно ли в OnTransReply получение номера снимаемой/передвигаемой заявки?, при использовании Move/Kill order
 
Собственно весь вопрос в заголовке: возможно ли в OnTransReply получение номера снимаемой/передвигаемой заявки при использовании Kill/Move order по ID этого ордера?
 
Чтобы снять ордер надо знать его номер, а если он известен, то зачем его получать в колбеке?
 
Цитата
Nikolay написал:
Чтобы снять ордер надо знать его номер, а если он известен, то зачем его получать в колбеке?
Затем, что заявок на снятие и передвижение может быть несколько и если одна из них прошла с ошибкой, надо знать какая, чтобы скорректировать поведение робота. ID заявки на снятие/передвижение есть, а вот номер ордера СНИМАЕМОЙ заявки я получить не могу.Если это теоретически возможно, то я не понимаю как? Хотя действительно номер снимаемой заявки передавался в Килл/Мув ордере.  
 
Если задача перехватить ответ для отправленной транзакции, то это лучше делать по номеру транзакции, который был передан. Номер транзакции тоже известен при ее подаче, а ответ этот номер содержит.
 
Цитата
Nikolay написал:
Если задача перехватить ответ для отправленной транзакции, то это лучше делать по номеру транзакции, который был передан. Номер транзакции тоже известен при ее подаче, а ответ этот номер содержит.
Николай, Вы немного не понимаете о чем идет речь, по-видимому Вы никогда не сталкивались с подобной ситуацией. Нет задачи перехватить ответ для ОТПРАВЛЕННОЙ Килл/Мув транзакции, ее ID и так известен, задача в том, чтобы узнать номер транзакции (или ID) того ордера который она снимает/передвигает, если вдруг заявка Килл/Мув неудачна, что бывает достаточно часто, особенно последнее время.

Прошу ТЕХПОДДЕРЖКУ ответить на поставленный вопрос.
 
Николай вам ответил правильно.

при подаче транзакции на снятие запоминайте ее trans_id (не номер заявки), и в колбеке ждите этот trans_id
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Цитата
s_mike@rambler.ru написал:
Николай вам ответил правильно.

при подаче транзакции на снятие запоминайте ее trans_id (не номер заявки), и в колбеке ждите этот trans_id
Николай мне ответил неправильно:(.
Внимательно прочтите пой предыдущий пост.
Еще раз повторю - мне не нужен ID отправляемой заявки, как вы правильно отметили, я его знаю и в колбэке он естественно приходит. Мне нужен номер заявки или ID той транзакции которую он должен снять. Этот номер заявки (которую необходимо снять) я отправляю в Килл ордере, но вот в колбэке, если снятие заявки по какой-то причине не произошло, я его выловить не могу.
Ребята, без обид, кто не очень въехал о чем речь, не надо отвечать.
По прежнему жду ответа от ТЕХПОДДЕРЖКИ возможно ли это в принципе или нет?
 
А мне нужен и ID отправляемой заявки - я его знаю НЕ ВСЕГДА. Вы все говорите о ситуации, когда заявку посылает сам робот, а если её послал юзер, независимо от робота?
 
Вопрос был понятен. Не понятна проблема. При подаче транзакции мы знаем номер модифицируемого ордера и номер поданной транзакции.
Т.е. есть структура {trans_id, order_num}  


Ели транзакция прошла успешно, то номер снимаемого ордера заполнен в ответе транзакции.
Если возникла ошибка то он не заполнен. Но у Вас есть структура, где по номеру транзакции есть номер ордера по которому возникла ошибка.
 
Цитата
Nikolay написал:
Ели транзакция прошла успешно, то номер снимаемого ордера заполнен в ответе транзакции.
Если возникла ошибка то он не заполнен. Но у Вас есть структура, где по номеру транзакции есть номер ордера по которому возникла ошибка.
Ели транзакция прошла успешно, то номер снимаемого ордера мне не нужен.
Ели транзакция не прошла, то безусловно, я могу восстановить номер снимаемого ордера, но только в том случае, если я его сохранил. Т.е. я должен вначале сохранить параметры этой заявки, потом, если снятие этого ордера не произошло, по ID провести поиск этого номера и только затем повторить снятие этого ордера или убедиться, что он исполнен. Зачем эти "танцы с бубном"?  Насколько проще бы было если можно вытащить номер СНИМАЕМОЙ заявки из колбэка и прямо по нему произвести необходимые действия.
Поэтому и был вопрос - возможно ли это?
Ответ хотелось бы получить в форме:
Нет, не возможно или Да, возможно, вот таким образом.
Странно, почему молчит техподдержка?
 
Юрий Балашов, добрый день!

В ответе на транзакцию снятия заявки (KILL_ORDER) номер снимаемой заявки не приходит.
В ответе на транзакцию передвижения заявки (MOVE_ORDERS) приходит только номер новой заявки.

Также, заметим, что данный ответ идет от Торговой Системы, а не от терминала.
 
Цитата
Roman Azarov написал:
Юрий Балашов, добрый день!

В ответе на транзакцию снятия заявки (KILL_ORDER) номер снимаемой заявки  не  приходит.
В ответе на транзакцию передвижения заявки (MOVE_ORDERS) приходит только номер  новой  заявки.

Также, заметим, что данный ответ идет от Торговой Системы, а не от терминала.
Спасибо.
 
Roman Azarov, И что делать? А по OnOrder это дело ловится? Если верить описанию, при любом изменении параметров заявки эта штуковина должна бы вызываться (именно по ней вкупе с OnTrade я и собираюсь отслеживать состояние торгов).
 
Цитата
Roman Azarov написал:
Юрий Балашов, добрый день!

В ответе на транзакцию снятия заявки (KILL_ORDER) номер снимаемой заявки  не  приходит.
В ответе на транзакцию передвижения заявки (MOVE_ORDERS) приходит только номер  новой  заявки.

Также, заметим, что данный ответ идет от Торговой Системы, а не от терминала.
Все же при удачном снятии номер заполнен в поле order_num, по крайней мере на вашем тестовом контуре.

OnTransReply sec_code SRZ0 result_msg: Заявка 1953471058887603012 снята. Неисполненный остаток: 1. status: 3 trans_id: 64469037 order_num: 1953471058887603012 price: 0 qty: nil account  client_code SPBFUT0018n firmid nil brokerref
 
Цитата
Владимир написал:
Roman Azarov, И что делать? А по OnOrder это дело ловится? Если верить описанию, при любом изменении параметров заявки эта штуковина должна бы вызываться (именно по ней вкупе с OnTrade я и собираюсь отслеживать состояние торгов).
Делать что? Колбеком OnOrder Вы можете отследить изменение параметров ордера, только не забывайте, что он приходит не один раз.
Если же при снятии была ошибка, то она придет только в OnTransReply, OnOrder не будет вызван. Так что надо либо контролировать транзакцию, либо опрашивать ордер, проверяя его состояние.
 
Владимир, Nikolay,  добрый день!

Nikolay, действительно, спасибо за поправку. Однако это актуально лишь для срочного рынка. При снятии заявки на фондовом рынке, в OnTransReply приедет order_num = 0.

Владимир, как уже обсудили ранее в ветке, сохранять номер заявки самостоятельно, при подаче транзакции на снятие.

Для OnOrder():
   - при снятии заявки, в коллбеке приходит ее номер
   - при изменении заявки, приходит номер новой заявки
 
Ok, спасибо. А снимать заявки я не собираюсь вообще.  :smile:  
Страницы: 1
Читают тему
Наверх