CTP2交易所报单回报

交易所系统所维护的合法报单,当其由于某些事件(报单、成交或撤单等)导致该报单状态发生改变时,交易所均会以报单回报的形式将报单的最新状态反馈至交易系统CTP2,交易系统CTP2则需根据报单回报信息,更新与该报单相关的系统信息。

一次报单回报的历程如下:

 

step1. 报盘前置建立的与交易所的会话OfferConnection从交易所收到响应报文EDTP_TID_NtfExchangeOrder

在on_ntf_exchange_order里对报文格式进行转换,构造一个ntf_exchange_order::Parameters变量,并参与排队

 

step2. 交易引擎执行基础业务处理入口函数ntf_exchange_order

交易引擎读取排队机流水,根据ntf_exchange_order::PROCEDURE_ID执行基础业务处理入口交易所报单回报ntf_exchange_order,在其内部,将分交易所执行不同交易所版本的ntf_exchange_order,下面以郑商所版本的ntf_exchange_order为例介绍后续步骤:

以<郑商所交易所报单>中包含的合约在交易所的代码为合约代码查找郑商所合约表找到相应的原来的合约,链接产品和行情后返回,以该合约为参数执行handle_exchange_order,在这个函数里:

(1)寻找原始的报单

根据<郑商所交易所报单>中包含的“会员代码”查找“郑商所会员编码与经纪公司编码对照“表得到BrokerID,根据该BrokerID结合<郑商所交易所报单>中包含的TraderID、OrderSysID、OrderLocalID、Direction等参数查找郑商所报单表得到原来的<郑商所报单>。

(2)检查数据同步状态

(3)设置新报单信息

如果可以找到原来的郑商所报单

  设置old_order,new_order,upd_order

如果找不到原来的郑商所报单

  那就不存在旧报单,new_order拷贝自交易所报单,另外某些字段直接手动赋值。

设置报单的报单提交状态OrderSubmitStatus为“已经接受OSS_Accepted”。

(4)统一计算成交量(针对中金所和郑商所回报中没有成交数量的情况)

新报单的数量VolumeTotalOriginal减去新报单的剩余数量VolumeTotal即为新报单的今成交数量VolumeTraded

(5)修改持仓及资金

如果可以找到原来的郑商所报单:

  则分别根据新报单及原始报单的报单状态OrderStatus、报单提交状态OrderSubmitStatus、原始报单数量VolumeTotalOriginal及剩余数量VolumeTotal,计算新报单、原始报单的未成交数量,及二者的差值。

  (只要是未知单且不是报单已经被拒绝,那么未成交数量就是原始报单数量,否则未成交数量就是0或者剩余数量)

  如果变化量>0,则表示是冻结的操作,需要调用handle_order增加资金/持仓的冻结量,更新郑商所报单表;

  如果变化量=0,则表示报单状态未发生实质性变化,无需对资金/持仓的冻结信息进行更新;

  如果变化量<0,而且如果新报单的报单状态为“未成交不在队列中”或者“撤单”,需要调用handle_order减少资金/持仓的冻结量,并调整今成交数量VolumeTraded和剩余数量VolumeTotal,更新郑商所报单表;如果是部分或者全部成交,状态的更新在成交回报中体现,这里不作处理

如果找不到原来的郑商所报单:

  直接handle_order做资金/持仓的冻结,当然旧报单为空,新报单还是来自于郑商所交易所报单。

 

转载于:https://www.cnblogs.com/SAPCE/p/8243806.html

特别声明:标价仅为视频价格(为避免不必要的纠纷,请详细了解清楚后再拍!!!)特别声明:标价仅为视频价格(为避免不必要的纠纷,请详细了解清楚后再拍!!!)特别声明:标价仅为视频价格(为避免不必要的纠纷,请详细了解清楚后再拍!!!) 获取文档和源码请加作者vx:X_Trader_Lab适合人群X-Trader:从CTP-API 到期货日内策略,适合对期货期权日内交易感兴趣的同学。 学习目标本课程体系分成三个子课程(本子课程为课程体系的第一部分):本课程体系分成三个子课程(本子课程为课程体系的第一部分):本课程体系分成三个子课程(本子课程为课程体系的第一部分):1.CTP-API交易接口深度解析2.深度探索X-Trader交易框架3.期货日内策略的原理及框架(本子课程为课程体系的第一部分) 详细介绍X-Trader 是一个基于C++ 的,适应全市场全品种交易的跨平台的极简量化交易框架,X-Trader 支持用户使用C++ 构 建各种类型的量化交易策略程序, 并提供包含历史数据-实时数据-开发调试-模拟交易-实盘交易-运行监控-风险 管理的一站式解决方案。本课程旨在帮助同学们从0 到1,掌握期货日内交易策略框架的核心技术。 课程大纲1.1 CTP1.2 API1.3 开启程序化交易之旅1.4 CTP-API 的基本架构及初始化1.5 行情接口开发1.6 行情数据处理1.7 看穿式监管评测1.8 交易接口开发1.9 报单1.10 报单回报1.11 撤单1.12 成交回报1.13 回调规则1.14 查询持仓1.15 更新持仓1.16 查询保证金率和手续费率1.17 规避自成交1.18 报单流控、查询流控和会话数控制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值