TradingView Pine Script变量问题:赋值后如何保持状态不重置
在TradingView Pine Script中实现变量赋值后不再重置的方法
你当前的代码里,var x = 0 已经是跨bar持久化的变量(仅在脚本首次运行时初始化一次),如果出现x被重置为0的情况,大概率是代码中存在其他未展示的逻辑修改了x的值。要实现x一旦变为1就永久保持,不受后续ltp回落影响,可以给赋值逻辑加上限制条件:
修改后的代码(if语句版)
// 初始化持久化变量x,仅脚本启动时赋值一次 var int x = 0 // 仅当x未被设为1,且ltp超过100时,才修改x的值 if x == 0 and ltp > 100 x := 1
简化写法(三元运算符版)
var int x = 0 // 仅在x仍为0且ltp>100时,将x设为1,否则保持原值 x := x == 0 and ltp > 100 ? 1 : x
这样修改后,只要x被成功设为1,后续无论ltp如何变化,x的值都会一直保持1,不会被重置。
内容的提问来源于stack exchange,提问作者N. Josh
相关产品推荐
相关产品推荐

