Коллекция была изменена после создания экземпляра перечислителя.

Коллекция была изменена после создания экземпляра перечислителя.
Atom
10.02.2018
Prival


Версия 4.4.4 RealTimeEmulationTrader1 Иногда при отправке ордера выскакивает вот такая ошибка. Подскажите что можно сделать? 23:40:07.631| |SecurityMarketEmulator|Заявка 83897803 полностью исполнена. 23:40:07.631| |SecurityMarketEmulator|Сделка 21 заявки 83897803 P=119130,0 V=1. 23:40:07.631| |RealTimeEmulationTrader1|Order changed: 83897803/21 RIH8@FORTS Симулятор Покупка Цена=119130.0 Объем=1 Сост=Done Бал=0 23:40:07.655|Error |EmulationMessageAdapter|System.InvalidOperationException: Коллекция была изменена после создания экземпляра перечислителя. в System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource) в System.Collections.Generic.SortedSet1.Enumerator.MoveNext() в System.Collections.Generic.SortedDictionary2.Enumerator.MoveNext() в System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в StockSharp.Algo.Testing.MarketEmulator.SecurityMarketEmulator.BuildQuoteChanges(SortedDictionary2 quotes) в StockSharp.Algo.Testing.MarketEmulator.SecurityMarketEmulator.CreateQuoteMessage(SecurityId securityId, DateTimeOffset timeStamp, DateTimeOffset time) в StockSharp.Algo.Testing.MarketEmulator.SecurityMarketEmulator.AcceptExecution(DateTimeOffset time, ExecutionMessage execution, ICollection1 result) в StockSharp.Algo.Testing.MarketEmulator.SecurityMarketEmulator.Process(Message message, ICollection1 result) в StockSharp.Algo.Testing.MarketEmulator.SecurityMarketEmulator.Process(Message message, ICollection1 result) в StockSharp.Algo.Testing.MarketEmulator.SecurityMarketEmulator.Process(Message message) в StockSharp.Algo.Testing.MarketEmulator.SendInMessage(Message message) в StockSharp.Algo.Testing.EmulationMessageAdapter.OnSendInMessage(Message message) в StockSharp.Messages.MessageAdapter.SendInMessage(Message message) 23:40:07.656|Error |RealTimeEmulationTrader1|System.InvalidOperationException: Сообщение 'Execution,T(L)=2018/02/09 23:40:07.656,T(S)=2018/02/09 23:40:07.656,(Transaction),Sec=S#:@, Native:,Type:,Ord=/0/83897803,Fail=System.InvalidOperationException: Коллекция была изменена после создания экземпляра перечислителя. в System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource) в System.Collections.Generic.SortedSet1.Enumerator.MoveNext() в System.Collections.Generic.SortedDictionary2.Enumerator.MoveNext() в System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в StockSharp.Algo.Testing.MarketEmulator.SecurityMarketEmulator.BuildQuoteChanges(SortedDictionary2 quotes) в StockSharp.Algo.Testing.MarketEmulator.SecurityMarketEmulator.CreateQuoteMessage(SecurityId securityId, DateTimeOffset timeStamp, DateTimeOffset time) в StockSharp.Algo.Testing.MarketEmulator.SecurityMarketEmulator.AcceptExecution(DateTimeOffset time, ExecutionMessage execution, ICollection1 result) в StockSharp.Algo.Testing.MarketEmulator.SecurityMarketEmulator.Process(Message message, ICollection1 result) в StockSharp.Algo.Testing.MarketEmulator.SecurityMarketEmulator.Process(Message message, ICollection1 result) в StockSharp.Algo.Testing.MarketEmulator.SecurityMarketEmulator.Process(Message message) в StockSharp.Algo.Testing.MarketEmulator.SendInMessage(Message message) в StockSharp.Algo.Testing.EmulationMessageAdapter.OnSendInMessage(Message message) в StockSharp.Messages.MessageAdapter.SendInMessage(Message message),Price=0,OrdVol=,TrVol=,Bal=,TId=,Pf=,TPrice=,UId=,State=Failed' привело к ошибке обработки. ---> System.InvalidOperationException: Done -> Failed в StockSharp.Algo.TraderHelper.CheckModification(OrderStates prev, OrderStates curr) в StockSharp.Algo.EntityCache.<>c__DisplayClass75_0.<ProcessOrderFailMessage>b__0(Tuple2 t) в System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() в StockSharp.Algo.Connector.ProcessOrderMessage(Order o, Security security, ExecutionMessage message, Int64 transactionId) в StockSharp.Algo.Connector.ProcessTransactionMessage(Order order, Security security, ExecutionMessage message, Int64 transactionId) в StockSharp.Algo.Connector.ProcessExecutionMessage(ExecutionMessage message) в StockSharp.Algo.Connector.OnProcessMessage(Message message) --- Конец трассировки внутреннего стека исключений --- 23:40:07.674| |RealTimeEmulationTrader1|RegisterOrder: 0/ RIH8@FORTS Симулятор Продажа Цена=0 Объем=1 Сост=None Бал=0 23:40:07.674| |RealTimeEmulationTrader`1|New order: 83897804/ RIH8@FORTS Симулятор Продажа Цена=0 Объем=1 Сост=Pending Бал=1 23:40:07.681| |SecurityMarketEmulator|Заявка 83897804 зарегистрирована. 23:40:07.681| |SecurityMarketEmulator|Заявка 83897804. Исполнение объема 1 по цене 119020. 23:40:07.681| |SecurityMarketEmulator|Заявка 83897804 полностью исполнена. 23:40:07.681| |SecurityMarketEmulator|Сделка 22 заявки 83897804 P=119020 V=1.

    lock(lockObj)
    {
....
    }

Не помогает.




Спасибо:




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

loading
clippy