[计算机软件及应用]NGES交易系统交易API和行情API接口规范_第1页
[计算机软件及应用]NGES交易系统交易API和行情API接口规范_第2页
[计算机软件及应用]NGES交易系统交易API和行情API接口规范_第3页
[计算机软件及应用]NGES交易系统交易API和行情API接口规范_第4页
[计算机软件及应用]NGES交易系统交易API和行情API接口规范_第5页
已阅读5页,还剩173页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、NGES交易系统交易API和行情API接口规范Version发布日期:2009年6月20日修订记录、核准记录和审核记录修订记录版本编号修订日期主要修订摘要2009/5/4技术中心和技术公司:根据会员接入规范和流程测试结果修改文档。2008/12/4技术公司:增加灾备接口;增加主题查询接口说明。2008/01/28技术公司:增加RESTART、RESUME和QUICK三种数据流恢复模式。2007/12/17技术部:合并TraderAPI和MduserAPI文档,调整部分章节内容。2007/12/11技术公司:增加了错误代码处理;增加了私有流序列号设置功能;增加了前置机NameServer内容,但

2、暂时不开放。2007/8/31上海期货交易所技术部:根据NGES V1.08交易系统修改部分接口;提高压缩效率;增加交易员私有流。2006/8/11上海期货信息技术制定初稿。核准记录核准人员属于部门(单位)核准日期严少辉技术中心2009/6/20审核记录审核人员属于部门(单位)审核日期邹文军技术中心2009/5/20文件制作和维护:上海期货交易所技术部;上海期货信息技术。目 录 TOC o 1-3 h z u HYPERLINK l _Toc233184969 第一部分、NGES交易系统接口介绍 PAGEREF _Toc233184969 h 4 HYPERLINK l _Toc2331849

3、70 1.介绍 PAGEREF _Toc233184970 h 4 HYPERLINK l _Toc233184971 1.1.背景 PAGEREF _Toc233184971 h 4 HYPERLINK l _Toc233184972 1.2.TraderAPI简介 PAGEREF _Toc233184972 h 4 HYPERLINK l _Toc233184973 1.3.MduserAPI简介 PAGEREF _Toc233184973 h 4 HYPERLINK l _Toc233184974 1.4.TraderAPI/MduserAPI发行的平台 PAGEREF _Toc2331

4、84974 h 4 HYPERLINK l _Toc233184975 1.5.修改历史 PAGEREF _Toc233184975 h 4 HYPERLINK l _Toc233184976 1.5.1.版本 PAGEREF _Toc233184976 h 4 HYPERLINK l _Toc233184977 2.FTD体系结构 PAGEREF _Toc233184977 h 4 HYPERLINK l _Toc233184978 2.1.通讯模式 PAGEREF _Toc233184978 h 4 HYPERLINK l _Toc233184979 2.2.数据流 PAGEREF _To

5、c233184979 h 4 HYPERLINK l _Toc233184980 3.接口模式 PAGEREF _Toc233184980 h 4 HYPERLINK l _Toc233184981 3.1.TraderAPI接口 PAGEREF _Toc233184981 h 4 HYPERLINK l _Toc233184982 3.1.1.对话流和查询流编程接口 PAGEREF _Toc233184982 h 4 HYPERLINK l _Toc233184983 3.1.2.私有流编程接口 PAGEREF _Toc233184983 h 4 HYPERLINK l _Toc233184

6、984 3.1.3.公共流编程接口 PAGEREF _Toc233184984 h 4 HYPERLINK l _Toc233184985 3.2.MduserAPI接口 PAGEREF _Toc233184985 h 4 HYPERLINK l _Toc233184986 3.2.1.对话流编程接口 PAGEREF _Toc233184986 h 4 HYPERLINK l _Toc233184987 3.2.2.行情流编程接口 PAGEREF _Toc233184987 h 4 HYPERLINK l _Toc233184988 4.运行模式 PAGEREF _Toc233184988 h

7、 4 HYPERLINK l _Toc233184989 4.1.工作流程 PAGEREF _Toc233184989 h 4 HYPERLINK l _Toc233184990 4.1.1.初始化阶段 PAGEREF _Toc233184990 h 4 HYPERLINK l _Toc233184991 4.1.2.功能调用阶段 PAGEREF _Toc233184991 h 4 HYPERLINK l _Toc233184992 4.2.工作线程 PAGEREF _Toc233184992 h 4 HYPERLINK l _Toc233184993 4.3.会员系统使用TraderAPI与

