You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 02:42:48