Если вы хотите сослаться на предыдущие значения, вы можете использовать Оператор ссылки на историю []
.
Тогда все, что вам нужно сделать, это проверить ваши условия и использовать []
с оператором :=
, если вы хотите переназначить значение ранее определенной переменной.
Вот небольшой пример, основанный на вашем псевдокоде. Цвет фона меняется в зависимости от ваших условий. Я также построил две горизонтальные линии, чтобы увидеть верхний / нижний пороги. Таким образом, вы можете видеть, что цвет фона остается тем же, когда цена находится между верхним и нижним порогом.
//@version=3
study("My Script", overlay=true)
upper_threshold = input(title="Upper Threshold", type=integer, defval=7000)
lower_threshold = input(title="Lower Threshold", type=integer, defval=6000)
color_value = gray
if (close >= upper_threshold)
color_value := green
else
if (close <= lower_threshold)
color_value := red
else
color_value := nz(color_value[1])
bgcolor(color=color_value, transp=70)
hline(price=upper_threshold, title="Upper Line", color=olive, linestyle=dashed, linewidth=2)
hline(price=lower_threshold, title="Lower Line", color=orange, linestyle=dashed, linewidth=2)