行情客户端应用程序接口.DOC

上传人:国*** 文档编号:855741 上传时间:2018-11-03 格式:DOC 页数:21 大小:1.13MB
下载 相关 举报
行情客户端应用程序接口.DOC_第1页
第1页 / 共21页
行情客户端应用程序接口.DOC_第2页
第2页 / 共21页
行情客户端应用程序接口.DOC_第3页
第3页 / 共21页
行情客户端应用程序接口.DOC_第4页
第4页 / 共21页
行情客户端应用程序接口.DOC_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、中国金融期货交易所技术文档 行情客户端应用程序接口版权所有中国金融期货交易所 第 I 页 行情客户端应用程序接口2006 年 10 月 19 日中国金融期货交易所技术文档 行情客户端应用程序接口版权所有中国金融期货交易所 第 II 页 目录第 1 章 介绍 .1第 2 章 体系结构 .12.1 通讯模式 .12.2 数据流 .2第 3 章 运行模式 .13.1 工作线程 .13.2 本地文件 .1第 4 章 开发接口 .14.1 CFfexFtdcMduserSpi 接口 .14.1.1 OnFrontConnected 方法 .14.1.2 OnFrontDisconnected 方法 .1

2、4.1.3 OnHeartBeatWarning 方法 .24.1.4 OnRspUserLogin 方法 .24.1.5 OnRspUserLogout 方法 .34.1.6 OnRtnDepthMarketData 方法 .44.1.7 OnRspError 方法 .64.2 CFfexFtdcMduserApi 接口 .74.2.1 CreateFtdcMduserApi 方法 .74.2.2 Release 方法 .74.2.3 Init 方法 .84.2.4 Join 方法 .84.2.5 GetTradingDay 方法 .84.2.6 RegisterSpi 方法 .84.2.7

3、 RegisterFront 方法 .94.2.8 SubscribeMarketDataTopic 方法 .94.2.9 ReqUserLogin 方法 .94.2.10 ReqUserLogout 方法 .10第 5 章 开发示例 .12中国金融期货交易所技术文档 行情客户端应用程序接口版权所有中国金融期货交易所 第 1 页,共 21 页 第 1 章 介绍行情客户端系统 API 是一个基于 C+的类库, 通过使用和扩展类库提供的接口来实现行情数据的接收。该类库包含以下 5 个文件:文件名 版本 文件大小 文件描述CFfexFtdcMduserApi.h V1.02 11,441 字节 行情

4、接口头文件CFfexFtdcUserApiStruct.h V1.02 40,238 字节 定义了 UserAPI 所需的一系列数据类型的头文件CffexFtdcUserApiDataType.hV1.02 142,601 字节 定义了一系列业务相关的数据结构的头文件CFfexmduserapi.dll V1.02 983,121 字节 动态链接库二进制文件Cffexmduserapi.lib V1.02 3,530 字节 导入库文件支持 MS VC 6.0,MS VC.NET 2003 编译器。需要打开多线程编译选项/MT。中国金融期货交易所技术文档 行情客户端应用程序接口版权所有中国金融期

5、货交易所 第 1 页,共 21 页 第 2 章 体系结构行情 API 使用建立在 TCP 协议之上 FTD 协议与交易所的行情发布服务器进行通讯。行情发布服务器负责行情信息的产生与发布,但不参与交易过程。参与交易需要使用另外的“交易员 API”。2.1 通讯模式FTD 协议中的所有通讯都基于某个通讯模式。通讯模式实际上就是通讯双方协同工作的方式。行情发布涉及的通讯模式共有二种: 对话通讯模式 广播通讯模式对话通讯模式是指由会员端主动发起的通讯请求。该请求被交易所端接收和处理,并给予响应。例如登入与登出。这种通讯模式与普通的客户/服务器模式相同。广播通讯模式是指交易所端主动,向市场中的相关会员发

6、出相同的信息。例如行情等。通讯模式和网络的连接不一定存在简单的一对一的关系。也就是说,一个网络连接中可能传送多种不同通讯模式的报文,一种通讯模式的报文也可以在多个不同的连接中传送。无论哪种通讯模式,其通讯过程都如图 1 所示:中国金融期货交易所技术文档 行情客户端应用程序接口版权所有中国金融期货交易所 第 2 页,共 21 页 会 员 系 统 交 易 所 系 统发 送 请 求 (如 果 在 对 话 模 式 下 )给 出 响 应 (如 果 在 对 话 模 式 下 )连 接 请 求连 接 确 认身 份 认 证 请 求身 份 认 证 响 应发 出 私 有 信 息 (如 果 在 私 有 模 式 下 )

7、发 出 市 场 公 告 (如 果 在 市 场 模 式 下 )断 开 请 求断 开 确 认图 1) 各通讯模式的工作过程2.2 数据流行情发布支持对话通讯模式、广播通讯模式:对话通讯模式下支持对话数据流:对话数据流是一个双向数据流,会员系统发送请求,行情发布系统反馈应中国金融期货交易所技术文档 行情客户端应用程序接口版权所有中国金融期货交易所 第 3 页,共 21 页 答。交易系统不维护对话流的状态。系统故障时,对话数据流会重置,通讯途中的数据可能会丢失。广播通讯模式下支持行情数据流:行情数据流是一个单向数据流,由行情发布系统发向会员系统,用于发送行情信息;行情流是一个可靠的数据流,行情系统维护