8、交易系统的交互 PAGEREF _Toc233184993 h 4 HYPERLINK l _Toc233184994 4.4.与交易所前置系统的连接 PAGEREF _Toc233184994 h 4 HYPERLINK l _Toc233184995 4.5.本地文件 PAGEREF _Toc233184995 h 4 HYPERLINK l _Toc233184996 4.6.请求/应答日志文件 PAGEREF _Toc233184996 h 4 HYPERLINK l _Toc233184997 4.7.可靠数据流的订阅方式 PAGEREF _Toc233184997 h 4 HYPE

9、RLINK l _Toc233184998 4.7.1.API维护重传报文的序号 PAGEREF _Toc233184998 h 4 HYPERLINK l _Toc233184999 4.7.2.会员系统维护重传报文的序号 PAGEREF _Toc233184999 h 4 HYPERLINK l _Toc233185000 4.8.心跳机制(Heartbeat) PAGEREF _Toc233185000 h 4 HYPERLINK l _Toc233185001 4.9.前置机列表 PAGEREF _Toc233185001 h 4 HYPERLINK l _Toc233185002 4

10、.10.灾备接口 PAGEREF _Toc233185002 h 4 HYPERLINK l _Toc233185003 第二部分、TraderAPI参考手册 PAGEREF _Toc233185003 h 4 HYPERLINK l _Toc233185004 1.TraderAPI接口分类 PAGEREF _Toc233185004 h 4 HYPERLINK l _Toc233185005 1.1.管理接口 PAGEREF _Toc233185005 h 4 HYPERLINK l _Toc233185006 1.2.业务接口 PAGEREF _Toc233185006 h 4 HYPE

11、RLINK l _Toc233185007 1.3.当前版本不开放的业务 PAGEREF _Toc233185007 h 4 HYPERLINK l _Toc233185008 2.TraderAPI参考手册 PAGEREF _Toc233185008 h 4 HYPERLINK l _Toc233185009 2.1.CShfeFtdcTraderSpi接口 PAGEREF _Toc233185009 h 4 HYPERLINK l _Toc233185010 2.1.1.OnFrontConnected 方法 PAGEREF _Toc233185010 h 4 HYPERLINK l _T

12、oc233185011 2.1.2.OnFrontDisconnected 方法 PAGEREF _Toc233185011 h 4 HYPERLINK l _Toc233185012 2.1.3.OnHeartBeatWarning方法 PAGEREF _Toc233185012 h 4 HYPERLINK l _Toc233185013 2.1.4.OnPackageStart方法 PAGEREF _Toc233185013 h 4 HYPERLINK l _Toc233185014 2.1.5.OnPackageEnd方法 PAGEREF _Toc233185014 h 4 HYPERL

13、INK l _Toc233185015 2.1.6.OnRspUserLogin方法 PAGEREF _Toc233185015 h 4 HYPERLINK l _Toc233185016 2.1.7.OnRspUserLogout 方法 PAGEREF _Toc233185016 h 4 HYPERLINK l _Toc233185017 2.1.8.OnRspUserPasswordUpdate 方法 PAGEREF _Toc233185017 h 4 HYPERLINK l _Toc233185018 2.1.9.OnRspSubscribeTopic方法 PAGEREF _Toc233

14、185018 h 4 HYPERLINK l _Toc233185019 2.1.10.OnRspQryTopic方法 PAGEREF _Toc233185019 h 4 HYPERLINK l _Toc233185020 2.1.11.OnRspError 方法 PAGEREF _Toc233185020 h 4 HYPERLINK l _Toc233185021 2.1.12.OnRspOrderInsert 方法 PAGEREF _Toc233185021 h 4 HYPERLINK l _Toc233185022 2.1.13.OnRspOrderAction 方法 PAGEREF _

15、Toc233185022 h 4 HYPERLINK l _Toc233185023 2.1.14.OnRspQuoteInsert 方法 PAGEREF _Toc233185023 h 4 HYPERLINK l _Toc233185024 2.1.15.OnRspQuoteAction 方法 PAGEREF _Toc233185024 h 4 HYPERLINK l _Toc233185025 2.1.16.OnRspExecOrderInsert 方法 PAGEREF _Toc233185025 h 4 HYPERLINK l _Toc233185026 2.1.17.OnRspExec

