如何在 TradingView Pine 脚本中获取等于当前值的最后一个值?

Bas*_*mad 5 pine-script

我正在使用 Tradingview.com 中使用的 Pine 脚本。

我的问题是:如何获得等于当前值的最后一个值?我考虑过使用for循环或其他东西。

我尝试了这段代码,但它返回一个错误:

getval(x,y) =>
    for i = 1 to 100
        val = valuewhen(i, y, 1)
        val2 = valuewhen(x=i, val, 1)
    val2
Run Code Online (Sandbox Code Playgroud)

MIG*_*-23 3

要获取等于当前值的最后一个值(使用 pine 脚本版本 3),您应该编写如下内容:

getval(x,y) =>
    val = 0.0
    val2 = 0.0
    for i = 1 to 100 //has to be indented as well
        val := valuewhen(i,y, 1)
        val2 := valuewhen(x == i, val, 1) //== for a condition, = is to assign a value to a variable
    val2 ? val2 : val //if val2 exists, return val2, else return val)
Run Code Online (Sandbox Code Playgroud)

它有效,我尝试过,当你调用你的函数时,不要忘记给它参数,例如:

getval(1, 3) 
Run Code Online (Sandbox Code Playgroud)