如何在Pine Script中为series字符串输入添加复选框控制选项
Pine脚本复选框控制十字线样式绘图报错解决方案
错误根因
语法报错的核心原因是将plot函数的参数命名关键字series=写在了三元运算符内部,Pine Script 不支持在条件运算表达式中嵌入函数参数的命名声明,参数名只能直接放在plot()的参数列表层级使用。
正确实现代码
首先是变量定义部分:
Testfunctionseries = sma(rsi, 3) show_testfunctionseries = input(false, "Show series testfunction", type=input.bool)
绘图部分有两种合规写法:
- 显式声明
series参数,将条件判断作为参数值传入(逻辑清晰,推荐)
plot(series = show_testfunctionseries ? Testfunctionseries : na, title="Test Function Series With Cross Style", style=plot.style_cross, color=color.white, transp=30, linewidth=2)
- 省略
series参数名(plot的第一个入参默认对应series参数,和普通绘图写法完全对齐)
plot(show_testfunctionseries ? Testfunctionseries : na, "Test Function Series With Cross Style", style=plot.style_cross, color=color.white, transp=30, linewidth=2)
通用规则说明
该规则适用于所有Pine脚本内置函数:参数命名关键字只能放在函数调用的参数列表层级,不能嵌套在任意运算表达式内部。不管使用哪种绘图样式,需要通过复选框控制显隐时,只需要把勾选时返回目标序列、未勾选时返回na的条件表达式作为series参数的取值传入即可。
内容的提问来源于stack exchange,提问作者Tullius
相关产品推荐
相关产品推荐

