Pine Script报错:缺少行续接符,预期')',求解决方法
解决Pine Script中box.new()的换行语法错误
错误原因
这个报错是因为Pine Script对函数调用的多行参数格式有严格解析规则,当你在括号内换行写参数时,格式不符合编译器的语法要求,触发了行尾未正确延续的解析错误。
修复方案
方案1:添加尾部逗号并统一缩进
在最后一个参数后添加尾部逗号(Pine Script允许这种写法),同时确保所有参数行的缩进层级一致:
// ✅ Function to Draw FVGs draw_fvg(_ary, col) => if array.size(_ary) > 0 for i = 0 to array.size(_ary) - 1 value = array.get(_ary, i) box.new( left = value.left, top = value.top, right = value.right, bottom = value.bot, bgcolor = col, border_color = color.gray, xloc = xloc.bar_index, // 新增尾部逗号 )
方案2:临时改为单行参数验证逻辑
如果多行格式仍报错,可以先将box.new的参数合并为单行,确认逻辑本身无问题后再调整格式:
// ✅ Function to Draw FVGs draw_fvg(_ary, col) => if array.size(_ary) > 0 for i = 0 to array.size(_ary) - 1 value = array.get(_ary, i) box.new(left = value.left, top = value.top, right = value.right, bottom = value.bot, bgcolor = col, border_color = color.gray, xloc = xloc.bar_index)
方案3:切换到Pine Script v5版本
部分旧版本的Pine Script对多行函数参数的语法支持不完善,切换到最新稳定的v5版本,语法容错性会更好。
额外排查点
- 确认
value对象的left/top/right/bot属性已正确定义,无拼写错误 - 检查
draw_fvg函数的调用处,是否传递了合法的数组和颜色参数
内容的提问来源于stack exchange,提问作者Tracy Francis
相关产品推荐
相关产品推荐