16、OrderAction 方法 PAGEREF _Toc233185026 h 4 HYPERLINK l _Toc233185027 2.1.18.OnRspQryPartAccount 方法 PAGEREF _Toc233185027 h 4 HYPERLINK l _Toc233185028 2.1.19.OnRspQryOrder 方法 PAGEREF _Toc233185028 h 4 HYPERLINK l _Toc233185029 2.1.20.OnRspQryQuote 方法 PAGEREF _Toc233185029 h 4 HYPERLINK l _Toc233185030

17、 2.1.21.OnRspQryTrade 方法 PAGEREF _Toc233185030 h 4 HYPERLINK l _Toc233185031 2.1.22.OnRspQryClient 方法 PAGEREF _Toc233185031 h 4 HYPERLINK l _Toc233185032 2.1.23.OnRspQryPartPosition 方法 PAGEREF _Toc233185032 h 4 HYPERLINK l _Toc233185033 2.1.24.OnRspQryClientPosition 方法 PAGEREF _Toc233185033 h 4 HYPE

18、RLINK l _Toc233185034 2.1.25.OnRspQryInstrument 方法 PAGEREF _Toc233185034 h 4 HYPERLINK l _Toc233185035 2.1.26.OnRspQryInstrumentStatus 方法 PAGEREF _Toc233185035 h 4 HYPERLINK l _Toc233185036 2.1.27.OnRspQryBulletin 方法 PAGEREF _Toc233185036 h 4 HYPERLINK l _Toc233185037 2.1.28.OnRspQryMarketData 方法 PA

19、GEREF _Toc233185037 h 4 HYPERLINK l _Toc233185038 2.1.29.OnRspQryMBLMarketData 方法 PAGEREF _Toc233185038 h 4 HYPERLINK l _Toc233185039 2.1.30.OnRspQryHedgeVolume 方法 PAGEREF _Toc233185039 h 4 HYPERLINK l _Toc233185040 2.1.31.OnRtnTrade 方法 PAGEREF _Toc233185040 h 4 HYPERLINK l _Toc233185041 2.1.32.OnRt

20、nOrder 方法 PAGEREF _Toc233185041 h 4 HYPERLINK l _Toc233185042 2.1.33.OnRtnQuote 方法 PAGEREF _Toc233185042 h 4 HYPERLINK l _Toc233185043 2.1.34.OnRtnExecOrder 方法 PAGEREF _Toc233185043 h 4 HYPERLINK l _Toc233185044 2.1.35.OnRtnInstrumentStatus 方法 PAGEREF _Toc233185044 h 4 HYPERLINK l _Toc233185045 2.1.

21、36.OnRtnInsInstrument 方法 PAGEREF _Toc233185045 h 4 HYPERLINK l _Toc233185046 2.1.37.OnRtnDelInstrument 方法 PAGEREF _Toc233185046 h 4 HYPERLINK l _Toc233185047 2.1.38.OnRtnInsCombinationLeg 方法 PAGEREF _Toc233185047 h 4 HYPERLINK l _Toc233185048 2.1.39.OnRtnDelCombinationLeg 方法 PAGEREF _Toc233185048 h

22、4 HYPERLINK l _Toc233185049 2.1.40.OnRtnBulletin 方法 PAGEREF _Toc233185049 h 4 HYPERLINK l _Toc233185050 2.1.41.OnRtnAliasDefine 方法 PAGEREF _Toc233185050 h 4 HYPERLINK l _Toc233185051 2.1.42.OnRtnFlowMessageCancel方法 PAGEREF _Toc233185051 h 4 HYPERLINK l _Toc233185052 2.1.43.OnErrRtnOrderInsert方法 PAGE

23、REF _Toc233185052 h 4 HYPERLINK l _Toc233185053 2.1.44.OnErrRtnOrderAction方法 PAGEREF _Toc233185053 h 4 HYPERLINK l _Toc233185054 5.OnErrRtnQuoteInsert方法 PAGEREF _Toc233185054 h 4 HYPERLINK l _Toc233185055 2.1.46.OnErrRtnQuoteAction方法 PAGEREF _Toc233185055 h 4 HYPERLINK l _Toc233185056 2.1.47.OnErrRt

24、nExecOrderInsert方法 PAGEREF _Toc233185056 h 4 HYPERLINK l _Toc233185057 2.1.48.OnErrRtnExecOrderAction方法 PAGEREF _Toc233185057 h 4 HYPERLINK l _Toc233185058 2.1.49.OnRspCombOrderInsert方法 PAGEREF _Toc233185058 h 4 HYPERLINK l _Toc233185059 2.1.50.OnRspQryCombOrder方法 PAGEREF _Toc233185059 h 4 HYPERLINK

