关于NASH 2.5 Sigma布林带指标代码报错的排查请求
问题原因与修复方案
这些报错都是Pine Script v4 到 v5 的语法差异导致的,以下是针对性修复:
错误1&3:未声明标识符'integer'/'float'
v5 取消了用type=integer/type=float指定输入类型的写法,改用专门的输入函数:
- 整数输入用
input.int() - 浮点数输入用
input.float()
错误2&4:'input'函数不存在'type'参数
v5 的input()函数不再支持type参数,必须使用上述的input.int()/input.float()等类型专属函数。
错误5:找不到'stddev'函数
v5 要求所有技术分析函数必须添加ta.命名空间前缀,原stddev()需改为ta.stdev()(对应v4中样本标准差的计算逻辑)。
修复后的完整代码
indicator("NASH 2.5 Sigma Bollinger Band", overlay=true) length = input.int(title="Length", defval=20) mult = input.float(title="Sigma", defval=2.5) upper = ta.sma(close, length) + mult * ta.stdev(close, length) lower = ta.sma(close, length) - mult * ta.stdev(close, length) fill(upper, lower, color=color.new(color.gray, 70)) plot(upper, color=color.red, linewidth=2, title="Upper Band") plot(lower, color=color.red, linewidth=2, title="Lower Band")
补充说明:原代码中的gray(0.7)在v5中需改为color.new(color.gray, 70)(v5用百分比表示透明度,70对应0.7的透明程度),否则会触发额外报错。
内容的提问来源于stack exchange,提问作者1209 scorpion
相关产品推荐
相关产品推荐

