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

PineScript:Plotchar()用三元运算符出现输入不匹配错误如何解决?

PineScript中plotchar使用三元运算符报错的解决方法

你出错的核心原因是把plotchar的多个参数直接塞进了三元表达式的true分支里,PineScript的三元运算符要求左右分支必须返回单个同类型的值,这种写法违反了语法规则,所以会报「输入不匹配」错误。

正确写法示例

基础修正版

只把需要动态判断的目标值(这里是xUp或na)放在三元运算符中,plotchar的其他参数正常写在函数参数位:

k = ta.sma(close, 5) // 补充示例SMA参数,实际替换为你的代码
plotchar((k < 20) ? xUp : na, "Go Long", "▲", location.bottom, color.lime, size = size.tiny)

多参数动态切换版

如果需要根据条件切换更多参数(比如图标、颜色),可以给每个需要动态变化的参数单独加三元判断:

k = ta.sma(close, 5)
plotchar(
    (k < 20) ? xUp : na, 
    "Go Long", 
    (k < 20) ? "▲" : "▼", // 示例:条件满足显示向上箭头,否则向下
    location.bottom, 
    (k < 20) ? color.lime : color.red, // 示例:条件满足显示绿色,否则红色
    size = size.tiny
)

关键规则

三元运算符的作用是返回单个值,不能用来包裹整个函数的多参数调用逻辑,所有动态判断都要针对plotchar的单个参数来做。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:55:19