TradingView Pine脚本input.int函数参数报错问题咨询
报错原因
你在input.int()函数中传入了冗余的type = input.integer参数,Pine Script v5中type参数是通用input()函数的专用配置项,当专用输入函数(如input.int()/input.float())中出现type参数时,编译器会误识别为你调用的是通用input()函数,而通用input()不支持minval、maxval、step三个范围参数,因此触发报错:
第47行:参数'maxval'、'minval'和'step'不可与input()函数共用,如需指定输入数据的取值范围,可使用input.int()或input.float()函数。
另外你当前代码还存在隐含问题:input.int()的默认值设为60,但maxval限制为50,默认值超出取值范围,后续运行也会触发越界警告。
修复方案
- 移除
input.int()中的type = input.integer参数,input.int()本身已经限定输入类型为整数,不需要额外声明 - 同步调整默认值或
maxval的取值,保证默认值落在[minval, maxval]区间内
修正后代码示例(保留maxval=50的场景)
rsiOverbought = input.int(50, title = "RSI Overbought", minval = 0, maxval = 50)
修正后代码示例(保留默认值60的场景,符合RSI 0-100的常规取值范围)
rsiOverbought = input.int(60, title = "RSI Overbought", minval = 0, maxval = 100)
注意事项
- 只有通用
input()函数需要指定type参数,input.int()、input.float()、input.string()等细分类型的输入函数,不需要额外传入type参数 - 所有带范围限制的输入参数,默认值必须在
minval和maxval的闭区间内,否则会触发取值越界警告
内容的提问来源于stack exchange,提问作者reggie1968
相关产品推荐
相关产品推荐

