TqSdk 下单后发生了什么?委托状态和成交回报追踪

发布时间:2026/8/13 8:21:05

TqSdk 下单后发生了什么?委托状态和成交回报追踪
调用insert_order只表示程序创建了一份报单请求并立即拿到对应的委托引用真正发送发生在下一次wait_update。此后订单可能存活、部分成交、全部成交、撤销或被拒绝字段会随交易回报持续变化。因此“函数没有报错”绝不能等同于“已经成交”可靠的程序必须完整观察委托、成交和持仓三条状态链。用模拟账户观察第一笔委托下面示例使用本地模拟账户合约和价格只用于展示生命周期。运行前应确认合约仍可交易并先在模拟环境核对方向、开平和手数。import math import os from tqsdk import TqApi, TqAuth, TqSim symbol SHFE.rb2610 sim TqSim(init_balance100000) api TqApi( sim, authTqAuth(os.environ[TQ_USER], os.environ[TQ_PASSWORD]), ) quote api.get_quote(symbol) try: while not math.isfinite(quote.ask_price1): api.wait_update() order api.insert_order( symbolsymbol, directionBUY, offsetOPEN, volume1, limit_pricequote.ask_price1, ) while order.status ! FINISHED: api.wait_update() if api.is_changing(order): print(order.status, order.volume_left, order.last_msg) finally: api.close()代码先等待卖一价有效再创建限价买入开仓委托。insert_order返回后订单尚未因为这一行自动成交循环继续调用wait_update请求才会发送后续回报也才能更新对象。示例只说明观察方式不代表对价委托在真实市场一定成交。ALIVE 与 FINISHED 不是成交与未成交的简单二分status为ALIVE表示委托仍有效FINISHED表示委托生命周期已经结束。结束原因可能是全部成交也可能是撤销、拒绝或其他终止情况所以还要结合volume_orign、volume_left、last_msg和成交记录判断结果。volume_orign是原始报单手数字段名按接口保留了这个拼写volume_left是未成交手数。两者之差可以辅助理解已成交数量但正式回查还应读取该委托对应的trade_records确认每笔成交的价格、手数和时间。部分成交时订单仍可能处于ALIVE未成交手数继续留在市场。程序不能看到一次成交就认为整个任务完成也不能因为最终状态是FINISHED就默认全部成交。每个动作都应有明确完成条件例如“订单结束且未成交手数为零”或者“撤单完成后重新评估剩余目标”。成交记录与持仓变化要分别确认成交记录回答订单实际成交了什么持仓对象回答账户当前持有什么。两者通常相关但更新时间和业务含义不同。程序可以在订单变化时输出该订单的成交记录再在持仓变化时核对最终仓位。position sim.get_position(symbol) while True: api.wait_update() if api.is_changing(order): for trade in order.trade_records.values(): print(成交:, trade.trade_id, trade.price, trade.volume) if api.is_changing(position): print(当前净持仓:, position.pos) if order.status FINISHED: break成交集合在循环中可能被多次读取日志层应按成交标识去重避免同一笔成交重复写入。持仓达到预期也不能替代订单核对因为可能仍有活动委托稍后成交会再次改变仓位。一份实用的订单状态记录至少包含订单标识、合约、方向、开平、原始手数、剩余手数、状态和最后状态信息。每次只在对象变化时追加记录就能重建订单从创建到结束的路径。若还记录触发它的业务意图标识后续可以区分“同一个信号产生的重试”和“两个真正独立的信号”。def order_snapshot(order): return { order_id: order.order_id, symbol: f{order.exchange_id}.{order.instrument_id}, direction: order.direction, offset: order.offset, volume: order.volume_orign, volume_left: order.volume_left, status: order.status, message: order.last_msg, }这只是普通字典快照后续订单更新不会修改已经保存的记录。日志中不要写认证信息也不需要把整个账户对象倾倒出来。保持字段最小且足以定位反而更容易比较不同订单。订单结束后还可以做一次机械对账原始手数减去剩余手数是否与该订单成交记录的手数总和一致成交方向和开平是否与原始请求一致最终持仓变化能否由这些成交解释。任何一项不一致都不应靠再次下单“修正”而应先保留现场并排查。撤单同样需要事件循环完成调用cancel_order是提交撤销请求不是同步删除订单。撤销后仍要继续wait_update等待订单状态更新。若撤单与成交在时间上接近仍可能出现成交因此撤单完成后应重新读取成交和持仓而不是直接恢复为“未交易”状态。if order.status ALIVE and should_cancel(): api.cancel_order(order) while order.status ALIVE: api.wait_update()should_cancel是策略自己的条件占位。它需要说明超时、价格偏离或信号失效中的哪一种情况触发撤单。只写“没成交就撤”会因为更新频率不同产生完全不同的行为。撤单之后若要重新下单应先计算剩余目标不能照抄原始手数。已经部分成交的订单若按原手数重发最终持仓就会超过预期。最容易导致重复下单的几个误区第一个误区是信号每次行情变化都为真于是每轮都调用insert_order。应记录当前活动委托和目标状态同一业务意图尚未结束时不创建第二份订单。第二个误区是程序重启后只看内存变量。内存中的订单引用已经丢失但账户里可能仍有活动委托。启动时应查询账户现有委托、成交和持仓重建业务状态后再允许新动作。第三个误区是只打印异常文字不记录订单标识、合约、方向、开平、手数和状态。没有这些定位信息看到“报单失败”也无法知道是哪一次请求、失败后是否产生了持仓。第四个误区是把行情价格当作成交价格写入统计。成交必须来自 Trade 回报行情只能解释当时市场背景。否则滑点和未成交会从结果中消失。第五个误区是忽略交易所与品种的开平规则只根据净仓拼接OPEN或CLOSE。今昨仓、方向和账户实际持仓都会影响合法动作。规则尚未处理清楚时应先使用模拟环境观察不要让一条看似通用的下单函数自动猜测全部业务含义。第六个误区是捕获所有异常后继续循环。若订单创建、撤销或状态解析出现无法解释的错误程序应停止新增动作并输出定位信息。无条件继续可能让内部状态与账户事实逐渐分离最后只能看到持仓错误却找不到最早的失败点。委托生命周期清单下单前确认具体合约、方向、开平、手数、价格和账户环境。insert_order后持续wait_update不把返回引用当成成交证明。同时检查状态、原始手数、剩余手数、状态信息和成交记录。撤单后等待回报并按实际成交重新计算剩余目标。程序重启先恢复活动委托与持仓所有日志保留订单定位信息。把委托当作一个跨越多次事件更新的生命周期交易代码才会从“一行下单”变成可解释的状态管理。每一次仓位变化都能追溯到具体订单和成交才是进入更复杂策略前真正需要的基础。

