В скрипте ошибки. В Формуле используются наименования, которые к не не подключены. Очевидно в блоке вместо
open1 + (Math.Log(close[i-1] - open[i-1]))
д.б.
ОбновлЗначен + (Math.Log(Разжать1[i-1] - Разжать[i-1]))
В формуле Начинать с стоит 2, это лишнее, хотя правильно, что в данном случае использован Торговать с бар 1.
Обновляемое значение используется в выходе, по-этому флаг "не очищать" обязателен!
Вместо t<> надо t==100000
Кажется функция Math.Log , в данном случае, лишней.