盘中多次冷启动后,使用 xtdata.download_history_data2 下载当天 A 股 1m 历史K线时,遇到一个问题,想确认正确用法。
场景:
period = "1m"
下载区间为当天,例如:
start_time="20260605093000"
end_time="20260605145900"
本地已经存在当天 1m 缓存,但缓存不是最新的时间,可能只下载了一部分分钟线。
目标是补齐全量 A 股当天最新的1m K线。
现象:
当 start_time 非空时,不管 incrementally=True 还是 incrementally=False,download_history_data2 都很快返回,callback 基本没有有效下载进度,后续用 get_market_data 读取,本地残缺缓存没有被补齐。
只有使用:
start_time = ""
end_time = "20260605145900"
incrementally = True
才会触发下载。
但这种方式下,单只股票 callback 里的 total 大约是 271。
如果全量 A 股约 5000 只,callback 任务量看起来会变成约 5000 * 271,实际耗时非常长。
问题:
download_history_data2 callback 里的 total=271 到底代表什么?
它是 K线根数、交易分钟数、日期数,还是 QMT 内部拆分出来的下载任务数?
在本地已经有当天残缺 1m 缓存的情况下,如何正确使用 download_history_data2 补齐当天全量 A 股 1m K线?
对于这种情况,是否支持用:
start_time = "当天093000"
end_time = "当天145900"
incrementally = False
强制覆盖或重下指定区间?
总结一句话:对于有本地当天不全缓存的场景下, 如何正确使用download_history_data2快速大批量下载当天最新的1mK线数据?别说订阅全推tick接口,因为盘中启动无法获取启动前的当天历史1m数据。 |