相关新闻

2026下半年武汉配眼镜主流机构场景化测评:选型避坑参考

2026下半年武汉配眼镜主流机构场景化测评:选型避坑参考

2026/8/13 8:21:05

武汉配眼镜常见选择疑问当前武汉配镜市场门店类型多元,不同机构的服务标准、产品定价差异较大,不少消费者在选择配镜服务时会产生共性疑问。第一类疑问聚焦验光专业度:怎么判断验光服务是否符合专业规范,会不会出现几分钟快速验光…

BetterGI终极指南:5大核心功能彻底解放原神玩家的双手

BetterGI终极指南:5大核心功能彻底解放原神玩家的双手

2026/8/13 8:11:05

BetterGI终极指南:5大核心功能彻底解放原神玩家的双手 【免费下载链接】better-genshin-impact 📦BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 | 自…

AI写作实战指南:从DeepSeek到本地部署,构建人机协同创作流水线

AI写作实战指南:从DeepSeek到本地部署,构建人机协同创作流水线

2026/8/13 8:11:05

你有没有过这样的体验?追一部网络小说,情节跌宕起伏,每天准时刷新,看得欲罢不能。突然有一天,你感觉“味道”变了——情节推进的节奏、人物对话的腔调、甚至是一些微妙的逻辑漏洞,都透着一股说不出的“规整…

