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

Pine Script指定时间范围回溯测试失效,如何获取更早历史数据?

Pine Script 短周期回溯数据限制解决方案

问题背景

此前使用以下Pine Script代码可测试多年回溯数据,但当前在5分钟时间框架下仅能获取2023年3月8日之后的数据:

// === INPUT BACKTEST RANGE ===
fromMonth = input.int(defval = 08,    title = "From Month", minval = 1, maxval = 12)
fromDay   = input.int(defval = 01,    title = "From Day",  minval = 1, maxval = 31)
fromYear  = input.int(defval = 2020, title = "From Year", minval = 1970)
thruMonth = input.int(defval = 06,    title = "Thru Month", minval = 1, maxval = 12)
thruDay   = input.int(defval = 28,    title = "Thru Day", minval = 1, maxval = 31)
thruYear  = input.int(defval = 2112, title = "Thru Year", minval = 1970)

// === INPUT SHOW PLOT ===
showDate  = input.bool(defval = true, title = "Show Date Range")

// === FUNCTION EXAMPLE ===
start     = timestamp(fromYear, fromMonth, fromDay, 13, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 20, 00)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

strategy.entry(...when = window())

解决办法

  • 手动调整图表数据加载量:点击图表底部状态栏的「数据加载」图标(时钟样式),手动设置加载更早的历史数据。注意,短周期下能加载的最大数据长度受账户权限限制。
  • 修正时间戳时区偏差:TradingView默认使用交易所时区,若代码中timestamp的时间参数(如13:00)与图表时区不匹配,可能会错误过滤有效数据。可尝试将时间设为00:00或对应交易所的开盘时间,避免时区冲突。
  • 直接在策略测试器设置时间范围:不要仅依赖代码内的窗口过滤,打开策略测试器面板的「设置」选项,直接选择自定义回溯区间,可触发平台加载对应区间的数据(权限允许范围内)。
  • 升级账户权限:TradingView对不同账户等级的短周期历史数据访问权限有明确区分:免费/基础用户仅能获取最近数月的短周期数据,而Pro+、Premium等高级账户支持更长时间的短周期数据回溯,也就是所谓的「深度回溯测试」功能。

权限说明

是的,TradingView的「深度回溯测试」功能仅对高级付费用户开放,短周期(如5分钟)的历史数据访问长度会随账户等级提升而增加。

内容的提问来源于stack exchange,提问作者Muhammad Abdul Ahad Rafiq

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 13:57:45