x1=thisCCI >= 0 ?bufferUp1:thisCCI <= 0 ?bufferDn1:x1[1]
Приведенный выше код в Pinescript V3 не показывает ошибок. Оно работает.
В Pinescript V5 отображается следующее сообщение об ошибке, относящееся к последней переменной в тройной переменной -> x1[1] :
Undeclared identifier 'x1'
Как это решается?





Начиная с версии 3, переменные, ссылающиеся на себя, удалены. Итак, вам нужно сначала объявить переменную.
x1 = 0.0
x1 := thisCCI >= 0 ? bufferUp1 : thisCCI <= 0 ? bufferDn1 : x1[1]
Пользователь Vitruvius предоставил решение этой проблемы, но в целом — и я раньше об этом не знал — у вас должна быть возможность автоматически конвертировать устаревший код в версию 5.
Если в редакторе Pine в правом верхнем углу нажать «Дополнительно», появится возможность конвертировать код, см. снимок экрана. В данном случае с V3 на V4, а затем вы можете повторить то же самое, чтобы перейти с V4 на V5.
По крайней мере, это меня никогда не подводило, когда я пытался работать над старыми сценариями.