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

基于15分钟历史数据回测日线时间框架策略的Pinescript问题咨询

TradingView跨时间框架回测历史数据不足解决方案

你遇到的自动切换时间框架问题本质是TradingView对不同订阅等级的低时间框架历史数据访问有额度限制,其次是代码写法可能导致不必要的历史数据加载,可行方案如下:

  • 方案1:升级TradingView订阅等级
    不同等级的15分钟K线历史访问权限如下:
    • 免费版:仅支持最近3个月的15分钟数据
    • Pro版:支持最近1年的15分钟数据
    • Pro+版:支持最近5年的15分钟数据
    • Premium版:支持最多20年的15分钟数据,可覆盖你需要的2014年数据区间
      升级后直接在15分钟图表设置回测时间范围即可,不会触发自动切时间框架。
  • 方案2:优化PineScript代码减少数据加载需求
    不要在15分钟级别逐K计算日线EMA,直接用request.security()函数请求预计算的日线信号,减少历史数据加载量,示例代码如下:
    //@version=5
    strategy("日线EMA交叉15分钟回测", overlay=true)
    // 请求日线级别EMA20和EMA200的交叉信号
    [d_ema20, d_ema200] = request.security(syminfo.tickerid, "D", [ta.ema(close, 20), ta.ema(close, 200)])
    long_signal = ta.crossover(d_ema20, d_ema200)
    short_signal = ta.crossunder(d_ema20, d_ema200)
    // 15分钟级别下单
    if (long_signal)
        strategy.entry("多", strategy.long)
    if (short_signal)
        strategy.entry("空", strategy.short)
    
    额外操作技巧:启动回测前先手动将15分钟K线拉到你需要的最早历史时间点,等页面完全加载完所有K线后再运行回测,可避免触发自动切换时间框架的逻辑。
  • 方案3:本地搭建回测环境(无需TradingView订阅)
    如果你不想升级订阅,可以用Python完成批量回测,比手动Excel处理效率高10倍以上:
    1. 用公开数据源API下载对应品种的15分钟历史行情数据
    2. 用pandas库按自然日分组计算每日收盘价的EMA20、EMA200以及交叉信号
    3. 用回测框架(如VectorBT、Backtrader)匹配15分钟行情执行开平仓逻辑,自动输出回测报告
      单品种半年的15分钟数据回测全程耗时不超过10秒,支持批量处理多品种。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 16:15:02