QMT 核心下单函数 passorder 完整实操教程
发布时间:2小时前阅读:48
QMT 核心下单函数 passorder 可用于股票、期货、期权等下单和新股、新债申购、融资融券等交易操作。以下是其完整实操教程:
函数语法
python
运行
passorder(opType, orderType, accountid, orderCode, prType, price, volume, strategyName, quickTrade, userOrderId, ContextInfo)
参数详解
- opType:交易类型,如 23 表示股票买入,24 表示股票卖出。
- orderType:下单方式,常用 1101,代表单股、单账号、普通、股 / 手方式下单。
- accountid:资金账号标识,需填写真实账号或自定义用于回测的账号字符串。
- orderCode:下单代码,如股票代码 “000001.SZ”,组合交易时填篮子名称等。
- prType:下单选价类型,若为限价单,可设为 11(指定价 / 模型价)。
- price:下单价格,prType 为 11 时,需填入具体限价;若为市价单,可根据规则设为 0 等。
- volume:下单数量,股票交易中,买入数量须是 100 的整数倍。
- strategyName:自定义策略名,用于区分委托和成交来自不同策略。
- quickTrade:设定是否立即触发下单。
- userOrderId:投资备注,可填写相关信息便于区分和记录。
- ContextInfo:策略上下文,包含策略运行的相关环境信息等。
下单示例
- 以最新价买入股票:
passorder(23, 1101, "my_account", "000001.SZ", 5, -1, 200, C),表示使用账户 “my_account”,以最新价买入 000001.SZ 共 200 股。 - 限价买入股票:
- python
- 运行
def init(ContextInfo):
ContextInfo.accID = '6000000000'
ContextInfo.set_account(ContextInfo.accID)
def handlebar(ContextInfo):
if ContextInfo.is_last_bar():
opType = 23
orderType = 1101
accountID = ContextInfo.accID
orderCode = '600000.SH'
prType = 11
price = 10.50
volume = 100
passorder(opType, orderType, accountID, orderCode, prType, price, volume, ContextInfo)
print(f"已发送限价买入指令:{orderCode}, 价格:{price}, 数量:{volume}")
上述代码表示在最后一根 K 线时,以 10.50 元的限价买入 100 股 600000.SH 股票。
注意事项
- 编码格式:代码第一行建议包含
# -*- coding: gbk -*-,以防中文注释或字符串导致乱码或报错。 - 账号绑定:必须在
init中使用ContextInfo.set_account()绑定实际资金账号,否则无法下单。 - 防止重复下单:在
handlebar中直接写下单函数,可能会因每个 tick 更新或每根 K 线更新而重复触发,需增加逻辑判断避免重复买入。 - 交易权限与资金检查:确保账号具备相应证券的交易权限,且下单前确认账户有足够资金或持仓,以免下单失败。
- 异常处理:建议添加异常处理机制,如
try - except语句,以处理网络问题、参数错误等导致的下单失败情况。
股票/量化开户找我!股票佣金万0.854(满足条件)!无门槛国债逆回购一折 (百万分之一)!ETF佣金万0.5!优惠多多!免费量化使用量化软件QMT+miniQMT+ptrade!

温馨提示:投资有风险,选择需谨慎。
-
一家坚守19年的财商教育平台,如何重塑投资服务的“靠谱”底色
2026-06-29 13:08
-
REITs打新:⌈华泰三峡新能源REIT⌋ 和 ⌈创金合信北京国资公司REIT⌋ 本周发售!
2026-06-29 13:08
-
券商客户经理是做什么的?为什么建议你理财投资前找一位?
2026-06-29 13:08


问一问

+微信
分享该文章
