При запуске стратегии с котированием через RealTimeTestTrader<QuikTrader> вылезает ошибка:
Регистрация новой заявки на Sell с ценой 198755 и объемом 1. Заявка 0 на Sell отправлена с ценой 198755 объемом 1. Цена текущей 198755 и лучшей 198750. Котирование заявки 0 на Sell с ценой 198755 объемом 1. System.ArgumentException: Заявка не имеет информацию о шлюзе. в Ecng.Trading.Algo.TraderHelper.GuarantyCancelOrder(Order order) в Ecng.Trading.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Func
1 getNewPrice, Func1 getNewVolume, Boolean isForts) в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess() в Ecng.Trading.Algo.Strategies.Strategy.#=q_7aAU8b_zEypCQ8s7GI9rpJ4uiSQ4jqTKo 3$1bhmZoo=.#=q1xDZDIblA8UZbmo72Ys1aA==() Стратегия останавливается. Котирование закончилось. Стратегия остановлена.
Comentarios (8)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
Это бага. Нашел, исправил.
В [3.0.15] вылезает новая ошибка:
У вас какая-то интересная ошибка, если еще судить и по тому, что Вы пишите в форуме Смарт. Вы точно второй раз котирование для одной и той же заявки не вызываете?
в [3.0.17] ошибка осталась
Каким образом тот пример с котированием необходимо переделать, чтобы использовался RealTimeTestTrader?
Я при проверке RealTimeTestTrader комментирую и раскомментирую приведенные участки кода, в стратегии ничего не меняю.
[3.0.18] Теперь не вываливается, но судя по логу, котирование работает как-то странно:
Смущают записи вида > Заявка 59007121 не имеет состояния. И судя по потому, что дальше ничего по стратегии не выполняется, заявка так и не исполнилась (по коду дальше When(order.Matched()).Do(...)), а котирование остановилось. До этого запускал пару раз, после нескольких сообщений "Заявка ..... не имеет состояния.", условие исполнения заявки срабатывало и стратегия продолжала работать.