[]
в pine-script называется Оператор ссылки на историю .При этом можно ссылаться на исторические значения любой переменной типа ряда (значения, которые переменная имела на предыдущих барах).Так, например, close[1]
возвращает вчерашнюю цену закрытия, которая также является серией.
Итак, если мы сломаем ваш код (начиная с самого первого бара):
testfu(x,y)=>
sum = 0.0 // You set sum to 0.0
sum:= 1+ nz(sum[1]) // You add 1 to whatever value sum had one bar ago
// which is 0, because it's the first bar (no previous value)
sum // Your function returns 1 + 0 = 1 for the very first bar
Теперь для второго бара:
testfu(x,y)=>
sum = 0.0 // You set sum to 0.0
sum:= 1+ nz(sum[1]) // You add 1 to whatever value sum had one bar ago
// which is 1, because it was set to 1 for the first bar
sum // Your function now returns 1 + 1 = 2 for the second bar
И т. Д.
Посмотрите на следующий код и диаграмму.График имеет 62 баров , а sum
начинается с 1
и продолжается до 62
.
//@version=3
study("My Script", overlay=false)
foo() =>
sum = 0.0
sum:= 1 + nz(sum[1])
sum
plot(series=foo(), title="sum", color=red, linewidth=4)