Pine Script报错:未使用行续行符却到达行尾,预期为')'求排查
解决Pine Script中“未使用行续行符却到达行尾”的错误
错误根源在于你在label.new(的左括号后直接添加了行内注释,导致Pine Script解析器认为函数调用在该行就已结束,无法识别后续换行的参数,因此抛出“预期为')'”的错误。
修复方案
将该行的注释移至单独一行,确保函数调用的语法结构连续:
for i = 0 to 3 day_time = timenow - i * 86400000 year_ = year(day_time) month_ = month(day_time) day_ = dayofmonth(day_time) [asian_open, asian_close] = get_session_times(year_, month_, day_, asian_open_hour, asian_open_minute, asian_close_hour, asian_close_minute) // 绘制亚洲时段矩形 if (time >= asian_open and time <= asian_close) var box session_box = na var label session_label = na // 定义标签变量 if (time == asian_open) session_box := box.new(left=bar_index, top=high, right=bar_index, bottom=low, border_width=1, border_color=color.new(color.gray, 30), bgcolor=session_color) // 此处原报错位于label.new的左括号处 session_label := label.new( x=bar_index, y=high, text="Asian", xloc=xloc.bar_index, yloc=yloc.abovebar, textcolor=color.new(color.gray, 0), // 深色文本 size=size.small, style=label.style_none, textalign=text.align_center ) box.set_right(session_box, bar_index) box.set_top(session_box, math.max(high, box.get_top(session_box))) box.set_bottom(session_box, math.min(low, box.get_bottom(session_box))) // 计算矩形水平中心 middle_x = (box.get_left(session_box) + box.get_right(session_box)) / 2 // 将标签水平居中于矩形上方 label.set_x(session_label, middle_x) label.set_y(session_label, box.get_top(session_box) + 10) // 按需调整垂直位置
关键说明
Pine Script的解析器会将行内注释后的内容视为该行结束,因此函数调用的左括号后不能直接追加行内注释,必须保证函数调用的参数结构连续(参数可换行书写,无需额外续行符)。
内容的提问来源于stack exchange,提问作者Ruben Bennetot
相关产品推荐
相关产品推荐

