Pine Script编写TradingView指标遇行未续接语法错误求助
Pine Script 语法错误修复及代码优化
首次代码的错误分析
- "end of line without line continuation" 错误:
编辑器误报位置在第20行,但核心问题是line.new参数错误——bar_index[lineTime]属于非法用法,bar_index的索引只能是整数偏移(如bar_index[1]指代上一根K线),不能直接传入时间戳,这导致语法解析异常。 - 时间戳处理逻辑错误:
ta.timestamp生成UTC时间戳,直接加减偏移量的方式无法正确对应纽约时区的目标时段,且无法匹配历史K线时间。
修改后代码的错误分析
- "Syntax error at input '('" 错误:
- 误用V4的
study函数,V5中必须用indicator声明指标; hour(_time)、minute(_time)缺少ta.前缀,V5中时间类函数归属于ta命名空间;for循环、if语句的代码块未缩进,Pine Script强制要求代码块必须缩进(4空格或Tab),否则语法解析失败;- 时区转换逻辑仍未修正,时间戳计算存在偏差。
- 误用V4的
修正后的完整代码
//@version=5 indicator("Session Liquidity", overlay=true) // 输入参数 numDaysBack = input(5, "回溯天数") // 纽约时区(EST)与UTC的偏移(毫秒),夏令时需改为4小时 nyOffset = 5 * 60 * 60 * 1000 // 判断时间是否属于目标时段的函数 shouldDrawLine(_utcTime) => // 将UTC时间转换为纽约时间的小时和分钟 nyHour = ta.hour(_utcTime - nyOffset) nyMinute = ta.minute(_utcTime - nyOffset) (nyHour == 3 and nyMinute == 0) or // 纽约时间3:00 (nyHour == 8 and nyMinute == 0) or // 纽约时间8:00 (nyHour == 13 and nyMinute == 0) or // 纽约时间13:00 (nyHour == 19 and nyMinute == 0) or // 纽约时间19:00 (nyHour == 0 and nyMinute == 0) // 纽约时间0:00 // 用数组管理线条,避免重复绘制 var line[] lineArray = array.new_line() array.clear(lineArray) for i = 0 to numDaysBack - 1 // 获取当前日期往前i天的UTC 0点时间戳 targetDate = ta.timestamp(year(timenow), month(timenow), dayofmonth(timenow) - i, 0, 0) // 遍历所有目标时段的UTC时间戳 sessionTimes = [ targetDate + (3 + nyOffset/3600000)*3600000, targetDate + (8 + nyOffset/3600000)*3600000, targetDate + (13 + nyOffset/3600000)*3600000, targetDate + (19 + nyOffset/3600000)*3600000, targetDate + (0 + nyOffset/3600000)*3600000 ] for time in sessionTimes // 仅绘制图表可见范围内的线条 if time >= time - ta.barssince(timeframe.isintraday) * timeframe.multiplier * 60000 lineObj = line.new(x1=time, y1=ta.lowest(low, 20), x2=time, y2=ta.highest(high, 20), color=color.red, width=2, extend=extend.both) array.push(lineArray, lineObj)
关键优化点
- 修正时区转换逻辑:通过UTC时间减去偏移量直接得到纽约时间,避免时间戳计算混乱;
- 用数组管理线条,每次循环清空旧线条,防止重复绘制导致图表卡顿;
- 增加可见范围检查,只绘制当前图表显示时段内的线条;
- 统一遵循V5语法规范,所有内置函数添加正确的命名空间前缀。
内容的提问来源于stack exchange,提问作者Mike_rem
相关产品推荐
相关产品推荐

