QMT 用 Python 自动下单入门:连接、下单、撤单、查持仓
摘要:QMT 自带 Python 环境与交易接口,这篇讲清前置条件、连接方式、最常用的下单与撤单写法,以及必须注意的安全事项。
前置条件
券商已为你开通 QMT 权限并能正常登录;清楚自己用的是模拟盘还是实盘账户。
手把手操作
1
确认环境与权限
QMT 自带 Python 运行环境,不需要单独装 Anaconda,但版本较老,部分第三方库不可用。
要程序化下单,需要在客户端里开启对应的接口模式(常见是“极简模式”,供外部 Python 调用)。
小贴士:先用最简单的脚本确认“能连上、能取到账户信息”,再做下单操作。
2
连接与取账户信息
连接时要指定数据目录与账号对应的会话;连接成功后可查询资金、持仓、委托与成交。
把“查资金/持仓”作为连接成功的判定条件,比看日志更可靠。
小贴士:写脚本时把账号与会话 ID 抽成变量,别硬编码到多处,改配置时容易漏。
3
下单与撤单
下单函数通常分两类:按数量下单、按目标持仓调仓;另有市价与限价等价格类型。
下单后不要立刻认为“已成交”,要查委托与成交回报,能对得上账才算成功。
小贴士:A 股买入一般是 100 股整数倍;卖出时注意可用数量(T+1)。
4
异常与日志
把每次下单的请求与返回都落日志,出问题时才能回溯。
程序重启后要重新同步持仓与未成交委托,避免状态错乱。
小贴士:交易时段重启脚本要格外小心:先只读、后交易。
新手容易踩的坑
- 模拟盘与实盘搞混:在实盘账户上测试代码,直接下出真单。
- 未登录就下单:程序连上但客户端未登录,委托会被拒。
- 数量非法:非 100 股整数倍、超出可用资金/持仓。
- 盘中反复重启:状态丢失后重复下单。
相关问答
QMT 的 Python 是什么版本?
各家券商版本略有差异,普遍偏老(多为 3.6 系)。装第三方库前先确认兼容性,能少装就少装。
xtquant 需要单独安装吗?
通常随 QMT 环境提供,直接 import 即可;若外部 Python 调用,需要指向 QMT 的库路径。
不会写 Python 怎么办?
可以用成品本地执行脚本(一点通)+ 网页配置参数的方式,把代码部分交给现成工具。
本文用到的链接
- 灵犀Quant 网站:首页 · www.lingxw.com · 登录 / 个人中心
- 一点通(QMT 自动下单脚本)下载:下载中心(登录后免费下载)
- 使用手册:manual.html · 产品定价:pricing.html · 帮助中心:help-center.html