Вы явно не понимаете, что делаете
Это крайне точно подмечено ).
Но, если позиция в этой свече не существует, либо она уже закрыта, там так же будет 0.
Отличное замечание, оно решило проблему. Если бы она появилась в документации (прям "как есть"), думаю, это помогло бы многим в будущем.
Т.е. тот же цикл (см. первый пост), но построенный по условию
while(sec.Positions.Where(p => p.IsActive && p.GetStop(i) == 0 && p.EntryBarNum <= i ).Count() > 0){
// ставим стоп
}
работает как ожидается.
ЗЫ
Судя по вашему коду, вы ожидаете иметь сотню одновременно открытых позиций по бумаге?
Ну, сто не сто, а -дцать...почему бы и нет...Это ж вопрос логики набора позиции....