Pine script 如何在pine脚本中获取close数据子集的stdev

Pine script 如何在pine脚本中获取close数据子集的stdev,pine-script,Pine Script,我不熟悉Tradingview的Pine脚本,我似乎无法通过谷歌搜索找到答案。假设我想计算一只股票收盘价过去60个值的标准偏差,但跳过最近20个收盘价。换句话说,我想在总共40个数据点上计算stdev(或其他函数),从60个数据点开始,而不使用最近的20个数据点。我想有一些方法可以“切片”接近序列来获得这40个数据点,但我一直找不到。我该怎么做 //@version=4 study("Subset StdDev", overlay=true) src

我不熟悉Tradingview的Pine脚本,我似乎无法通过谷歌搜索找到答案。假设我想计算一只股票收盘价过去60个值的标准偏差,但跳过最近20个收盘价。换句话说,我想在总共40个数据点上计算stdev(或其他函数),从60个数据点开始,而不使用最近的20个数据点。我想有一些方法可以“切片”接近序列来获得这40个数据点,但我一直找不到。我该怎么做

//@version=4
study("Subset StdDev", overlay=true)

src                         = input(close, type=input.source)
var int         total_bars  = input(60)                             // Starting point, number of bars back
var int         datapoints  = input(40)                             // Number of datapoints from starting point to perform stddev calculation on

var float[]     a_values    = array.new_float()
var float       stddev      = na

array.push(a_values, src)                                           // add value for current bar to the end of the array

if array.size(a_values) > total_bars                                // array size > 60 ?
    array.shift(a_values)                                           // remove first element to keep array size at 60
    stddev := array.stdev(array.slice(a_values, 0, datapoints))     // calculate stddev for first 40 datapoints in the array

// plot a stddev band on the current candle, using 40 datapoints (from 60 bars ago to 20 bars ago)
plot(src + stddev)
plot(src - stddev)