ошибка при движении заявки ArgumentOutOfRangeException
Atom Ответить
25.05.2011


Обычно заявки двигаются без проблем. Сегодня получил ошибку:

25.05.2011 13:04:47 [OpenWealth.StockSharp.TraderIface.TraderProcessDataError] ERROR: Ошибка обработки данных System.ArgumentOutOfRangeException: Заданный аргумент находится вне диапазона допустимых значений.
Имя параметра: i
в System.Text.RegularExpressions.MatchCollection.get_Item(Int32 i)
в Ecng.Trading.Quik.QuikTrader.#=qQV3LsYT8ciJ_SaWg100MnA==(Order #=qzEZQw$Xhv2Ia$jm6RwpdIw==, Int64 #=qnF0705Wdr_qmOlb6D7WoAg==, String #=qQYRBhBijJ$TiER07afv4uQ==, Boolean #=qi8Qa1xVwOcoWGAJWxrktHQ==, Codes #=qmcDbrxWhUQIhxtZad7lBvA==, Exception #=qlZklQHduwcTWGf6SU_EISg==)
в Ecng.Trading.Quik.QuikTrader.#=qu6MlY3d_9FJ$6TvVz5KplavzxCgTVNjZwUIE2KC0RpY=(UInt32 #=qPQjGF8HZI_e31J8Q1GwUOw==, Codes #=qe8A9wptGfO6BVsP68EKBcg==, Codes #=qwEF8$x$s0KbSD1Q96z6$Pg==, OrderStatus #=q3iNlQ1SjHBCoIs0k2oBOTQ==, Int64 #=qdlQZ6LCObQYMagvXLylmeQ==, String #=qEzN$RjTb0GwU0OAONa0Usw==)


_order = ReRegisterOrder(_order, GetNewPrice, () => _order.Balance, _order.Security.Exchange == Exchange.Rts);

S# 3.0.19.0

Теги:


Спасибо:




14 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 25.05.2011
Ответить


Greene-nsk Перейти
Обычно заявки двигаются без проблем. Сегодня получил ошибку:


Скорее всего сервер прислал недопустимость передвижения заявки, но все равно, такое лучше обрабатывать.
Спасибо:

Greene-nsk

Фотография
Дата: 30.05.2011
Ответить


в последнее время ошибка стала часто появляться. заявка не двигается. в чем еще может быть проблема? двигаться должна, никаких причин не двигаться не вижу. денег на счету достаточно.
при движении старая должна сниматься, новая ставиться. когда происходит ошибка, в квике не вижу никаких изменений - старая заявка остается, новая не появляется.

Символ RiM1@RTS, S#3.1.10.0
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 30.05.2011
Ответить


Greene-nsk Перейти
в последнее время ошибка стала часто появляться. заявка не двигается. в чем еще может быть проблема? двигаться должна, никаких причин не двигаться не вижу. денег на счету достаточно.
при движении старая должна сниматься, новая ставиться. когда происходит ошибка, в квике не вижу никаких изменений - старая заявка остается, новая не появляется.

Символ RiM1@RTS, S#3.1.10.0


Посмотрите Order.Messages.
Спасибо:

Greene-nsk

Фотография
Дата: 31.05.2011
Ответить


31.05.2011 15:46:08 [OpenWealth.Base.Common.ForEach] Заявка, с биржевым номером 3996927576, успешно зарегистрирована.
31.05.2011 15:46:08 [OpenWealth.Base.Common.ForEach] Транзакция не поддерживается
Автор топика
Спасибо:

Greene-nsk

Фотография
Дата: 31.05.2011
Ответить


код следующий:
var newOrder = _order.Clone();
newOrder.Price = GetNewPrice();
newOrder.Volume = _order.Balance;
newOrder.Balance = 0;
ReRegisterOrder(_order, newOrder);
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 31.05.2011
Ответить


Greene-nsk Перейти
код следующий:
var newOrder = _order.Clone();
newOrder.Price = GetNewPrice();
newOrder.Volume = _order.Balance;
newOrder.Balance = 0;
ReRegisterOrder(_order, newOrder);


Ошибку в новой версии пофиксим, чтобы выводилось понятное. Но все равно ситуацию не изменит - заявки не регистрируются с новой ценой не по причине S#.
Спасибо:

Greene-nsk

Фотография
Дата: 31.05.2011
Ответить


можете подсказать, к кому обратиться с этой проблемой? и с чем это вообще может быть связано?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 31.05.2011
Ответить


Greene-nsk Перейти
можете подсказать, к кому обратиться с этой проблемой? и с чем это вообще может быть связано?


Я бы начал с создателей Квика.
Спасибо:

Greene-nsk

Фотография
Дата: 31.05.2011
Ответить


правильно ли я понимаю, что при ReRegisterOrder(_order, newOrder) для Ri, вами используется TRANS2QUIK_SEND_ASYNC_TRANSACTION с транзакцией вида:
Перестановка заявок на срочном рынке FORTS
ACTION=MOVE_ORDERS; TRANS_ID=333; CLASSCODE=SPBFUT; SECCODE=RIM1; MODE=1; FIRST_ORDER_NUMBER=<_order.id>; FIRST_ORDER_NEW_PRICE=<newOrder.Price>; FIRST_ORDER_NEW_QUANTITY=<newOrder.Volume>;
Автор топика
Спасибо:

Greene-nsk

Фотография
Дата: 31.05.2011
Ответить


Нашел тему http://quik.ru/forum/import/57855/
MOVE_ORDERS MODE=1 не работает с едиными счетами.

Вопрос закрыт.
Автор топика
Спасибо:

Greene-nsk

Фотография
Дата: 01.06.2011
Ответить


Михаил, еще один вопрос.
Для таких случаев есть возможность переставлять заявки на FORTS способом, как это делается на ММВБ?
Что-то типа флага isForts = false для forts.
Автор топика
Спасибо:

Alexander

Фотография
Дата: 01.06.2011
Ответить


Greene-nsk Перейти
Михаил, еще один вопрос.
Для таких случаев есть возможность переставлять заявки на FORTS способом, как это делается на ММВБ?
Что-то типа флага isForts = false для forts.



ReRegisterOrder для фортс работает - вчера проверил в роботе.
Спасибо:

Greene-nsk

Фотография
Дата: 01.06.2011
Ответить


ReRegisterOrder для фортс работает - вчера проверил в роботе.[/quote]
Читайте выше - не работает с единым счетом. И то не всегда. В половине случаев работает.
Автор топика
Спасибо:

Alexander

Фотография
Дата: 01.06.2011
Ответить


Greene-nsk Перейти
Читайте выше - не работает с единым счетом. И то не всегда. В половине случаев работает.


теперь понял. я даже не знал про такое понятие как единый счёт :)
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy