TradingView PineScript ta.rsi、math.max函数无法保存问题咨询
Pine Script 调用
ta.rsi、math.max无法保存故障修复 以下是可直接落地的排查修复路径,按优先级排序:
- 首查脚本版本声明:
ta.*、math.*是Pine Script v5版本专属的命名空间规则,若脚本首行写的是//@version=4、更低版本标识,或是漏写版本声明,编辑器无法识别带前缀的内置函数,会直接拦截保存操作,将首行修改为//@version=5即可解决该类识别问题。若脚本是从v4及更早版本迁移而来,除修改版本号外,需同步核对其他语法的v5适配规则,仅针对这两个函数的无法保存问题,90%以上的诱因都是版本号声明错误。
- 次查是否存在孤立函数调用:Pine Script语法不允许无任何指向的函数调用单独成行,若仅单独写入以下代码:
代码既没有把函数返回值赋值给自定义变量,也没有将结果传入ta.rsi(close,9) math.max(close, open)plot、alertcondition等输出类函数,编辑器会判定其为无效冗余代码,阻止保存。
合规写法参考://@version=5 indicator("RSI 测试脚本", overlay=false) // 接收函数返回值 rsi_value = ta.rsi(close, 9) kline_high = math.max(close, open) // 输出计算结果 plot(rsi_value, color=color.new(color.blue, 0)) - 最后核对函数参数规则:
ta.rsi要求传入2个合法参数(数据源、计算周期),math.max要求至少传入2个可比较的数值型参数,参数缺失、传入不合法参数类型也会触发保存拦截,示例中提到的ta.rsi(close,9)参数符合规范,基本可排除该类诱因。
内容的提问来源于stack exchange,提问作者Vincent.B
相关产品推荐
相关产品推荐

