Не должен, но может, если очень хочется. smile
2й вариант ближе к текущей "реальности".

"Контракт" индикатора с программой заключается в строке (в Вашем случае):
public IList<double> Execute(IList<double> list1)
это значит, что программа дает индикатору список значений и ждет в ответ тоже список. Неявно подразумевается, что длины списков должны быть одинаковы.
Список каждый раз будет разным, но этого никто не гарантирует.
_________________________
Не пишите мне! Никому ничего делать не буду.