为什么这个函数return整数系列?

Why does this function return integer series?

为什么这个函数 return 整数系列?

称之为 d = find_bar(时间,20)

当我使用 lowest(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]

这里有两件事。

1) [] operator in pine-script returns 系列类型的值。所以,o[0] 是一个系列类型,因此你的函数 returns 是一个系列类型的值。

2) := 运算符正在为变量分配新值。这使它成为一个系列类型。原因是,对于每个新柱,您的脚本将 re-executed 和 := 将新值添加到变量(在您的例子中是 "o")的历史记录中。所以它变成了一个系列类型(一个有历史价值的变量)。您可以使用 [] 运算符访问这些历史值。