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

Pine Script V4编译错误:plot与bool比较问题求解

问题解决思路:Pine Script V4编译错误处理

错误原因

你这里的核心问题是误用了plot()函数:

  • plot()是TradingView专门用来在图表上绘制线条、标记的可视化函数,它的返回值并非布尔类型,因此不能用== true来做条件判断,这就是编译器提示"类型不匹配"的直接原因。
  • 你的代码逻辑本意是判断rx[1]和rd[1]这两个变量本身是否为true,完全不需要把它们传入plot()函数。

修正后的代码

直接去掉多余的plot()调用,使用变量本身做判断:

// 修正rx的条件判断
if (rx[1] == true) 
    rx := true
else
    rx := false

// 修正rd的条件判断
if (rd[1] == true)  
    rd := true
else
    rd := false

更简洁的写法

因为布尔变量可以直接赋值,上述代码还能简化为:

// 直接将rx[1]的取值赋值给当前rx
rx := rx[1]
// 同理处理rd
rd := rd[1]

额外注意事项

  • 确保rx和rd在代码初始化阶段被定义为布尔类型(比如rx = false),这样rx[1]的取值才是合法的布尔值,能正常参与条件判断。
  • 如果你原本想通过plot()的输出作为策略信号,这是完全错误的方向:plot()只是可视化工具,策略逻辑必须基于变量本身的取值,绘图是额外的展示步骤,不能用来驱动策略条件。

内容的提问来源于stack exchange,提问作者R.Hamud

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:35:37