QMT 交易枚举包含三类枚举常量:账号类型(用于 get_trade_detail_data 的 accountType 参数和 passorder 的 orderType 参数)、操作类型(用于 passorder 的 opType 参数)和报价类型(用于 passorder 的 prType 参数)。本页面列出全部枚举值及其含义。
QMT 账号类型枚举(accountType / orderType)
【事实】 账号类型枚举用于指定交易账户的市场类别,在 get_trade_detail_data 中作为 accountType 参数,在 passorder 中作为 orderType 参数:
| 枚举值 | 字符串形式 | 含义 | 适用品种 |
|---|---|---|---|
| 0 | 'STOCK' |
普通股票账户 | A 股、基金、ETF、可转债等 |
| 1 | 'FUTURE' |
期货账户 | 商品期货、金融期货 |
| 2 | 'OPTION' |
期权账户 | 个股期权、ETF 期权 |
| 3 | 'CREDIT' |
信用(融资融券)账户 | 融资买入、融券卖出等 |
| 4 | - | 沪港通 | 沪港通标的 |
| 5 | - | 询价 | 结构性产品询价 |
| 6 | - | 上交所 fdr | 上交所基金申赎 |
| 7 | - | 深交所 fdr | 深交所基金申赎 |
| 8 | - | ETF 申赎 | ETF 申购赎回 |
| 9 | - | 回购 | 国债逆回购 |
| 10 | - | 结构性互换询价 | 结构性互换 |
【解释】
- get_trade_detail_data 的 accountType 参数使用字符串形式(如 'STOCK')。
- passorder 的 orderType 参数使用整数形式(如 0)。
- 普通股票交易使用 STOCK/0,融资融券交易使用 CREDIT/3,期货交易使用 FUTURE/1。
【建议】 在 passorder 中,orderType 必须与 accountid 对应的账户类型一致,否则委托将被拒绝。
QMT 操作类型枚举(opType)
【事实】 操作类型枚举用于 passorder 的 opType 参数,指定买卖方向及操作类别:
普通交易操作类型
| 值 | 含义 | 适用账号类型 | 说明 |
|---|---|---|---|
| 0 | 买入 | STOCK | 普通买入 |
| 1 | 卖出 | STOCK | 普通卖出 |
信用交易操作类型
| 值 | 含义 | 适用账号类型 | 说明 |
|---|---|---|---|
| 2 | 融资买入 | CREDIT | 使用融资额度买入 |
| 3 | 融券卖出 | CREDIT | 借券卖出 |
| 4 | 买券还券 | CREDIT | 买入证券归还融券 |
| 5 | 卖券还款 | CREDIT | 卖出证券归还融资 |
| 6 | 现券还券 | CREDIT | 使用持仓证券归还融券 |
申购赎回操作类型
| 值 | 含义 | 适用账号类型 | 说明 |
|---|---|---|---|
| 23 | 申购 | STOCK | ETF/基金申购 |
| 24 | 赎回 | STOCK | ETF/基金赎回 |
| 27 | 现金认购 | STOCK | 现金认购 |
| 28 | 证券认购 | STOCK | 证券认购 |
| 29 | 现金赎回 | STOCK | 现金赎回 |
| 30 | 证券赎回 | STOCK | 证券赎回 |
期权操作类型
| 值 | 含义 | 适用账号类型 | 说明 |
|---|---|---|---|
| 25 | 合并 | OPTION | 期权合并 |
| 26 | 拆分 | OPTION | 期权拆分 |
【解释】 - 普通买入(0)和卖出(1)适用于普通股票账户(STOCK)。 - 融资买入(2)和融券卖出(3)等信用交易操作适用于信用账户(CREDIT)。 - 申购(23)和赎回(24)适用于 ETF 和基金的申赎操作。 - 期权合并(25)和拆分(26)适用于期权账户(OPTION)。
【建议】 使用信用交易操作前,确保账户已开通融资融券权限且有足够的授信额度。
QMT 报价类型枚举(prType)
【事实】 报价类型枚举用于 passorder 的 prType 参数,指定委托的报价方式:
通用报价类型
| 值 | 含义 | 说明 | price 参数 |
|---|---|---|---|
| 0 | 限价 | 按指定价格委托 | 必须指定 |
| 1 | 最新价 | 按当前最新成交价委托 | 可设为 0 |
| 2 | 市价 | 按市场价委托 | 可设为 0 |
上海市场市价类型
| 值 | 含义 | 说明 | price 参数 |
|---|---|---|---|
| 3 | 五档即成剩撤 | 最优五档即时成交,剩余部分撤销 | 可设为 0 |
| 4 | 五档即成转限价 | 最优五档即时成交,剩余部分转为限价 | 可设为 0 |
| 5 | 全额成交或撤销 | 全额成交或全部撤销 | 可设为 0 |
深圳市场市价类型
【事实】 深圳市场支持的市价类型可能包括:
| 值 | 含义 | 说明 |
|---|---|---|
| 6 | 对手方最优价格 | 以对手方最优价格为委托价格 |
| 7 | 本方最优价格 | 以本方最优价格为委托价格 |
| 8 | 最优五档即时成交剩撤销 | 同上海五档即成剩撤 |
| 9 | 即时成交剩撤销 | 全部成交或撤销 |
【解释】 - 限价(0):投资者指定委托价格,交易所按该价格撮合。最常用的报价方式。 - 市价(2):以市场当前价格立即成交,不指定价格。成交速度快,但价格不可控。 - 五档即成剩撤(3):依次以买一到买五(卖出时)或卖一到卖五(买入时)的价格成交,未成交部分自动撤销。 - 五档即成转限价(4):同上,但未成交部分转为限价委托而非撤销。 - 全额成交或撤销(5):要么全部成交,要么全部撤销,不存在部分成交。
【建议】 1. 精确控制价格时使用限价(0) 2. 需要快速成交时使用市价(2)或五档即成剩撤(3) 3. 不同交易所支持的市价类型不同,使用前确认该交易所是否支持 4. 市价类型的可用性以当前客户端版本和交易所规则为准
QMT 枚举速查表
【事实】 三类枚举的常用值汇总:
普通股票交易常用组合
| 交易场景 | opType | orderType | prType | 说明 |
|---|---|---|---|---|
| 限价买入 | 0 | 0 | 0 | 最常用买入方式 |
| 限价卖出 | 1 | 0 | 0 | 最常用卖出方式 |
| 市价买入 | 0 | 0 | 2 | 快速买入 |
| 市价卖出 | 1 | 0 | 2 | 快速卖出 |
| 五档即成买入 | 0 | 0 | 3 | 五档成交剩撤 |
信用交易常用组合
| 交易场景 | opType | orderType | prType | 说明 |
|---|---|---|---|---|
| 融资买入 | 2 | 3 | 0 | 融资买入 |
| 融券卖出 | 3 | 3 | 0 | 融券卖出 |
| 买券还券 | 4 | 3 | 0 | 买券还券 |
| 卖券还款 | 5 | 3 | 0 | 卖券还款 |
ETF 申赎常用组合
| 交易场景 | opType | orderType | prType | 说明 |
|---|---|---|---|---|
| ETF 申购 | 23 | 0 | 0 | ETF 申购 |
| ETF 赎回 | 24 | 0 | 0 | ETF 赎回 |
QMT 枚举使用示例
passorder 参数组合示例
# -*- coding: utf-8 -*-
def init(ContextInfo):
ContextInfo.accountid = 'YOUR_ACCOUNT_ID'
ContextInfo.credit_accountid = 'YOUR_CREDIT_ACCOUNT_ID'
def handlebar(ContextInfo):
if not ContextInfo.is_last_bar():
return
accountid = ContextInfo.accountid
# 示例1: 普通限价买入
passorder(0, 0, accountid, '600000.SH', 0, 10.50, 100,
'limit_buy', 2, 0, None)
# 示例2: 普通限价卖出
passorder(1, 0, accountid, '600000.SH', 0, 10.80, 100,
'limit_sell', 2, 0, None)
# 示例3: 市价买入(快速成交)
passorder(0, 0, accountid, '600000.SH', 2, 0, 100,
'market_buy', 2, 0, None)
# 示例4: 五档即成剩撤买入
passorder(0, 0, accountid, '600000.SH', 3, 0, 100,
'five_level_buy', 2, 0, None)
信用交易示例
def handlebar(ContextInfo):
if not ContextInfo.is_last_bar():
return
credit_accountid = ContextInfo.credit_accountid
# 融资买入
passorder(2, 3, credit_accountid, '600000.SH', 0, 10.50, 100,
'margin_buy', 2, 0, None)
# 融券卖出
passorder(3, 3, credit_accountid, '600000.SH', 0, 10.80, 100,
'short_sell', 2, 0, None)
# 买券还券
passorder(4, 3, credit_accountid, '600000.SH', 0, 10.50, 100,
'buy_to_cover', 2, 0, None)
get_trade_detail_data 账号类型示例
def handlebar(ContextInfo):
if not ContextInfo.is_last_bar():
return
accountid = ContextInfo.accountid
# 查询普通账户资产
stock_acct = get_trade_detail_data(accountid, 'ACCOUNT', 'STOCK')
if stock_acct:
print(f'普通账户总资产: {stock_acct[0].m_dBalance}')
# 查询信用账户持仓
credit_acct = ContextInfo.credit_accountid
credit_pos = get_trade_detail_data(credit_acct, 'POSITION', 'CREDIT')
for pos in credit_pos:
print(f'信用持仓: {pos.m_strInstrumentID}, 数量: {pos.m_dVolume}')
# 查询期货账户委托
future_acct = 'YOUR_FUTURE_ACCOUNT_ID'
future_orders = get_trade_detail_data(future_acct, 'ORDER', 'FUTURE')
for order in future_orders:
print(f'期货委托: {order.m_strInstrumentID}, '
f'状态: {order.m_nOrderStatus}')
QMT 枚举注意事项
【事实】 使用交易枚举时需注意:
| 注意项 | 说明 |
|---|---|
| 账号类型匹配 | passorder 的 orderType 必须与 accountid 的账户类型一致 |
| 操作类型匹配 | opType 必须与 orderType 对应(如融资买入 opType=2 需 orderType=3) |
| 报价类型兼容 | prType 需与交易所和市场规则兼容 |
| 版本差异 | 枚举值在不同客户端版本中可能扩展或调整 |
| 交易所差异 | 上海和深圳市场支持的市价类型不同 |
【建议】
1. 使用 passorder 前确认 opType、orderType、prType 三者的组合是否合法
2. 信用交易操作需确保账户已开通融资融券权限
3. 不确定的枚举值组合建议先在仿真交易环境中测试
4. 具体枚举值支持范围以当前客户端版本为准
QMT 枚举相关参考
| 参考内容 | 说明 | 链接 |
|---|---|---|
| passorder | 下单函数(使用 opType/orderType/prType) | passorder |
| get_trade_detail_data | 交易明细查询(使用 accountType) | get_trade_detail_data |
| 委托状态枚举 | 委托状态码说明 | 委托状态 |
| 数据结构与枚举 | Account/Position/Order 对象字段 | 数据结构与枚举 |
| 交易与账户 | order_volume 等封装函数 | 交易与账户 |
QMT 枚举来源与更新时间
【事实】 本页面内容基于 QMT 官方文档整理。
| 项目 | 值 |
|---|---|
| 数据来源 | QMT 官方文档 |
| 更新时间 | 2026-08-04 |
| 验证时间 | 2026-08-04 |
| 适用版本 | 以当前客户端版本为准 |