🚀 AI 一键生成 qmt 策略代码
立即体验
👉 AI 生成代码 👈

QMT调用 download_history_data2 报错 ErrorId:210008 是什么原因?

qmt | 发布时间: 2026/5/22
以下内容由 EasyQuant 生成。

问题描述

download_history_data2时报错ErrorId:210008

xtdata.download_history_data2(stock_list=['600000.SH'], start_time="20250612", end_time="20250618", period="tick",callback=on_data1)

执行以上代码在下载历史数据的时候报错{'finished': 1, 'total': 5, 'stockcode': '600000.SH', 'message': ' { error: { ErrorID: 210008'},是什么原因呢?谢谢!

解决方案

在 QMT (迅投量化平台) 中使用 xtdata.download_history_data2 下载历史数据时遇到 ErrorId: 210008,通常是因为请求的数据不存在请求参数无效

针对您提供的代码,最直接的原因是时间参数设置错误(请求了未来的时间)

1. 错误原因分析

观察您的代码:

xtdata.download_history_data2(stock_list=['600000.SH'], start_time="20250612", end_time="20250618", period="tick",callback=on_data1)

您设置的 start_time20250612end_time20250618。这是一个未来的时间段。服务器上显然没有未来的历史行情数据,因此接口在尝试获取数据时找不到对应内容,从而返回了 ErrorID: 210008(数据不存在/参数错误)。

2. 解决方法

请将 start_timeend_time 修改为已经发生的、真实存在的历史交易日。例如,修改为 2023 年或 2024 年的某个有效交易日:

import xtdata

def on_data1(data):
    print("下载回调:", data)

# 修改为有效的历史时间
xtdata.download_history_data2(
    stock_list=['600000.SH'], 
    start_time="20230612", 
    end_time="20230618", 
    period="tick",
    callback=on_data1
)

3. ErrorId: 210008 的其他常见排查点

如果您在修改为正确的历史时间后仍然遇到此错误,请排查以下几点:

  1. 时间格式是否正确:QMT 接口通常接受 YYYYMMDDYYYYMMDDHHMMSS 格式的字符串。确保没有多余的空格或特殊字符。
  2. 品种代码是否正确:确保 stock_list 中的代码格式为 代码.市场(如 600000.SH000001.SZ),且该品种在请求的时间段内已经上市且未退市。
  3. 周期是否支持:您请求的是 tick 数据。部分服务器或账号权限可能对极早期历史的 tick 数据有限制,或者本地未开启相应权限。如果请求太早的 tick 数据也可能报错。
  4. 节假日问题:如果 start_timeend_time 之间全是节假日(没有交易数据),也可能触发无数据的错误。

总结:请先将代码中的 2025 年修改为实际的历史年份,该报错即可解决。