25、 l _Toc233185060 2.1.51.OnRtnCombOrder方法 PAGEREF _Toc233185060 h 4 HYPERLINK l _Toc233185061 2.1.52.OnErrRtnCombOrderInsert方法 PAGEREF _Toc233185061 h 4 HYPERLINK l _Toc233185062 2.2.CShfeFtdcTraderApi接口 PAGEREF _Toc233185062 h 4 HYPERLINK l _Toc233185063 2.2.1.CreateFtdcTraderApi方法 PAGEREF _Toc23318

26、5063 h 4 HYPERLINK l _Toc233185064 2.2.2.GetVersion方法 PAGEREF _Toc233185064 h 4 HYPERLINK l _Toc233185065 2.2.3.Release 方法 PAGEREF _Toc233185065 h 4 HYPERLINK l _Toc233185066 2.2.4.Init 方法 PAGEREF _Toc233185066 h 4 HYPERLINK l _Toc233185067 2.2.5.Join 方法 PAGEREF _Toc233185067 h 4 HYPERLINK l _Toc233

27、185068 2.2.6.GetTradingDay方法 PAGEREF _Toc233185068 h 4 HYPERLINK l _Toc233185069 2.2.7.RegisterSpi 方法 PAGEREF _Toc233185069 h 4 HYPERLINK l _Toc233185070 2.2.8.RegisterFront 方法 PAGEREF _Toc233185070 h 4 HYPERLINK l _Toc233185071 2.2.9.RegisterNameServer 方法 PAGEREF _Toc233185071 h 4 HYPERLINK l _Toc2

28、33185072 2.2.10.SetHeartbeatTimeout方法 PAGEREF _Toc233185072 h 4 HYPERLINK l _Toc233185073 2.2.11.OpenRequestLog方法 PAGEREF _Toc233185073 h 4 HYPERLINK l _Toc233185074 2.2.12.OpenResponseLog方法 PAGEREF _Toc233185074 h 4 HYPERLINK l _Toc233185075 2.2.13.SubscribePrivateTopic方法 PAGEREF _Toc233185075 h 4

29、HYPERLINK l _Toc233185076 2.2.14.SubscribePublicTopic方法 PAGEREF _Toc233185076 h 4 HYPERLINK l _Toc233185077 2.2.15.SubscribeUserTopic方法 PAGEREF _Toc233185077 h 4 HYPERLINK l _Toc233185078 2.2.16.ReqUserLogin 方法 PAGEREF _Toc233185078 h 4 HYPERLINK l _Toc233185079 2.2.17.ReqUserLogout 方法 PAGEREF _Toc2

30、33185079 h 4 HYPERLINK l _Toc233185080 2.2.18.ReqUserPasswordUpdate 方法 PAGEREF _Toc233185080 h 4 HYPERLINK l _Toc233185081 2.2.19.ReqSubscribeTopic方法 PAGEREF _Toc233185081 h 4 HYPERLINK l _Toc233185082 2.2.20.ReqQryTopic方法 PAGEREF _Toc233185082 h 4 HYPERLINK l _Toc233185083 2.2.21.ReqOrderInsert 方法

31、PAGEREF _Toc233185083 h 4 HYPERLINK l _Toc233185084 2.2.22.ReqOrderAction 方法 PAGEREF _Toc233185084 h 4 HYPERLINK l _Toc233185085 2.2.23.ReqQuoteInsert 方法 PAGEREF _Toc233185085 h 4 HYPERLINK l _Toc233185086 2.2.24.ReqQuoteAction 方法 PAGEREF _Toc233185086 h 4 HYPERLINK l _Toc233185087 2.2.25.ReqExecOrd

32、erInsert 方法 PAGEREF _Toc233185087 h 4 HYPERLINK l _Toc233185088 2.2.26.ReqExecOrderAction 方法 PAGEREF _Toc233185088 h 4 HYPERLINK l _Toc233185089 2.2.27.ReqQryPartAccount 方法 PAGEREF _Toc233185089 h 4 HYPERLINK l _Toc233185090 2.2.28.ReqQryOrder 方法 PAGEREF _Toc233185090 h 4 HYPERLINK l _Toc233185091 2

