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

PineScript指定时间触发策略在TradingView运行报No Data错误求助

问题排查与修复方案

你的代码存在4个核心问题,是触发“No Data”报错的直接原因:

  • 语法缩进错误:Pine Script依赖缩进识别代码块,你写的if条件后没有缩进后续逻辑,等于时间判断条件完全未生效,空if块也会触发运行异常。
  • 时间匹配错误:15分钟K线周期下,所有K线的时间戳均为15的整数倍(9:00、9:15、9:30、9:45以此类推),不存在minute(time) == 31的K线,时间条件永远无法命中,无交易信号就会返回“No Data”。
  • 开仓逻辑错误:做空的策略调用写错了方向,仍用strategy.long,且多空开仓用了相同的订单IDBuy,会导致订单冲突无法正常下单。
  • 逻辑匹配不符合需求:你要参考的是9:15-9:30的K线(即时间戳为9:30的15分钟K线)的涨跌,在后续K线开仓,原代码的时间节点和参考K线的对应关系完全错位。

修正后可运行代码

//@version=5
strategy("Time_Strategy", overlay=true, margin_long=100, margin_short=100)

// 匹配15分钟周期下9:15-9:30的目标K线(时间戳为9:30)
is_target_kline = hour(time) == 09 and minute(time) == 30

// 记录目标K线的涨跌状态
var is_target_kline_bull = false
var is_target_kline_bear = false
if is_target_kline
    is_target_kline_bull = open < close
    is_target_kline_bear = open > close

// 在下一根K线(9:30-9:45)确认后执行开仓
if barstate.isconfirmed and is_target_kline[1]
    if is_target_kline_bull
        strategy.entry("Buy", strategy.long, 1)
    if is_target_kline_bear
        strategy.entry("Sell", strategy.short, 1)

额外配置注意事项

  • 确认策略设置的时区和标的交易时区一致,避免时间匹配偏差
  • 确认回测时间范围包含足够多的交易日,覆盖9:30的K线节点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:54:02