Ошибки 3.1.8 - MQS и TPS
Atom Ответить
06.05.2011


SMS 13:57:38.8970000 Стратегия запущена.
SMS 18:08:15.3345000 [MQS] Стратегия запущена.
SMS 18:08:19.2876250 [MQS] Регистрация новой заявки на Buy с ценой 187355 и объемом 1.
SMS 18:08:24.5688750 [MQS] Заявка 50192976 на Buy отправлена с ценой 187355 объемом 1.
SMS 18:08:25.8345000 [MQS] Цена текущей 187355 и лучшей 187370.
SMS 18:08:25.8345000 [MQS] Котирование заявки 50192976 на Buy с ценой 187355 объемом 1.
SMS 18:08:30.5688750 [MQS] System.ArgumentException: Транзакции 'ACTION=MOVE_ORDERS; TRANS_ID=50192977; CLASSCODE=SPBFUT; SECCODE=RIM1; MODE=0; FIRST_ORDER_NUMBER=3778516298; FIRST_ORDER_NEW_PRICE=187370; FIRST_ORDER_NEW_QUANTITY=1;' не была зарегистрирована. Причина 'Ошибка перестановки заявок. [FORTS] "Не найдена заявка для перестановки.".'.
Parameter name: transactionTxt
at #=qD2xOlf6klYFMEqtIvCYIe2XY4xXoVkHgFfkByZAQ1qw=.#=qNXOXmWEmwXdPYi_TkF4W6bPcEpPDuFGL9tlQ874ryM0=(String #=qXZ5zwAATKIu4VLaGz5N8aw==, OrderStatus& #=qltJU$y_613bV2l5sHrIgUg==, UInt32& #=qDIqRM$HiFNGyjx9swP6UQQ==, Int64& #=q1MgiXGnPVgibGvM0SxigGQ==, String& #=qFgkUO6WJ3vkER9CkFyqNGw==)
at Ecng.Trading.Quik.QuikTrader.#=qGIuaBOZtIYYqSbmJcRu5_pl9N0wlmbfV42B1_Mb9kYg=(Order #=qKBg6VgHRf_u81iatG7ZOAg==, TransactionBuilder #=qoS97U74WoFWYvGl4_AC_vQ==)
at Ecng.Trading.Quik.QuikTrader.OnReRegisterOrder(Order oldOrder, Order newOrder)
at Ecng.Trading.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder)
at Ecng.Trading.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder)
at Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess()
at Ecng.Trading.Algo.Strategies.Strategy.#=qUL8QvVim672IJySZ2YTQUUsFaJn7CGayxOKgwtzvhpk=.#=q8yYRTpqONiObQC8C5scz5A==()
SMS 18:08:30.5688750 [MQS] Стратегия останавливается.
SMS 18:08:30.7251250 [TPS] Стратегия запущена.
SMS 18:36:42.1157500 [MQS] Стратегия запущена.
SMS 18:36:42.8032500 [MQS] Регистрация новой заявки на Sell с ценой 186560 и объемом 2.
SMS 18:36:43.2563750 [MQS] Заявка 50192978 на Sell отправлена с ценой 186560 объемом 2.
SMS 18:36:44.2563750 [MQS] Цена текущей 186560 и лучшей 186555.
SMS 18:36:44.2563750 [MQS] Котирование заявки 50192978 на Sell с ценой 186560 объемом 2.
SMS 18:36:45.6626250 [TPS] Стратегия запущена.
SMS 18:36:46.7251250 System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
at System.Collections.Generic.List`1.Enumerator.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
at Ecng.Trading.Algo.Strategies.Strategy.#=qDEfeO4l1j8zLEDu9Vd9OJtzOv6xz2s_g728Qk0yAhZ4=.#=qdjhgixd9xBF$tuxj$TRmhRHg3u68VrzzXcLNwzIjAm8=(IStrategyChildStrategyList #=qudvEAW9VYqjkOB1dpZ38oQ==)
at Ecng.Collections.CollectionHelper.SyncGet[TCollection,TResult](TCollection collection, Func`2 func)
at Ecng.Trading.Algo.Strategies.Strategy.#=qsnomqswcij2P6ah0kflSEHo8I_UWXiC8Df2cwMz64AY=(DateTime #=qmgzjhBbbE6jLjBbOvSCeeA==)
at Ecng.Trading.Algo.Strategies.Strategy.#=qUL8QvVim672IJySZ2YTQUUsFaJn7CGayxOKgwtzvhpk=.#=q8yYRTpqONiObQC8C5scz5A==()
SMS 18:49:09.0063750 [TPS] System.NullReferenceException: Object reference not set to an instance of an object.
at Ecng.Trading.Algo.Strategies.QuotingStrategy.OnError(Exception error)
at Ecng.Trading.Algo.Strategies.Strategy.#=qUL8QvVim672IJySZ2YTQUUsFaJn7CGayxOKgwtzvhpk=.#=q8yYRTpqONiObQC8C5scz5A==()
SMS 18:49:09.0063750 [TPS] Стратегия останавливается.
SMS 18:49:10.0376250 [TPS] Котирование закончилось.
SMS 18:49:10.1470000 [TPS] Стратегия остановлена.



Теги:


Спасибо:




3 Ответов
Mikhail Sukhov

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


1. [FORTS] "Не найдена заявка для перестановки." - это не к S#.'
2. Collection was modified; enumeration operation may not execute. Я так и не смог найти ошибку. Подозреваю, что у вас какой-то специфический код. Может стоит минимизировать приложение до некоего теста, чтобы можно было отловить ошибку?
3. Object reference not set to an instance of an object. Пофиксил в 3.1.9
Спасибо:

sklementiev

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


Mikhail Sukhov Перейти
2. Collection was modified; enumeration operation may not execute. Я так и не смог найти ошибку. Подозреваю, что у вас какой-то специфический код. Может стоит минимизировать приложение до некоего теста, чтобы можно было отловить ошибку?


код основан на примерах из доки, ничего специфического. очень похоже на проблемы с потоками. Михаил, не могли бы Вы еще раз внимательно пройтись по этому колл стеку? (я бы рад помочь, но не умею переводить с обфускаторского на C# :)
Автор топика
Спасибо:

Mikhail Sukhov

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


sklementiev Перейти
Mikhail Sukhov Перейти
2. Collection was modified; enumeration operation may not execute. Я так и не смог найти ошибку. Подозреваю, что у вас какой-то специфический код. Может стоит минимизировать приложение до некоего теста, чтобы можно было отловить ошибку?


код основан на примерах из доки, ничего специфического. очень похоже на проблемы с потоками. Михаил, не могли бы Вы еще раз внимательно пройтись по этому колл стеку? (я бы рад помочь, но не умею переводить с обфускаторского на C# :)


Это не проблема с потоками. Это модификация коллекции во время ее перебора (может быть и в одном потоке). Коллекция ясна - Strategy.ChildStrategies. Можете показать участки кода, где с ней работаете?
Спасибо:


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

loading
clippy