33、.2.29.ReqQryQuote 方法 PAGEREF _Toc233185091 h 4 HYPERLINK l _Toc233185092 2.2.30.ReqQryTrade 方法 PAGEREF _Toc233185092 h 4 HYPERLINK l _Toc233185093 2.2.31.ReqQryClient 方法 PAGEREF _Toc233185093 h 4 HYPERLINK l _Toc233185094 2.2.32.ReqQryPartPosition 方法 PAGEREF _Toc233185094 h 4 HYPERLINK l _Toc2331850

34、95 2.2.33.ReqQryClientPosition 方法 PAGEREF _Toc233185095 h 4 HYPERLINK l _Toc233185096 2.2.34.ReqQryInstrument 方法 PAGEREF _Toc233185096 h 4 HYPERLINK l _Toc233185097 2.2.35.ReqQryInstrumentStatus 方法 PAGEREF _Toc233185097 h 4 HYPERLINK l _Toc233185098 2.2.36.ReqQryMarketData 方法 PAGEREF _Toc233185098 h

35、 4 HYPERLINK l _Toc233185099 2.2.37.ReqQryBulletin 方法 PAGEREF _Toc233185099 h 4 HYPERLINK l _Toc233185100 2.2.38.ReqQryMBLMarketData 方法 PAGEREF _Toc233185100 h 4 HYPERLINK l _Toc233185101 2.2.39.ReqQryHedgeVolume 方法 PAGEREF _Toc233185101 h 4 HYPERLINK l _Toc233185102 2.2.40.ReqCombOrderInsert方法 PAGE

36、REF _Toc233185102 h 4 HYPERLINK l _Toc233185103 2.2.41.ReqQryCombOrder方法 PAGEREF _Toc233185103 h 4 HYPERLINK l _Toc233185104 3.TraderAPI开发示例 PAGEREF _Toc233185104 h 4 HYPERLINK l _Toc233185105 第三部分、MduserAPI参考手册 PAGEREF _Toc233185105 h 4 HYPERLINK l _Toc233185106 1.MduserAPI接口分类 PAGEREF _Toc23318510

37、6 h 4 HYPERLINK l _Toc233185107 1.1.管理接口 PAGEREF _Toc233185107 h 4 HYPERLINK l _Toc233185108 1.2.业务接口 PAGEREF _Toc233185108 h 4 HYPERLINK l _Toc233185109 2.MduserAPI参考手册 PAGEREF _Toc233185109 h 4 HYPERLINK l _Toc233185110 2.1.CShfeFtdcMduserSpi接口 PAGEREF _Toc233185110 h 4 HYPERLINK l _Toc233185111 2

38、.1.1.OnFrontConnected 方法 PAGEREF _Toc233185111 h 4 HYPERLINK l _Toc233185112 2.1.2.OnFrontDisconnected 方法 PAGEREF _Toc233185112 h 4 HYPERLINK l _Toc233185113 2.1.3.OnHeartBeatWarning方法 PAGEREF _Toc233185113 h 4 HYPERLINK l _Toc233185114 2.1.4.OnPackageStart方法 PAGEREF _Toc233185114 h 4 HYPERLINK l _T

39、oc233185115 2.1.5.OnPackageEnd方法 PAGEREF _Toc233185115 h 4 HYPERLINK l _Toc233185116 2.1.6.OnRspUserLogin方法 PAGEREF _Toc233185116 h 4 HYPERLINK l _Toc233185117 2.1.7.OnRspUserLogout 方法 PAGEREF _Toc233185117 h 4 HYPERLINK l _Toc233185118 2.1.8.OnRspSubscribeTopic方法 PAGEREF _Toc233185118 h 4 HYPERLINK

40、 l _Toc233185119 2.1.9.OnRspQryTopic方法 PAGEREF _Toc233185119 h 4 HYPERLINK l _Toc233185120 2.1.10.OnRspError 方法 PAGEREF _Toc233185120 h 4 HYPERLINK l _Toc233185121 1.OnRtnDepthMarketData 方法 PAGEREF _Toc233185121 h 4 HYPERLINK l _Toc233185122 2.2.CShfeFtdcMduserApi接口 PAGEREF _Toc233185122 h 4 HYPERLI

