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

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


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

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

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

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

            ... 
        }
}

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


Теги:


Спасибо:


Andrii

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


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

 //вычисляем значение лонга
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

Спасибо:

duzers

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


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

Спасибо:

Mikhail Sukhov

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


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

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

Спасибо:

duzers

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


версия 4.2.1.3

Спасибо:

Mikhail Sukhov

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


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

Спасибо:

duzers

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


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

Спасибо:

duzers

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


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

Спасибо:


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

loading
clippy