You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Уважаемые знатоки, подскажите, пожалуйста, что нужно модифицировать в коде Q#, чтобы избежать двойных ответов при запросе размещения заявки или отмены?
Запрос на размещение заявки делаю с помощью Orders.CreateOrder (order)
после этого приходит два ответа в событие OnOrder (order) со следующими значениями полей
order.TransId=0, order.State=Active
order.TransId=12193041, order.State=Active
При запросе отмены заявки, которую делаю с помощью Orders.KillOrder (order)
после этого приходит два ответа в событие OnOrder (order) со следующими значениями полей
order.State=Active
order.State=Canceled
При отмене заявки первый ответ нарушает логику работы робота и он повторно пытается отправить запрос на отмену.
Если изменение статуса ордера инициировано биржей, тогда приходит только один нужный ответ, проблемы нет.
Как сделать так, чтобы не приходили ответы из пунктов 1 в примерах выше?
В качестве дилетантского предположения, кажется, что нужно в функции QuikService.Send(request, timeout)
удалить строку EnvelopeQueue.Add(request);
Но боюсь, что могу в корне сломать логику работы Q#, поэтому нужен совет.
The text was updated successfully, but these errors were encountered:
Уважаемые знатоки, подскажите, пожалуйста, что нужно модифицировать в коде Q#, чтобы избежать двойных ответов при запросе размещения заявки или отмены?
Скорее всего никак. Несколько колбеков на одну транзакцию это не результат работы кода Q#, а фича Квика, о которой много лет назад разработчики говорили. Q# лишь транслирует Вам то, что выдал Квик.
Уважаемые знатоки, подскажите, пожалуйста, что нужно модифицировать в коде Q#, чтобы избежать двойных ответов при запросе размещения заявки или отмены?
Запрос на размещение заявки делаю с помощью Orders.CreateOrder (order)
после этого приходит два ответа в событие OnOrder (order) со следующими значениями полей
При запросе отмены заявки, которую делаю с помощью Orders.KillOrder (order)
после этого приходит два ответа в событие OnOrder (order) со следующими значениями полей
При отмене заявки первый ответ нарушает логику работы робота и он повторно пытается отправить запрос на отмену.
Если изменение статуса ордера инициировано биржей, тогда приходит только один нужный ответ, проблемы нет.
Как сделать так, чтобы не приходили ответы из пунктов 1 в примерах выше?
В качестве дилетантского предположения, кажется, что нужно в функции QuikService.Send(request, timeout)
удалить строку EnvelopeQueue.Add(request);
Но боюсь, что могу в корне сломать логику работы Q#, поэтому нужен совет.
The text was updated successfully, but these errors were encountered: