Стратегия из примера кидает ошибку

Стратегия из примера кидает ошибку
Atom
6/27/2013
Andrii


класс взят из примера

public class SmaStrategy : Strategy
{  
      private void ProcessCandle(Candle candle)
        {
            ...

            // добавляем новую свечку
            LongSma.Process(candle);
            ShortSma.Process(candle); // Здесь выкидывает ошибка, {"Коллекция была изменена; невозможно выполнить операцию перечисления."}

            // вычисляем новое положение относительно друг друга
            var isShortLessThenLong = ShortSma.GetCurrentValue() < LongSma.GetCurrentValue();

            ... 
        }
}

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


Tags:


Thanks:


Andrii

Avatar
Date: 7/1/2013
Reply


Ошибка вылазит в других кусках, но в том же месте:

 //вычисляем значение лонга
var longValue = candle.State == CandleStates.Finished ? new ChartIndicatorValue(Strategy.LongSma, Strategy.LongSma.Process(candle)) : null;

ошибка: Collection was modified; enumeration operation may not execute.

здесь наверное баг, что-то идет не так, наверное буфер кидает или что-то не то, помогите разобраться, может слишком большая история, но оно не доходит до ограничения, всего 31 000

screen: http://prntscr.com/1cx4mx

Thanks:

duzers

Avatar
Date: 1/19/2014
Reply


У меня такая же проблема. Решили ли вы свою? Если да, то не могли бы подсказать?

Thanks:

Mikhail Sukhov

Avatar
Date: 1/19/2014
Reply


duzers: У меня такая же проблема. Решили ли вы свою? Если да, то не могли бы подсказать?

Какая версия S#?

Thanks:

duzers

Avatar
Date: 1/20/2014
Reply


версия 4.2.1.3

Thanks:

Mikhail Sukhov

Avatar
Date: 1/20/2014
Reply


Приведите текст ошибки

Thanks:

duzers

Avatar
Date: 1/20/2014
Reply


текст. таймфрейм 1 тик, если это важно

Thanks:

duzers

Avatar
Date: 1/22/2014
Reply


вроде решил задачу удалением из стратегии строчек LongSma.Process(candle); ShortSma.Process(candle);

Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy