当前位置: 首页 > news >正文

期货程序化开平标志错了总拒单:天勤 last_msg 排查思路

前言

期货报单除了买/卖方向,还要告诉交易所是「开仓」还是「平仓」,部分交易所还要区分平今、平昨。方向对了、开平错了,柜台会拒单。天勤里若用TargetPosTask,开平顺序 largely 由offset_priority和当前get_position自动计算;若手写insert_order,必须自己填offset参数。常见错误包括:空仓发平仓、平今手数超过今仓,或同一合约同时用 task 和insert_order导致状态混乱。

拒单后信息在委托对象的last_msg里,是中文或英文说明文字;status变为FINISHEDvolume_left等于原始手数时,常表示完全未成交结束。下面说明字段含义、典型场景、如何用get_position反推该怎么报。

一、名词对照

名称在天勤里
insert_order手写报单函数,参数含 direction、offset
offsetOPEN、CLOSE、CLOSETODAY 等开平标志
TargetPosTask自动算开平,用户不直接填 offset
offset_prioritytask 的平今昨开顺序
get_position持仓对象
pos净持仓
pos_long/pos_short多空分列,锁仓要看
statusALIVE=在途,FINISHED=结束
volume_left未成交手数
volume_orign原始委托手数
last_msg柜台状态说明,拒单原因常在此
is_error是否错单标记,False 也不一定无错

二、典型拒单场景

  1. 无仓却 CLOSE:净pos为 0 仍发平仓。
  2. 平今超过今仓:上期所等区分平今平昨,今仓不够。
  3. 锁仓结构复杂:净 pos 为 0 但pos_long>0,平今昨判断不同。
  4. task 与insert_order混用:官方禁止,易重复或错单。
order=api.get_order(order_id)whileTrue:api.wait_update()ifapi.is_changing(order,"status")orapi.is_changing(order,"last_msg"):iforder.status=="FINISHED"andorder.volume_left==order.volume_orign:handle_reject(order)# 解析 last_msg,勿盲目重报

handle_reject内维护「消息关键词 → 动作」表,按团队期货公司文案更新。

三、拒单后先读 position

pos=api.get_position(symbol)# 把策略目标与 pos.pos 对齐,再决定是否 set_target_volume

若用TargetPosTask,可set_target_volume(pos.pos)同步 task,再设新目标,避免在错误持仓假设上继续 OPEN。

四、交易所差异(简述)

上期所等:平今、平昨分开,offset_priority重要。中金所等:指令层面不区分平今昨,按先开先平规则,见 task 源码注释。股指平今成本可通过offset_priority="昨开"等方式降低频率,但不能替代正确持仓认知。

总结

开平标志错了,表现就是last_msg里出现资金、持仓、开平相关提示,而volume_left一点没减少。天勤的TargetPosTask适合不想手填 offset 的趋势调仓;手写insert_order则要自己保证 offset 与get_position一致,且勿与 task 混用。把常见 last_msg 整理成表、拒单后先同步持仓再重试,按步骤排查,而不是反复盲报浪费报单额度。

FAQ

1)刚下单 status 为空?

正常,继续wait_update,勿立刻判失败。

2)部分成交算拒单吗?

volume_left部分减少,按部分成交处理。

3)模拟盘文案一样吗?

大体接近,以实盘期货公司为准。

4)task 内部发什么 offset?

由天勤按交易所规则和持仓计算,用户不直接设。

风险提示

以上内容用于报单排查参考,不构成投资建议。

http://www.jsqmd.com/news/983049/

相关文章:

  • 告别Excel画图!用SerialPlot实时绘制串口波形,调试效率翻倍(附避坑指南)
  • MPV播放器高帧率补帧实战配置:从24fps到120fps的性能优化指南
  • 如何轻松备份微信聊天记录并生成年度回忆报告:WeChatMsg完全指南
  • LLPlayer语言学习播放器:终极指南 - 免费AI驱动的双语学习工具
  • 出差整理客户拜访攒的7小时录音2026挖到款亲测免费录音转换分钟搞定万字工具
  • G-Helper:轻量级华硕笔记本性能控制解决方案
  • Steam成就管理终极指南:如何安全解锁与重置Steam游戏成就
  • 股指期货量化平今太贵:天勤 offset_priority 怎么配
  • 认知统一场论实验验证报告V1.1 规范修订版(世毫九实验室内部定稿)
  • 2.5V升压12V恒流驱动芯片 线路讲解(FP7208X)
  • Point-E:从文字到3D点云的AI创作革命
  • 从Photoshop图层混合到Qt绘图:图解QPainter::CompositionMode的12种核心模式
  • OIDE 上海户外展 | 骆驼户外美妆美陈设计,凭什么出圈?肆墨设计
  • 激光制导和激光制导无源干扰技术(上)
  • AI SEO效果验证的方法论:测量指标、样本规模与业务价值归因
  • 终极视频去重指南:Vidupe智能工具帮你快速清理重复视频文件
  • 20263款亲测免费视频字幕提取神器,5分钟搞定,好用到哭真香!
  • Elastic Stack 8.0独立Agent避坑指南:从API Key权限到服务启动的那些‘坑’
  • 生产级多维聚合实战:滚动窗口、unstack重构与自定义函数避坑指南
  • 客观现实源于波函数坍缩:意识内源测量与智能外源投影一体化统一理论(V1.1 修订版)
  • HTML打包EXE导出配置文件教程:使用 .html2exe 文件备份、迁移和复用打包设置
  • 【PaperFlow】前端部署到子路径之后,怎么解决路径问题
  • 一个问题变成 50 条 SQL:AI Agent 是怎么问数据库的?
  • NXP KMA321/A可编程角度传感器:AMR技术、SENT接口与ASIL功能安全详解
  • TQVaultAE终极指南:如何彻底解决《泰坦之旅》仓库空间不足问题
  • JumpServer4\.10\.16离线部署\+外部Nginx反向代理 解决30分钟空闲断开WebSocket超时(延长10天)
  • ARM Cortex-M4与K30微控制器:高性能低功耗嵌入式开发实战解析
  • 保姆级教程:用MMSegmentation+Swin-T+UperNet搞定停车场场景语义分割(附完整代码与数据集)
  • 【粉丝福利社】一本书讲透具身智能:技术、应用、商业与未来
  • 阿贝云免费服务器全面评测:永久免费的云服务值得冲吗?