8、整个系统的行情流,在一个交易日内,会员系统断线恢复连接时,可以请求行情系统发送指定序号之后的行情流数据。行情服务所提供的行情内容是按照主题组织的。每个主题包括一组合约的行情,还包括了行情发布内容和发布方式,包括行情深度、采样频率、延迟时间等。交易所会公布各行情主题的具体内容,并设定每个行情用户所能订阅的行情主题。每个行情主题对应着一个行情流。要获得行情通知,客户端必需在连接行情服务器时,订阅一个或多个行情发布主题。中国金融期货交易所技术文档 行情客户端应用程序接口版权所有中国金融期货交易所 第 1 页,共 21 页 第 3 章 运行模式3.1 工作线程交易员客户端应用程序至少由两个线程组成,一

9、个是应用程序主线程,一个是交易员 API 工作线程。应用程序与交易系统的通讯是由 API 工作线程驱动的。CFfexFtdcMduserApi 提供的接口是线程安全的,可以有多个应用程序线程同时发出请求。CFfexFtdcMduserSpi 提供的接口回调是由 API 工作线程驱动,如果重载的某个回调函数阻塞,则等于阻塞了 API 工作线程,API 与交易系统的通讯会停止。因此,在 CFfexFtdcTraderSpi 派生类的回调函数中,通常应迅速返回,可以利用将数据放入缓冲区或通过 Windows 的消息机制来实现。3.2 本地文件交易员 API 在运行过程中,会将一些数据写入本地文件中。

10、调用CreateFtdcMduserApi 函数,可以传递一个参数,指明存贮本地文件的路径。该路径必须在运行前已创建好。本地文件的扩展名都是”.con”。中国金融期货交易所技术文档 行情客户端应用程序接口版权所有中国金融期货交易所 第 1 页,共 21 页 第 4 章 开发接口行情客户端系统 API 提供了二个接口,分别为 CFfexFtdcMduserApi 和CFfexFtdcMduserSpi。4.1 CFfexFtdcMduserSpi 接口CFfexFtdcMduserSpi 实现了事件通知接口。用户必需派生CFfexFtdcMduserSpi 接口,编写事件处理方法来处理感兴趣的事

11、件。4.1.1 OnFrontConnected 方法当客户端与行情发布服务器建立起通信连接时(还未登录前) ,该方法被调用。函数原型:void OnFrontConnected();本方法在完成初始化后调用,可以在其中完成用户登录任务。4.1.2 OnFrontDisconnected 方法当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API 会自动重新连接,客户端可不做处理。函数原型:void OnFrontDisconnected (int nReason);参数:nReason:连接断开原因0x1001 网络读失败0x1002 网络写失败0x2001 接收心跳超时0

12、x2002 发送心跳失败中国金融期货交易所技术文档 行情客户端应用程序接口版权所有中国金融期货交易所 第 2 页,共 21 页 0x2003 收到错误报文4.1.3 OnHeartBeatWarning 方法心跳超时警告。当长时间未收到报文时,该方法被调用。函数原型:void OnHeartBeatWarning(int nTimeLapse);参数:nTimeLapse:距离上次接收报文的时间4.1.4 OnRspUserLogin 方法当客户端发出登录请求之后,该方法会被调用,通知客户端登录是否成功。函数原型:void OnRspUserLogin(CFfexFtdcRspUserLogi

13、nField *pRspUserLogin, CFfexFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);参数:pRspUserLogin:返回用户登录信息的地址。用户登录信息结构:struct CFfexFtdcRspUserLoginField/交易日TFfexFtdcDateType TradingDay;/登录成功时间TFfexFtdcTimeType LoginTime;/最大本地报单号TFfexFtdcOrderLocalIDTypeMaxOrderLocalID;/交易用户代码TFfexFtdcUserIDType

14、 UserID;/会员代码TFfexFtdcParticipantIDType ParticipantID;中国金融期货交易所技术文档 行情客户端应用程序接口版权所有中国金融期货交易所 第 3 页,共 21 页 pRspInfo:返回用户响应信息的地址。特别注意在有连续的成功的响应数据时,中间有可能返回 NULL,但第一次不会,以下同。错误代码为 0 时,表示操作成功,以下同。响应信息结构:struct CFfexFtdcRspInfoField/错误代码TFfexFtdcErrorIDType ErrorID;/错误信息TFfexFtdcErrorMsgType ErrorMsg;nRequ

15、estID:返回用户登录请求的 ID,该 ID 由用户在登录时指定。bIsLast:指示该次返回是否为针对 nRequestID 的最后一次返回。4.1.5 OnRspUserLogout 方法当客户端发出登出请求之后,该方法会被调用,通知客户端登出是否成功。函数原型:void OnRspUserLogout(CFfexFtdcRspUserLogoutField *pRspUserLogout, CFfexFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);参数:pRspUserLogout:返回用户登出信息的地址。用户登出信息结构:struct CFfexFtdcRspUserLogoutField/交易用户代码TFfexFtdcUserIDType UserID;/会员代码TFfexFtdcParticipantIDType ParticipantID;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。