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

How to get previous candles data in indicator?

我正在编写一个指标,需要读取之前的 32 根蜡烛 ohlc 数据来进行预测。 如何在 TradingView > PineScript Editor > Indicator 中获取 previous 32 candles ohlc data

´[]´ 在 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() 函数可用。这些函数 return highest/lowest 返回给定柱数的值。