Skip to content

QMT get_full_tick 回测为什么不能用

回测里调 get_full_tick 拿不到像样的盘口,或策略表现和盘中完全两样——这是机制问题。

结论

get_full_tick 面向当前全推行情,不是按历史 K 线回放的接口。回测应使用 get_market_data_ex(或手册里的历史行情接口)按 bar 取数。

接口回测盘中运行
get_market_data_ex可以(本地行情要先补数据)可以
get_full_tick不适合当回测主行情可以
subscribe_quote可以

改法

python
#coding:gbk
def handlebar(C):
    if not C.is_last_bar():
        return
    # 回测 / 通用:按周期取 K 线
    data = C.get_market_data_ex(
        ['close'], ['000001.SZ'], '1d',
        count=20, subscribe=False
    )
    # 盘中要盘口时,再在运行模式里用 get_full_tick

盘中要 tick / 盘口,见 如何获取盘口。拿不到实时行情先查 为什么获取不到实时行情

本地缺历史时,在客户端「数据管理」里按周期补充;subscribe=False 走本地文件,不受订阅数限制,但要先下好数据。

相关:get_full_tick · get_market_data_ex · API 查询