41、NK l _Toc233185123 2.2.1.CreateFtdcMduserApi方法 PAGEREF _Toc233185123 h 4 HYPERLINK l _Toc233185124 3.1.1.GetVersion方法 PAGEREF _Toc233185124 h 4 HYPERLINK l _Toc233185125 2.2.2.Release 方法 PAGEREF _Toc233185125 h 4 HYPERLINK l _Toc233185126 2.2.3.Init 方法 PAGEREF _Toc233185126 h 4 HYPERLINK l _Toc23318

42、5127 2.2.4.Join 方法 PAGEREF _Toc233185127 h 4 HYPERLINK l _Toc233185128 2.2.5.GetTradingDay方法 PAGEREF _Toc233185128 h 4 HYPERLINK l _Toc233185129 2.2.6.RegisterSpi 方法 PAGEREF _Toc233185129 h 4 HYPERLINK l _Toc233185130 2.2.7.RegisterFront 方法 PAGEREF _Toc233185130 h 4 HYPERLINK l _Toc233185131 3.1.2.R

43、egisterNameServer 方法 PAGEREF _Toc233185131 h 4 HYPERLINK l _Toc233185132 2.2.8.SetHeartbeatTimeout方法 PAGEREF _Toc233185132 h 4 HYPERLINK l _Toc233185133 2.2.9.SubscribeMarketDataTopic方法 PAGEREF _Toc233185133 h 4 HYPERLINK l _Toc233185134 2.2.10.ReqUserLogin 方法 PAGEREF _Toc233185134 h 4 HYPERLINK l _

44、Toc233185135 2.2.11.ReqUserLogout 方法 PAGEREF _Toc233185135 h 4 HYPERLINK l _Toc233185136 2.2.12.ReqSubscribeTopic方法 PAGEREF _Toc233185136 h 4 HYPERLINK l _Toc233185137 2.2.13.ReqQryTopic方法 PAGEREF _Toc233185137 h 4 HYPERLINK l _Toc233185138 3.MduserAPI开发示例 PAGEREF _Toc233185138 h 4 HYPERLINK l _Toc2

45、33185139 第四部分 附录 PAGEREF _Toc233185139 h 4 HYPERLINK l _Toc233185140 1.错误编码列表 PAGEREF _Toc233185140 h 4 HYPERLINK l _Toc233185141 2.枚举值列表 PAGEREF _Toc233185141 h 4 HYPERLINK l _Toc233185142 3.数据类型列表 PAGEREF _Toc233185142 h 4第一部分、NGES交易系统接口介绍本部分主要介绍NGES交易系统的接口,包括:第一章引入NGES交易系统的两个接口,TraderAPI用于会员系统下达交

46、易、控制和查询指令,接收私有流(含报单插入、报单操作响应和成交回报)、公共流(市场控制提示)、响应流和查询流(查询结果);MduserAPI用于会员系统和行情转发商系统接收行情流。第二章介绍了两个API之后使用的通信协议FTD(Futures Trading Data Exchange Protocol),重点说明了数据流。第三章介绍了两个API对应于不同类型应用的编程接口。第四章介绍了API的工作模式,包括线程之间的通信、心跳机制和私有流信息传输的可靠性实现。作为NGES交易系统的接口基础,TraderAPI和MduserAPI的用户应该仔细阅读第一部分内容。介绍背景上海期货交易所于2006

47、年11月3日成功上线了“新一代交易所系统”(简称NGES)的第一阶段项目,其中包括交易系统(简称NGES交易系统)。NGES交易系统使用了开放的主流平台,可以运行在Unix和Windows操作系统上。在中国证监会信息中心的统一领导下,上海期货交易所(简称SHFE或者交易所)、郑州商品交易所(简称CZCE)和大连商品交易所(简称DCE)联合研究了期货交易数据交换标准(Futures Trading Data Exchange Protocol,简称FTD或者FTD协议)。中国证监会于2005年3月25日发布了FTD(JR/T 0016-2004),并于同日作为行业标准实施。NGES交易系统本质上

48、使用FTD作为会员远程交易的主接入协议;同时为保持兼容和会员远程交易系统平稳切换,NGES交易系统支持原有基于Stratus交易主机的V1和V2版本的接口(分别简称为OFPV1和OFPV2);OFPV1和V2在NGES交易系统内部通过前置机实现了到FTD的翻译和转换。和OFPV1和V2不同,FTD协议体系较为复杂,为简化会员端远程交易系统的开发难度,同时也为提高交易系统运行的可靠性,SHFE不建议会员的远程交易系统(简称会员系统或者会员端)直接使用FTD协议接入NGES交易系统。为此,上海期货交易所发布了NGES交易系统的交易API接口(简称NGES TraderAPI或者TraderAPI)

