综合交易平台API简介.ppt
《综合交易平台API简介.ppt》由会员分享,可在线阅读,更多相关《综合交易平台API简介.ppt(24页珍藏版)》请在三一文库上搜索。
1、综合交易平台API简介,大纲,Api概述 通用规则 交易业务 行情业务 参考资料,概述,综合交易平台Api包括交易Api和行情Api 交易Api建立在Tcp协议上,实现了客户端和综合交易平台之间的双向异步通讯。行情Api可以运行在Tcp或者在Udp协议上。 下面把综合交易平台简称为Thost,交易Api简称为TraderApi ,行情Api简称为MdUserApi。上述2种Api统称为Api。,概述 - 通讯模式,Api有3种通讯模式: 对话通讯模式:由客户端主动发起请求。Thost收到请求、处理请求后,返回1条或者多条响应纪录。例如登入、各项查询、报单、撤单等操作。 私有通讯模式:由Thos
2、t主动向客户端发出的相关信息。例如委托回报、成交回报、错单回报等 广播通讯模式:由Thost主动向所有客户端发出的公共信息,例如行情等。,概述 通讯模式,有3种方式订阅公有流和私有流 enum THOST_TE_RESUME_TYPE / 从当天的第一条记录开始接收数据流 THOST_TERT_RESTART = 0, / 接收上次断线以后的数据流 THOST_TERT_RESUME, / 接收本次登入以后的数据流 THOST_TERT_QUICK ;,概述 - 初始化过程,MdUserApi的初始化过程比较简单, 默认按照Quick的方式订阅公有流和私有流。,概述 - 样例代码,Trader
3、Api样例代码: testTraderApi 初始化,登入,确认结算结果,查询合约,查询资金,查询持仓,报单,收委托回报,撤单 MdUserApi样例代码: testMdUserApi 初始化,登入,订阅,收行情,概述 - 接口文件,TraderApi接口文件: ThostFtdcTraderApi.h: 定义了请求接口CThostFtdcUserApi,事件处理接口CThostFtdcUserSpi。 ThostFtdcUserApiStruct.h: 定义了接口方法中用到的数据结构。 ThostFtdcUserApiDataType.h: 定义了数据结构中用到数据类型,枚举描述。 thos
4、ttraderapi.lib:静态连接库 thosttraderapi.dll:动态链接库,MdUserApi接口文件: ThostFtdcMdApi.h: 定义了请求接口CThostFtdcMdApi,事件处理接口CThostFtdcMdSpi。 ThostFtdcUserApiStruct.h,ThostFtdcUserApiDataType.h: 和TraderApi公用。 thostMdapi.lib:静态连接库 thostMdapi.dll:动态链接库,通用规则 - 命名规则,Api的方法都是遵循一定的命名规则来设定。 请求指令:Req*, OnRsp*。如ReqUserLogin,
5、OnRspUserLogin。 查询指令:ReqQry*,OnRspQry*。如ReqQryInstrument,OnRspQryInstrument。 回报消息:OnRtn*,如OnRtnOrder,OnRtnTrade。 错误回报:OnErrRtn*,如OnErrRtnOrderInsert,OnErrRtnOrderAction。,通用规则 查询/请求,请求查询合约 virtual int ReqQryInstrument(CThostFtdcQryInstrumentField *pQryInstrument, int nRequestID) = 0; 请求查询合约响应 virtual
6、 void OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) ;,通用规则 查询/请求,查询参数 如果查询参数为空,说明需要查询所有数据。如果需要查询某个交易所的合约,就在查询参数中指定ExchangeID。 请求编号RequestID 发送请求时需要设定RequestID,TraderApi返回响应时返回相关请求的RequestID。 因为TraderApi是异步实现的,终端程序可能连续发出多个请求
7、和查询指令。RequestID可以把请求/查询指令和相关的回报关联起来。 指令返回值 如果调用方法成功,返回0。否则表示不成功。,响应信息RspInfo 如果RspInfo为空,或者RspInfo的错误代码为0,说明查询成功。 否则RspInfo中会保存错误编码和错误信息。 查询响应数据 查询响应方法每次返回1条记录。如果没有查询结果,就返回空指针。 结束标志IsLast 无论是否有查询响应数据没,只要查询响应结束,IsLast为true。,交易业务 交易序列号,从报单到成交的交易过程中,会产生如下几组交易序列号: FrontID + SessionID + OrderRef 用户使用这组交易
8、序列号可以按照自己的方式来唯一标示发出的任何一笔委托。 用户登入成功后,会收到前置机编号FrontID, 会话编号SessionID 和最大报单引用MaxOrderRef。 用户在报单时设定报单引用OrderRef。 OrderRef可以从MaxOrderRef开始递增。 如果用户没有设定OrderRef,在报单响应中,Thost会为用户设置一个的OrderRef。使得每个报单的这组序列号保持唯一。 因为这组交易序列号是由用户设定的。所以在没有得到报单响应前,就可以使用这组交易序列号进行撤单操作。 BrokerID + BrokerOrderSeq Thost收到用户报单后,为每个经纪公司的报
9、单生成1组交易序列号。 exchangeID + traderID + OrderLocalID 交易席位在向交易所报单时,产生这组交易序列号,标示每一笔发往交易所的报单。 exchangeID + OrderSysID 交易所接受了投资者报单,产生这组交易序列号,标示每一笔收到的报单。 用户撤单时也可以使用这组交易序列号 注意:服务器在触发服务器预埋单、条件单时,会发送新的委托指令到交易所,需要设置新的OrderRef和OrderSysID。,交易业务 用户登入,用户登入指令是ReqUserLogin。 用户登入时需要输入:经纪公司代码,用户代码(就是投资者代码),密码,用户端产品信息(就是
10、终端程序的名称) 登入成功后,Thost返回: 当前会话的参数。用户可以用这些参数定义自己的交易序列号FrontID+SessionID+MaxOrderRef 当前各个交易所的时间。终端程序依此可以估计未来各个交易所的时间。,交易业务 准备交易,在1个交易日中: 为了让投资者了解当前的交易风险。终端程序要在第一次发送交易指令之前,查询投资者结算结果(ReqQrySettlementInfo)和确认投资者结算结果(ReqSettlementInfoConfirm),才能正常发送交易指令,包括报单、撤单、服务器预埋单等指令。 如果投资者已经确认过了结算结果,以后登入Thost,不再需要确认结算结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合 交易平台 API 简介
链接地址:https://www.31doc.com/p-2755967.html