После апдейта до версии 4.0 появились ошибки в перерегистрации заявок:
- лимитные ордера - перерегистрация цены работает, изменение обьема - выдается ошибка сервера
- стоп ордера - перерегистрация цены/обьема работает, но не удаляется старая стоп заявка в квике ps новый ордер копируется через Clone(), Type = QuikStopConditionTypes.StopLimit, ExpiryDate = DateTime.Today;
Comentarios (22)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
какая версия? что говорит Verifier? на какой версии работали до?
1)версия 4.0 2)что такое Verifier? 3)предыдущая версия 3.2.7
первый, 4.0.0 проверка в таблицы стоп заявок не нашла одну колонку, добавил - завтра проверю результат и отпишусь
Используйте 4.0.4, в 4.0.0 были ошибки, они уже исправлены.
стоп заявки стали сниматься работать коректно на 4.0.4 лимитки ошибка(замена обьема заявки) осталась
что за ошибка сервера? идёт ли перерегистрация такой заявки через сам квик?
Через квик идет. Текст ошибки длинный - все не сохраняется: "Сервер для транзакции 'ACTION=MOVE_ORDERS;TRANS_ID=XXXXXXX;CLASSCODE=SPBFUT;SECCODE=RIZ1;MODE=1;FIRST_ORDER_NUMBER=YYYYYY;FIRST_ORDER_NEW_PRICE=154870;FIRST_ORDER_NEW_QUANTITY=2;' вернул неправильное сообщение 'Транзакция не поддерживается..."
Распечатайте всю транзакцию через это
Полный текст сообщения ошибки: Сервер для транзакции 'ACTION=MOVE_ORDERS; TRANS_ID=60127389; CLASSCODE=SPBFUT; SECCODE=RIZ1; MODE=1; FIRST_ORDER_NUMBER=5812605396; FIRST_ORDER_NEW_PRICE=155785; FIRST_ORDER_NEW_QUANTITY=2;' вернул неправильное сообщение 'Транзакция не поддерживается' по передвинутым заявкам.
Бред тогда какой-то. Транзакция и правда неверная. Нет всей информации что относится ко второй заявке. Покажите как делаете Move и распечатайте все поля которые передаёте
а что еще нужно для изменения заявки кроме цены и обьема?
Распечатайте все поля передаваемые. Конкретные значения - от Id до цены с объёмом.
попробовал Console.WriteLine(_trader.GetTransaction(_NewOrder.TransactionId).ToString()); Вызывает эксешн: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в квике соответсвующий TransactionId есть
Значит либо _trader либо _NewOrder = null. Может проще дебагером посмотреть чем гадать? :)
Оригинальный ордер
Клонированный ордер

разберитесь где тот null из-за которого падает. у вас в коде ошибка, вам доступен ваш же стэк трэйс - удалённо тут никак не помочь :)
Новый ордер получается Clone() оригинального, где же тут ошибка может быть.... Тем более этот же код с изменением цены работает, ошибка со стороны сервера квик возвращается
У вас в коде NullReferenceException. Зачем гадаете где чего не так? Сказал давно - проще посмотреть под дебагером где там NRE.
И вопрос на засыпку - что у вас ProcessDataError пишет?
молчит ProcessDataError Еще раз повторюсь, нету никаких ошибок при отправлении заявки. Может с версии 4.0+ при клонировании заявки нужно какие нибудь параметры вручную заполнять?
так здесь что за exception раз нет ошибок?
В общем выяснилось, что проблема в едином счете. Единый счёт не поддерживает MOVE_ORDER с MODE=1. Вот тема на форуме квика