49、和行情API接口(简称NGES MduserAPI或者MduserAPI)。会员系统调用TraderAPI即可完成与NGES交易系统的对接,接收到交易所的报单和成交回报后TraderAPI将回调(Callback)会员系统;会员系统或者行情转发商(简称行情商)(会员和行情转发商接收交易所行情的系统统称为行情接收端程序)系统调用MduserAPI即可完成与NGES交易系统的对接,接收到交易所的行情后MduserAPI将回调(Callback)行情接收端程序(又称为行情接收系统)。TraderAPI把与NGES交易系统之间复杂的协议转换、数据同步和网络通信进行了封装。TraderAPI通过建立一个

50、基于TCP的虚链路通道与NGES交易系统交易前置机的连接,实现会员系统的报单等交易行为。通过TraderAPI建立的连接通道具有多地址注册、断线自动重连和交易数据自动重传等特点。MduserAPI与TraderAPI类似,建立一个基于TCP的虚链路通道与NGES交易系统行情前置机的连接,实现行情的订阅和接收。TraderAPI简介TraderAPI是一个基于C+的类库,通过使用和扩展类库提供的接口来实现全部的交易功能,包括报单与报价的录入、报单与报价的撤销、报单与报价的挂起、报单与报价的激活、报单与报价的修改、报单与报价的查询、成交单查询、会员客户查询、会员持仓查询、客户持仓查询、合约查询、合

51、约交易状态查询、交易所公告查询。该类库包含以下5个文件:文件名版本文件大小文件描述交易接口头文件0定义了UserAPI所需的一系列数据类型的头文件定义了一系列业务相关的数据结构的头文件traderapi.dll动态链接库二进制文件traderapi.lib导入库文件支持MS VC 6.0,MS VC.NET 2003编译器。需要打开多线程编译选项/MT。注意:NGES交易系统支持许多新的报单指令(比如市价、最优价、组合交易等),还支持新的交易品种(比如期权及其报价),但受现有交易规则限制,NGES交易系统并没有开放上述功能。会员系统在开发过程中需注意“当前版本不开放的业务”,同时在每个功能描述

52、中的具体描述。MduserAPI简介MduserAPI也是一个基于C+的类库,通过使用和扩展类库提供的接口来实现全部的行情订阅和接收功能。该类库包含以下5个文件:文件名版本文件大小文件描述FtdcMduser行情接口头文件定义了UserAPI所需的一系列数据类型的头文件FtdcUserApiDataT定义了一系列业务相关的数据结构的头文件mduserapi.dll动态链接库二进制文件mduapi.lib导入库文件支持MS VC 6.0,MS VC.NET 2003编译器。需要打开多线程编译选项/MT。TraderAPI/MduserAPI发行的平台目前发布了以下操作系统平台的版本:Intel

53、X86/WindowsXP:包括.h文件、.dll文件和.lib文件。Intel Linux:包括.h文件和.so文件;在RedHat kernel -42下完成编译。如果需要其他操作系统版本请和下面相关人员联系:联系人:王君鹏 :+86-21-68400751 :+86-0-邮箱: HYPERLINK mailto: 修改历史本版本基于NGES交易系统交易API和行情API接口规范V1.12 R003修改。主要有以下变更:本版本提供了灾备功能:增加【4.10灾备接口】,简要说明了灾备原理。由于登录报文中增加了数据中心代码,TraderAPI、MdUserAPI修改了ReqUserLogin和

54、OnRspUserLogin方法的参数。TraderAPI中增加了“数据流回退通知”OnRtnFlowMessageCancel方法的说明。本版本提供了数据流长度的查询功能:登录交易系统时,应答中会返回当前会员私有流长度和交易员私有流长度。TraderAPI、MdUserAPI增加了对ReqQryTopic和RspQryTpoic方法说明,用于查询流长度。对以前版本发现问题的修正: TraderAPI、MdUserAPI增加了GetVersion方法说明,之前版本虽提供功能但无文档说明。MdUserAPI增加了RegisterNameServer方法说明,之前版本虽提供功能但无文档说明。修改了

