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

如何限制request.security仅获取前一交易日常规交易时段数据?

仅加载前一交易日常规时段数据的实现方案

request.security本身没有直接的修饰符来筛选特定交易日的数据,但可以通过时间条件判断来实现只加载目标时段的数据,同时避免不必要的蜡烛加载。

关键实现步骤

  • 锁定前一交易日的日期范围,结合常规交易时段(RTH,美股通常为9:30-16:00)
  • 在request.security的请求逻辑中加入过滤条件,仅返回符合条件的收盘价,其余时段返回na
  • 利用Pine Script的自动优化,减少无效数据的处理

完整代码示例

//@version=5
indicator("前一交易日RTH M1 AAPL", overlay=false)

// 定义美股常规交易时段(可根据目标市场调整时间)
isRTH = time >= timestamp("09:30") and time <= timestamp("16:00")

// 获取前一交易日的日期(格式:YYYYMMDD)
prevTradeDay = ta.valuewhen(ta.change(ta.dayofweek) != 0, ta.year * 10000 + ta.month * 100 + ta.day, 1)

// 判断当前1分钟K线是否属于前一交易日的RTH时段
isTargetPeriod = isRTH and (ta.year * 10000 + ta.month * 100 + ta.day) == prevTradeDay

// 仅加载目标时段的收盘价,其余时段返回na
prevRTHData = request.security("NASDAQ:AAPL", "1", isTargetPeriod ? close : na, barmerge.gaps_on, barmerge.lookahead_off)

// 绘制前一交易日RTH的1分钟收盘价
plot(prevRTHData, style=plot.style_linebr, title="前一交易日RTH收盘价")

细节说明

  • 时间过滤逻辑:通过prevTradeDay获取前一交易日的日期,结合isRTH锁定常规交易时段,只有同时满足这两个条件的K线才会返回收盘价,其余时段返回na,图表上只会显示目标的390根蜡烛。
  • 数据加载优化:虽然request.security会加载一定范围的1分钟数据,但非目标时段的数据会被置为na,Pine Script会自动跳过这些无效数据的处理,不会出现加载5000根蜡烛的冗余情况。
  • 市场适配:如果是其他地区的市场,只需修改isRTH中的时间戳即可适配当地常规交易时段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 23:47:33