Pine Script v5变量持久化存储问题求助
解决Pine Script v5中变量跨K线持久化的问题
你的问题核心是普通变量会在每根K线重新初始化,导致状态无法保留。Pine Script里要实现跨K线存储值,需要用var关键字声明变量,它只会在第一根K线初始化一次,后续K线会保持变量的上一次值。
修改后的代码如下:
// 使用var声明持久化变量,仅在第一根K线初始化 var int go_long = 0 BullTrend = (close - lowest(low, 50)) / atr(5) // 满足条件1时更新状态 if BullTrend < 2 and ta.sma(close,15) > 15 go_long := 1 // 基于之前保存的状态判断条件2 if go_long == 1 and open > close go_long := 2 plotshape(go_long == 2, style=shape.arrowup)
关键说明:
var关键字让变量成为持久化变量,不会在每根K线重新赋值初始值,只会在脚本启动时初始化一次。- 后续K线中,变量会保留上一次修改后的值,直到你主动用
:=更新它,这样就能实现"一次性存储值供后续使用"的需求。
内容的提问来源于stack exchange,提问作者EyFFix
相关产品推荐
相关产品推荐