从零复现1985年经典文字冒险游戏:环境搭建、编译调试与源码解析

从零复现1985年经典文字冒险游戏:环境搭建、编译调试与源码解析

2026/8/13 9:31:08

在技术领域,经典项目的开源与复现不仅是情怀的延续,更是学习系统设计、编程思想和软件工程实践的绝佳途径。1985年诞生的文字冒险游戏,以其纯粹的文本交互和丰富的想象力,定义了早期电子游戏的形态。如今,这些游戏的源…

武汉工程大学《数字逻辑》期末试卷20-23学年PDF

武汉工程大学《数字逻辑》期末试卷20-23学年PDF

2026/8/13 9:31:08

武汉工程大学《数字逻辑》期末试卷20-23学年PDF武汉工程大学《数字逻辑》2020-2021学年第一学期期末试卷.pdf 武汉工程大学《数字逻辑》2021-2022学年第一学期期末试卷.pdf 武汉工程大学《数字逻辑》2022-2023学年第一学期期末试卷.pdf获取 武汉工程大学《数字逻辑》期末试卷2…

SpringBoot 四川旅游推荐系统-----Vue + SpringBoot + 协同过滤的旅游决策平台----附源码80043

SpringBoot 四川旅游推荐系统-----Vue + SpringBoot + 协同过滤的旅游决策平台----附源码80043

2026/8/13 9:31:08

旅游类项目最容易写成一个“景点展示网站”,但真正有区分度的地方,是系统能不能帮助用户完成旅行决策。四川景点数量多、类型丰富,用户面对大量景区、攻略和路线信息时,往往不是缺少内容,而是不知道如何快速筛选适合自…

训练catvsdog 的tflite库

训练catvsdog 的tflite库

2026/8/13 9:31:08

由于我的机器非常老旧,所以采用的是依靠cpu训练的模式搭建的。 ‌硬件特性‌:该机型通常搭载Intel酷睿标压处理器、核显,无独立高性能GPU,训练时优先使用CPU模式,避免显存不足报错。‌软件环境‌:安装Pyth…

链表与栈的实现原理及性能优化实战

链表与栈的实现原理及性能优化实战

2026/8/13 9:31:08

1. 为什么我们需要链表和栈? 作为一名在算法竞赛和工业级系统开发中摸爬滚打多年的程序员,我见过太多因为数据结构选择不当导致的性能灾难。记得刚入行时,我用数组实现了一个订单处理系统,当订单量暴增到10万级时,系统…

Linux用户全名详解:从/etc/passwd到实战应用

Linux用户全名详解:从/etc/passwd到实战应用

2026/8/13 9:21:08

1. 从“全名”说起:一个看似简单却常被误解的Linux用户属性 在Ubuntu 22.04,或者说任何Linux发行版中,当你创建一个新用户时,系统会要求你填写几个关键信息:用户名、密码,还有一个常常被忽略或随意填写的字…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/12 7:11:29

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/11 8:44:43

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/11 15:57:54

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

电商毛利率别再手动算了!2026年3种自动分析工具实测对比

电商毛利率别再手动算了!2026年3种自动分析工具实测对比

2026/8/13 0:00:21

一、开篇:毛利率——电商运营最该盯但最难盯的指标 电商运营中有一个指标,几乎所有老板都会问,但几乎所有运营都回答得不够确定——毛利率。不是"店铺毛利率",而是"每条链接的毛利率""每个品类的毛利率…

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代

2026/8/13 0:00:21

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代 一、为什么需要不停机发布? 传统发布方式:停服务 → 替换包 → 启服务。在内部系统里勉强能用,但在SaaS系统中是灾难。 我们的无人售货柜SaaS平台服务全国几千台设备&#…

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案

2026/8/13 0:00:21

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案 前言 大家好,我是黒漂技术佬。 线上出 Bug 这种事,就像你正吃着火锅唱着歌,突然接到电话说"柜子门打不开了"。炸不炸?慌不慌?别急&a…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/8 5:07:31

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/9 13:42:46

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/8 2:30:15

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…