miniQMT是QMT软件的极简模式,通常被称为“小QMT”。用户只需在启动QMT时勾选“极简模式”,即可切换至该模式。与“大QMT”相比,miniQMT不仅保留了投资者常用的编程IDE(集成开发环境)习惯,还提供了更加灵活和便捷的操作方式。在miniQMT模式下,用户可以通过调用XtQuant包来获取行情数据和执行交易,而无需在QMT内部编写代码并进行编译运行。 1.什么是XtQuant包? XtQuant是基于迅投MiniQMT开发的一套完整的Python量化交易框架,以Python库的形式提供行情和交易相关的API接口,主要由两大模块组成:Xtdata行情模块和Xttrader交易模块。 2.XtQuant运行逻辑是怎样的?
Xtdata 是专为量化交易设计的行情模块,旨在为交易者提供简洁高效的数据支持。它涵盖了多种常用行情数据,包括历史和实时的K线数据、分笔数据、财务数据、合约基础信息,以及板块和行业分类信息等,满足量化交易者的多样化数据需求。 Xttrader 则是交易模块,封装了用于量化交易的Python API接口,能够与MiniQMT客户端无缝交互。通过该模块,用户可以执行报单、撤单操作,查询资产、委托、成交和持仓信息,同时接收资金变动、委托更新、成交记录以及持仓变化等实时推送消息,为量化交易策略的实施提供全面支持。 3.mini QMT配置步骤 现在官网的API文档中下载好xtquant文件 下载好之后,把xtquant放到本地服务器的Python中Lib\site-packages安装目录下,作为本地Python的三方库使用 然后登陆mini QMT,确保mini QMT能正常连接本地Python,然后在本地Python订阅账户,连接上mini QMT
- # coding=utf-8from xtquant.xttrader import XtQuantTrader, XtQuantTraderCallbackfrom xtquant.xttype import StockAccountfrom xtquant import xtconstantimport timeclass AccountMonitor(XtQuantTraderCallback): def on_stock_order(self, order): """实时委托推送[^2]""" print(f"委托回报:{order.stock_code} 状态:{order.order_status} 数量:{order.volume}") def on_stock_asset(self, asset): """资金变动推送[^2]""" print(f"账户总资产:{asset.total_asset} 可用资金:{asset.cash}") def on_stock_trade(self, trade): """成交变动推送[^2]""" print(f"成交回报:{trade.stock_code} {trade.order_id} 成交價:{trade.price}")# 1. 初始化交易接口[^1][^6]path = r'D:\迅投极速交易终端\userdata_mini' # 替换实际QMT路径[^1]session_id = 1024 # 会话ID需唯一xt_trader = XtQuantTrader(path, session_id)# 2. 创建账号对象(替换为您的资金账号)[^1]account = StockAccount('1000000365', 'STOCK') # 普通股票账号# 3. 创建回调实例并注册[^2]callback = AccountMonitor()xt_trader.register_callback(callback)# 4. 启动交易线程[^1]xt_trader.start()# 5. 建立交易连接connect_result = xt_trader.connect()print(f"连接状态:{'成功' if connect_result ==0 else '失败'}")# 6. 订阅账户[^1][^2]subscribe_result = xt_trader.subscribe(account)print(f"订阅状态:{'成功' if subscribe_result ==0 else '失败'}")# 保持运行以接收推送while True: time.sleep(60) # 每60秒心跳保持
复制代码
显示这样就OK啦!需要miniQMT的实盘和模拟测试账号的可以call我,不定时更新策略模型源码
|