如何在指标中获取先前的蜡烛数据?

时间:2019-11-10 05:18:02

标签: pine-script

我正在编写一个指标,该指标需要读取之前的32条蜡烛OHLC数据才能做出预测。 如何在TradingView> PineScript编辑器>指标中获取previous 32 candles ohlc data

1 个答案:

答案 0 :(得分:0)

[]中的

´pinescript´被称为History Referencing Operator。您可以使用该运算符访问历史值。

如果您的算法确实需要这32个值,则可以创建32个变量,也可以创建一个函数并运行for循环。

下面的代码显示了n=5的两个示例。

//@version=4
study("My Script")

src = input(title="Source", type=input.source, defval=close)

src_1 = src[1]
src_2 = src[2]
src_3 = src[3]
src_4 = src[4]
src_5 = src[5]

avg_of_indv = avg(src_1, src_2, src_3, src_4, src_5)

get_average(avg_src, avg_len) =>
    ret_val = 0.0
    for i = 1 to avg_len
        ret_val := ret_val + avg_src[i]
    ret_val/avg_len

avg_of_func = get_average(src, 5)

plot(series=avg_of_indv, title="avg_of_indv", color=color.red, linewidth=2)
plot(series=avg_of_func, title="avg_of_func", color=color.green, linewidth=2)

如果查看图表,两者将是相同的。

此外,pinescript中提供了highest()lowest()函数。对于给定数量的小节,这些函数返回最高/最低值。