该函数为什么返回整数序列?
称为 d = find_bar(time,20)
当我使用最低的(close,d) 我收到一个d为整数序列的错误。
find_bar(time_array,bar) =>
counter = bar
o = 0
what = time_array[0]
if bar == 0
0
else
for i = 1 to 100000
if time_array[i]-what[0]!=0
counter:= counter - 1
what:= time_array[i]
if counter == 0
o := i
break
o[0]
答案 0 :(得分:1)
这里有两件事。
1)pine-script中的[]
运算符返回系列类型的值。因此,o[0]
是一个序列类型,因此您的函数将返回一个序列类型的值。
2):=
运算符正在为变量分配新值。这使其成为系列类型。原因是,对于每个新栏,您的脚本将重新执行,并且:=
将向变量的历史记录(在您的情况下为“ o”)添加一个新值。因此,它变成了系列类型(具有历史值的变量)。您可以使用[]
运算符访问这些历史值。