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

How to get last value that equals the current value in TradingView Pine Script?

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

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

我试过这段代码,但是 returns 出错了:

getval(x,y) =>
    for i = 1 to 100
        val = valuewhen(i, y, 1)
        val2 = valuewhen(x=i, val, 1)
    val2

要获得等于当前值的最后一个值(使用 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)

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

getval(1, 3)