日期 2024/8/2
 意外发现的,抛砖引玉,测试了下,其他券商的也可以。
 可以直接获取 1m 5m 1day 级别的数据,全A股市场的都可以。期货未测试。
 需要 其他的级别的分数数据可以自行合成。
原理
券商版qmt获取行情数据时,不需要登陆带qmt权限的账户,即可下载和订阅数据
完整操作如下:
-  
下载安装任意券商版qmt,我这里以 国投证券 举例。
下载链接 https://www.essence.com.cn/download?type=1

 -  
以脱机模式启动 大QMT,然后去设置里面下载python库

脱机登录

下载python库

下载python库完成后,关掉QMT,然后寻找 xtquant 库,并复制出来

 -  
把 xtquant 复制到任意一个目录,写python代码进行测试,注意 xtquant 暂时只支持 python3.11 及更老的,不支持新的 python 3.12

 -  
启动 miniquote.exe ,这是数据订阅和推送的程序,可以直接双击启动

任务管理器可以看到启动后的程序,没有界面。

 -  
把以下代码写入 try_get_all_5m_kline.py ,然后保存
 
from xtquant import xtdata
def get_kline(stock='600000.SH', period='5m', dividend_type='front_ratio',
              field_list=('time', 'open', 'high', 'low', 'close', 'volume'),
              start_time='', end_time='', count=-1,
              fill_data=True, download_data=True):
    if download_data:
        xtdata.download_history_data2(
            [stock],
            period
        )
    # r = xtdata.get_local_data(
    r = xtdata.get_market_data_ex(
        list(field_list),
        [stock],
        period=period,
        count=count,
        dividend_type=dividend_type,
        fill_data=fill_data,
        start_time=start_time,
        end_time=end_time,
    )
    df = r[stock]
    return df
if __name__ == '__main__':
    df = get_kline()
    print('第一根5m k线', df.iloc[0])
    print('最新一根5m k线', df.iloc[-1])
    print('共获取 5m k线 数量', df.shape[0])
 
- 使用 python 运行,可以获得以下输出结果

 - 结束,其他请自行研究。也可以订阅每日tick,单推,全推数据,这些都行。
 
附加
附加1:有时下载数据时,会突然变得很慢,可以直接任务管理器结束掉 miniquote.exe ,再启动它
附加2:各家券商 QMT 名字一览(不全)
 https://www.xuntou.net/forum.php?mod=viewthread&tid=232
附加3:其他证券的 QMT 下载链接
 国金qmt实盘
 https://download.gjzq.com.cn/gjty/organ/gjzqqmt.rar
 国金qmt模拟
 https://download.gjzq.com.cn/temp/organ/gjzqqmt_ceshi.rar
附加4:对一般人来说,开qmt时,要问是否能小资金ETF免5,ETF不免5就非常坑爹,不如用 easytrader+低佣账号。
附加5:股票免五门槛,好像全部券商最低都要50w,另一种十分坑爹。



















