如何在指标中获取之前的蜡烛数据?
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 返回给定柱数的值。
我正在编写一个指标,需要读取之前的 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 返回给定柱数的值。