Да, ошибка связана с вашей линией
setcsf = t - csrf[int(i-1)] * sm + csrf[int(i-1)]
В сообщении об ошибке
IndexError: index 99 is out of bounds for axis 0 with size 1
говорится, что вы пытались получить доступ к индексу 99 (int(i-1)
имеет значение 99) csrf
по оси 0 (его единственная ось), когда он имеет только размер 1, поэтому единственный индекс, к которому вы могли бы получить доступ, был бы 0.
Кроме того, ваш пример кода неa Пример минимального, полного и проверяемого значения .Откуда берется переменная close
?
Может быть, вы хотите использовать n
вместо i
, как показано в следующей строке?
setcsf = t - csrf[int(n-1)] * sm + csrf[int(n-1)]
Это имеет смысл, поскольку n-1
всегда будет ссылаться на индекс предыдущего цикла.Вы бы не получили IndexError
.
Или, может быть, вы хотите инициализировать csrf
заранее значениями?
csrf = np.array([0] * 198)