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

Pine Script中NA与AND逻辑运算异常问题咨询

解决Pine Script中NA参与AND逻辑运算的问题

问题原因

在Pine Script的逻辑运算规则里,只要and表达式中存在na值,整个运算结果就会直接返回na,不会继续判断其余条件,这和你预期的「NA时忽略该条件、继续验证其余表达式」逻辑不符。

解决方案

把每个条件分支里的na替换为true——当某个指标被禁用(返回na)时,相当于该条件无需参与判断,默认视为满足(true),这样and运算就只会验证那些启用的指标条件。

修改后的代码如下:

// ON/OFF Indicator
// Buy Condition
MACDonoffbuy = useMACD ? macdLine > 0 : true  
ADXonfoffbuy = useADX ? ADX > thradx : true 
RSIonoffbuy = useRSI ? rsi >= overbought : true
Williamonoffbuy = useWilliam ? percentR >= -25 : true
Squeezeronoffbuy = useSqueezer ? sqzOff : true
// Sell Condition
MACDonoffsell = useMACD ? macdLine < 0 : true
ADXonfoffsell = useADX ? ADX > thradx : true 
RSIonoffsell = useRSI ? rsi <= overbought : true
Williamonoffsell = useWilliam ? percentR <= -25 : true
Squeezeronoffsell = useSqueezer ? sqzOff : true

// Final Combination 
buy = MACDonoffbuy and ADXonfoffbuy and RSIonoffbuy and Williamonoffbuy and Squeezeronoffbuy
sell = MACDonoffsell and ADXonfoffsell and RSIonoffsell and Williamonoffsell and Squeezeronoffsell

原理说明

  • 当useMACD这类开关变量为false时,对应条件返回true,不会干扰后续and运算的结果
  • 所有启用的指标条件必须同时满足,才会让buy或sell最终返回true

内容的提问来源于stack exchange,提问作者Ardani Hendarta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 09:31:04