//@version=4
study("Var keyword example")
a1_1 = 0.0
var float a2_1 = 0.0
a1_2 = 0.0
var float a2_2 = 0.0
if close > open
var x1 = close
x2 = close
a1_1 := x1
a1_2 := x2
a2_1 := x1
a2_2 := x2
plot(a1_1, color = color.red)
plot(a1_2, color = color.yellow)
plot(a2_1, color = color.blue)
plot(a2_2, color = color.green)
if-блок запускает неявный foreach для всей серии, не явно же применяя предикат из заголовка блока и обходя только подошедшие данные.
А переменные, даже если они указаны одной единой переменной (например, один int или один float), на самом деле всегда являются неявными сериями данных.
Это настолько контр-интуитивно, что я вообще не представляю в какой шизоидный разум пришла эта идея.