miniQMT怎么区分已报、已撤、部分成交和废单?
发布时间:3小时前阅读:8
miniQMT中的委托状态并不是几个相近的文字,而是订单生命周期的不同阶段。只有正确区分已报、已撤、部分成交和废单,程序才能知道是否继续等待、是否需要撤单、是否已经形成持仓,以及能不能发送下一笔订单。
“已报”表示订单已经提交到交易系统并处于有效等待状态,但尚未全部成交。它不是失败,也不是成交。价格没有达到、排队靠后或市场流动性不足时,订单可能保持已报较长时间。策略应继续跟踪,而不是立即重复下单。
“部分成交”表示委托中的一部分已经成交,剩余数量仍可能继续等待。此时账户持仓和可用资金已经发生部分变化,程序不能把整笔订单视为完成,也不能完全忽略。若原订单买入一千股,只成交三百股,剩余七百股仍在市场中。
“已撤”表示未成交的剩余部分已经被成功撤销。若订单从未成交就撤销,成交数量为零;若部分成交后撤销,已经成交的部分仍然有效,只有剩余数量被取消。程序应使用成交数量和撤单数量共同判断结果。
“废单”表示订单因为参数、权限、价格、数量、账户状态或其他规则未能成为有效委托。废单不会继续等待,也不会自动修复。策略应读取状态说明,找到具体原因后再决定是否重新提交,不能进入无限重试。
除了这几个状态,还可能看到未报、待报、已报待撤、部分成交待撤、部分撤销和已成。未报与待报说明订单还在发送流程;已报待撤表示撤单请求已发出但未最终确认;已成表示委托数量全部成交;部分撤销通常表示订单有成交,剩余部分已经撤掉。
程序判断时不能只看状态名称,还要同时看原委托数量、已成交数量和剩余数量。不同柜台或版本的状态更新时序可能略有差异,数量字段能够提供更直接的解释。
可以把订单分成三类。第一类是进行中,包括未报、待报、已报和部分成交;第二类是撤单处理中,包括已报待撤和部分成交待撤;第三类是终态,包括已成、已撤、部分撤销和废单。终态订单通常不再继续变化,但部分成交后的实际持仓需要保留。
撤单也不是调用接口后立刻完成。程序提交撤单请求后,应等待原订单状态变化。若订单在撤单到达前已经全部成交,撤单可能失败;若部分成交后撤单,最终结果会同时包含成交和撤销。
状态管理最好由统一模块负责。策略信号只提出交易意图,订单模块记录编号和状态,持仓模块根据成交更新。若每个策略函数都自己判断状态,容易出现重复逻辑和遗漏。
日志中应记录每次状态变化,而不是只保存最终结果。订单从已报到部分成交再到已撤的全过程,有助于分析成交效率和撤单规则。长期复盘时,还可以统计多少订单废单、多少订单部分成交。
新手可以在模拟环境中专门练习状态识别,提交一笔限价订单,观察已报、撤单和成交变化。理解这些状态后,再进入实盘会更安全。
状态值最好使用平台提供的枚举常量,而不是在代码中直接比较一个看不懂的数字。这样版本更新或团队协作时更容易阅读。日志中可以同时保存枚举名和中文解释,例如“已报—等待成交”“废单—参数或规则拒绝”,普通用户也能看懂。
订单进入终态后,还应核对成交数量和持仓。状态已成但持仓尚未刷新时,可以等待短暂同步;若长期不一致,应停止后续交易并人工确认。
对于“部分成交待撤”这类中间状态,策略既不能继续把剩余数量当作有效挂单无限等待,也不能立刻认为撤单完成。应等待最终状态,再决定是否补单。若为了成交剩余数量重新报价,也要以真实未成交量为准,而不是原委托总量。
订单状态看似只是几个词,背后却决定程序下一步能不能继续。想把这些状态写进自己的策略,可以结合主页后续的处理示例逐步练习。本文仅用于接口知识普及。

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


问一问

+微信
分享该文章
