为什么此函数返回整数系列?

时间:2019-05-11 17:14:18

标签: pine-script

该函数为什么返回整数序列?

称为  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]

1 个答案:

答案 0 :(得分:1)

这里有两件事。

1)pine-script中的[]运算符返回系列类型的值。因此,o[0]是一个序列类型,因此您的函数将返回一个序列类型的值。

2):=运算符正在为变量分配新值。这使其成为系列类型。原因是,对于每个新栏,您的脚本将重新执行,并且:=将向变量的历史记录(在您的情况下为“ o”)添加一个新值。因此,它变成了系列类型(具有历史值的变量)。您可以使用[]运算符访问这些历史值。