You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pinescript V5绘制纽约开盘时段箱体无显示问题求助

Pinescript V5 纽约时段箱体绘制问题排查与修复

问题根源分析

原代码无法显示箱体的核心问题如下:

  • 语法错误:nysess = not na (time("","0930-1030"))中not na的调用格式错误,正确写法应为not na(time("","0930-1030"))(括号需紧跟na)。
  • 回测日期判断失效:使用timenow判断日期范围,回测时timenow指向当前实时时间而非K线时间,导致indate始终为false,箱体无法触发创建。
  • 箱体创建时机错误:在纽约时段内的每根K线重复执行box.new,既会生成大量冗余箱体,又因时段内高低价未最终确定导致位置偏差。
  • 高低价计算逻辑缺陷:ta.highest(high,12)依赖固定K线数量(仅适配1分钟周期),切换其他周期后无法准确捕获时段高低点。
  • 时区计算误差:手动计算时间边界未考虑纽约时区(UTC-4/UTC-5)的夏令时/冬令时差异,导致时间范围偏移。

修复后的代码

indicator("NY 9:30-10:30 Box", overlay=true)

// 输入参数:日期范围与纽约时段
startDate = input.time(timestamp("15 December 2022 14:30"), title="Start Date (UTC)", tooltip="纽约冬令时9:30对应UTC14:30")
endDate = input.time(timestamp("16 December 2022 14:30"), title="End Date (UTC)")
nySession = input.session("0930-1030", title="New York Session")

// 判断当前K线是否在指定日期范围内
inDateRange = time >= startDate and time <= endDate

// 追踪纽约时段内的最高价与最低价(var变量保留跨bar数据)
var float sessionHigh = na
var float sessionLow = na

// 进入纽约时段时初始化高低价
if not na(time("D", session=nySession)) and inDateRange
    sessionHigh := high
    sessionLow := low
// 时段内持续更新高低价
else if not na(time("D", session=nySession)) and inDateRange
    sessionHigh := ta.max(sessionHigh, high)
    sessionLow := ta.min(sessionLow, low)

// 时段结束后创建箱体(仅执行一次)
if na(time("D", session=nySession)) and not na(time("D", session=nySession)[1]) and inDateRange
    sessionStartTime = time("D", session=nySession)[1]
    sessionEndTime = time_close[1]
    box.new(sessionStartTime, sessionHigh, sessionEndTime, sessionLow, color=color.new(color.blue, 90), border_color=color.blue)

关键修改说明

  1. 语法修正:修复not na调用格式,改用session参数直接指定纽约时段,避免手动时间计算误差。
  2. 回测适配:用time替代timenow判断日期范围,确保回测时基于K线时间触发逻辑。
  3. 动态高低价追踪:使用var变量跨bar保存时段内的高低价,进入时段初始化、时段内实时更新,保证数据准确性。
  4. 单次创建箱体:仅在K线离开纽约时段时创建箱体,避免重复生成,且此时段高低价已最终确定。

内容的提问来源于stack exchange,提问作者Lex Deeley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 13:15:19