класс взят из примера
public class SmaStrategy : Strategy
{
private void ProcessCandle(Candle candle)
{
...
// добавляем новую свечку
LongSma.Process(candle);
ShortSma.Process(candle); // Здесь выкидывает ошибка, {"Коллекция была изменена; невозможно выполнить операцию перечисления."}
// вычисляем новое положение относительно друг друга
var isShortLessThenLong = ShortSma.GetCurrentValue() < LongSma.GetCurrentValue();
...
}
}
При том что лонг отрабатывает, а шорт выкидывает ошибку, не могу разобраться какая коллекция изменена и кем это происходит при чтении из квика. подскажите какая коллекция изменена?
Kommentare (7)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Ошибка вылазит в других кусках, но в том же месте:
ошибка: <mark>Collection was modified; enumeration operation may not execute.</mark>
здесь наверное баг, что-то идет не так, наверное буфер кидает или что-то не то, помогите разобраться, может слишком большая история, но оно не доходит до ограничения, всего 31 000
screen: http://prntscr.com/1cx4mx
У меня такая же проблема. Решили ли вы свою? Если да, то не могли бы подсказать?
Какая версия S#?
версия 4.2.1.3
Приведите текст ошибки
текст. таймфрейм 1 тик, если это важно
вроде решил задачу удалением из стратегии строчек LongSma.Process(candle); ShortSma.Process(candle);