如何修复Pine Script V5布林带指标代码中的语法错误?
Pine Script V5 布林带指标语法错误修复
错误排查
原代码核心问题是条件判断语法逻辑不规范:
- 用
or关键字连接两个独立if块,不符合Pine Script语法规则 - 缩进混乱,导致代码逻辑结构模糊
- 变量
c的赋值逻辑重复且不符合语言要求
修复后的完整代码
//@version=5 indicator(shorttitle="BB", title="Bollinger Bands", overlay=true, timeframe="", timeframe_gaps=true) length = input.int(20, minval=1) src = input(close, title="Source") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // 合并多分支条件判断,规范赋值逻辑 c = if src > upper src - upper elif src < lower src - lower else 0 plot(c, style=plot.style_columns)
关键修复说明
- 采用
if-elif-else标准多分支结构替代错误写法,匹配Pine Script语法 - 简化变量赋值逻辑,直接在分支中返回对应计算值,无需重复声明
c= - 统一代码缩进,确保逻辑结构清晰可读
内容的提问来源于stack exchange,提问作者Al A
相关产品推荐
相关产品推荐