55、联系人,将周军改成王君鹏。FTD体系结构会员和行情商的系统并不直接与NGES交易系统的核心主机通信;从安全隔离角度上看,会员和行情商甚至不能意识到有交易撮合主机和行情主机的存在;会员和行情商只能连接到上述主机的两个代理服务器,分别是交易前置机(简称交易前置,也被称为交易系统或交易所系统)和行情前置机(简称为行情前置)。交易前置机负责会员系统的交易业务,但不负责发送行情,此项功能由行情前置机完成。TraderAPI使用建立在TCP协议之上的FTD协议与NGES交易系统的前置机通信。MduserAPI使用建立在TCP协议之上的FTD协议与NGES交易系统的行情前置机通信。行情前置负责处理行情接收系

56、统的行情订阅请求,并将所订阅的行情推送到行情接收系统。通讯模式FTD协议中的所有通讯都基于某个通讯模式。通讯模式实际上就是通讯双方协同工作的方式。FTD涉及的通讯模式共有三种:对话通讯模式私有通讯模式广播通讯模式对话通讯模式是指由会员系统主动发起的通讯请求。该请求被交易系统接收和处理,并给予响应。例如报单、查询等。这种通讯模式与普通的客户/服务器模式相同。私有通讯模式是指交易系统主动,向某个特定的会员或者特定会员的某个特定交易员发出的信息。例如成交回报等。广播通讯模式是指交易系统主动,向市场中的所有会员都发出相同的信息。例如公告、市场公共信息等。通讯模式和网络的连接不一定存在简单的一对一的关系

57、。也就是说,一个网络连接中可能传送多种不同通讯模式的报文,一种通讯模式的报文也可以在多个不同的连接中传送。无论哪种通讯模式,其通讯过程都如图1所示:图表 SEQ 图表 * ARABIC 1各通讯模式的工作过程数据流交易前置支持对话通讯模式、私有通讯模式、广播通讯模式。行情前置的行情转发功能支持对话通讯模式、广播通讯模式。1、对话通讯模式对话通讯模式下支持对话数据流和查询数据流。对话数据流是一个双向数据流,会员系统发送交易请求,交易系统反馈应答。交易系统不维护对话流的状态。系统故障时,对话数据流会重置,在途的数据可能会丢失。查询数据流是一个双向数据流,会员系统发送查询请求,交易系统反馈应答。交易

58、系统不维护查询流的状态。系统故障时,查询数据流会重置,在途的数据可能会丢失。2、私有通讯模式在私有通讯模式下,数据流是可靠的。在一个交易日内,会员系统断线后恢复连接时,可以请求交易系统发送指定序号之后的私有数据流数据。私有数据流向会员系统提供报单状态报告、成交回报更等信息。私有数据流分为会员私有流和交易员私有流两种。交易系统维护每个会员的私有流,有关该会员的回报信息,如报单回报、成交回报等都通过会员私有流下发。交易员要有足够的权限才可以订阅会员私有流。交易员私有流与会员私有流类似,但只包含该交易员发起的交易引发的回报信息。每个交易员都可以订阅自已的交易员私有流。3、广播通讯模式广播通讯模式下支

59、持公共数据流。公共数据流是一个单向数据流,由交易系统或者行情系统发向会员系统,用于发送市场公共信息;公共数据流是一个可靠的数据流,交易系统维护整个系统的公共数据流,在一个交易日内,会员系统断线恢复连接时,可以请求交易系统发送指定序号之后的公共数据流数据。以行情为例,行情数据流是一个公共数据流,由行情发布系统发向会员系统,用于发送行情信息;行情流是一个可靠的数据流,交易系统维护整个系统的行情流,在一个交易日内,行情接收系统断线恢复连接时,可以请求交易系统发送指定序号之后的行情流数据。交易系统所提供的行情内容是按照主题组织的。每个主题包括一组合约的行情,还包括了行情发布内容和发布方式,包括行情深度

60、、采样频率、延迟时间等。交易所会公布各行情主题的具体内容,并设定每个行情用户所能订阅的行情主题。每个行情主题对应着一个行情流。要获得行情通知,行情接收系统必需在连接行情前置后,订阅一个或多个行情发布主题。接口模式TraderAPI接口TraderAPI提供了二个接口,分别为CShfeFtdcTraderApi和CShfeFtdcTraderSpi。这两个接口是对FTD协议的封装。会员系统可以通过CShfeFtdcTraderApi发出操作请求,通过继承CShfeFtdcTraderSpi并重载回调函数来处理交易系统的回复或响应。对话流和查询流编程接口通过对话流进行通讯的编程接口通常如下:/请求

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论