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

Pine Script特定区间多空策略报错:运算符类型不匹配咨询

问题原因

你遇到的错误是因为Pine Script不支持链式比较运算符(比如U15 < realC < U3这种写法)。当你写这种链式判断时,脚本会先计算U15 < realC,得到一个布尔值(series bool类型),然后尝试用这个布尔值和U3做比较——但<运算符要求两边都是数值类型(simple float),布尔值不符合要求,所以触发错误。

解决方法

把链式比较拆成两个独立的条件,用and连接,明确每个比较的对象都是数值:

修改后的代码如下:

if (not na(k) and not na(d))
    // 多头入场条件
    if (co and k < OverSold and is_uptrend and ((k - d) > 2 ) and (U15 < realC and realC < U3))
        strategy.entry("Long", strategy.long, comment="Long")
    // 空头入场条件
    if (cu and k > OverBought and is_downtrend and  ((d - k) > 2) and (L15 > realC and realC > L3))
        strategy.entry("Short", strategy.short, comment="Short")

核心修改点:

  • 将(U15 < realC < U3)改为(U15 < realC and realC < U3)
  • 将(L15 > realC > L3)改为(L15 > realC and realC > L3)

这样每个比较都是数值和数值之间的判断,结果再通过and逻辑合并,就符合Pine Script的语法要求了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 02:25:21