Обычно заявки двигаются без проблем. Сегодня получил ошибку:
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
Kommentare (14)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Скорее всего сервер прислал недопустимость передвижения заявки, но все равно, такое лучше обрабатывать.
в последнее время ошибка стала часто появляться. заявка не двигается. в чем еще может быть проблема? двигаться должна, никаких причин не двигаться не вижу. денег на счету достаточно. при движении старая должна сниматься, новая ставиться. когда происходит ошибка, в квике не вижу никаких изменений - старая заявка остается, новая не появляется.
Символ RiM1@RTS, S#3.1.10.0
Посмотрите Order.Messages.
31.05.2011 15:46:08 [OpenWealth.Base.Common.ForEach] Заявка, с биржевым номером 3996927576, успешно зарегистрирована. 31.05.2011 15:46:08 [OpenWealth.Base.Common.ForEach] Транзакция не поддерживается
код следующий: var newOrder = _order.Clone(); newOrder.Price = GetNewPrice(); newOrder.Volume = _order.Balance; newOrder.Balance = 0; ReRegisterOrder(_order, newOrder);
Ошибку в новой версии пофиксим, чтобы выводилось понятное. Но все равно ситуацию не изменит - заявки не регистрируются с новой ценой не по причине S#.
можете подсказать, к кому обратиться с этой проблемой? и с чем это вообще может быть связано?
Я бы начал с создателей Квика.
правильно ли я понимаю, что при 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>;
Нашел тему http://quik.ru/forum/import/57855/ MOVE_ORDERS MODE=1 не работает с едиными счетами.
Вопрос закрыт.
Михаил, еще один вопрос. Для таких случаев есть возможность переставлять заявки на FORTS способом, как это делается на ММВБ? Что-то типа флага isForts = false для forts.
ReRegisterOrder для фортс работает - вчера проверил в роботе.
ReRegisterOrder для фортс работает - вчера проверил в роботе. Читайте выше - не работает с единым счетом. И то не всегда. В половине случаев работает.
теперь понял. я даже не знал про такое понятие как единый счёт :)