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

Pine Script中plotshape传入条件判断size参数时触发类型不匹配报错

报错核心原因
  • plotshape函数的size参数仅接受编译期确定的常量字符串入参,不支持绑定用户输入的动态三元表达式返回值
  • 代码中size=(big?size.small:size.tiny)的判断条件big是用户输入的复选框值,属于运行时可调整的动态输入类型,导致三元表达式返回值不符合size参数的类型要求,无法匹配函数的合法重载形式,最终触发类型校验报错。
合规实现方式

要实现“勾选复选框调整形状大小”的交互效果,无需给单个plotshape传动态size值,拆分两个独立调用即可,每个调用硬编码符合要求的常量size,通过复选框状态控制形状触发逻辑:

ma = sma(hlc3,p)
big = input(false,"Bigger shapes")
cross_trig = crossover(hlc3, ma)

// 大尺寸形状:仅当复选框勾选时触发绘制
plotshape(cross_trig and big, style=shape.triangleup, color=color.green, size=size.small)
// 小尺寸形状:仅当复选框未勾选时触发绘制
plotshape(cross_trig and not big, style=shape.triangleup, color=color.green, size=size.tiny)
  • 上述写法中两个plotshape调用的size参数都是直接硬编码的常量值,完全符合函数的类型校验规则,不会触发重载匹配错误
  • 两个形状的触发逻辑通过逻辑判断和复选框状态绑定,触发条件互斥,不会出现重复绘制的冲突,最终实现切换大小的交互效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 04:24:04