1、 1NGES 交易系统交易 API 和行情 API 接口规范Version:1.20发布日期: 2009 年 6 月 20 日2I 修订记录、核准记录和审核记录修订记录版本编号 修订日期 主要修订摘要1.20-R002 2009/5/4 技术中心和技术公司:根据会员接入规范和流程测试结果修改文档。1.20-R001 2008/12/4 技术公司:增加灾备接口;增加主题查询接口说明。1.12-R003 2008/01/28 技术公司:增加 RESTART、RESUME 和QUICK 三种数据流恢复模式。1.12-R002 2007/12/17 技术部:合并 TraderAPI 和 MduserA
2、PI 文档,调整部分章节内容。1.12-R001 2007/12/11技术公司:增加了错误代码处理;增加了私有流序列号设置功能;增加了前置机NameServer 内容,但暂时不开放。1.08-R001 2007/8/31上海期货交易所技术部:根据 NGES V1.08交易系统修改部分接口;提高压缩效率;增加交易员私有流。1.00 2006/8/11 上海期货信息技术有限公司制定初稿。核准记录核准人员 属于部门(单位) 核准日期严少辉 技术中心 2009/6/20审核记录审核人员 属于部门(单位) 审核日期邹文军 技术中心 2009/5/20文件制作和维护:上海期货交易所技术部;上海期货信息技术
3、有限公司。I目 录第一部分、NGES 交易系统接口介绍 .41. 介绍 .41.1. 背景 .41.2. TRADERAPI 简介 .41.3. MDUSERAPI 简介 .41.4. TRADERAPI/MDUSERAPI 发行的平台 .41.5. 修改历史 .41.5.1. 版本 1.20.42. FTD 体系结构 .42.1. 通讯模式 .42.2. 数据流 .43. 接口模式 .43.1. TRADERAPI 接口 .43.1.1. 对话流和查询流编程接口 .43.1.2. 私有流编程接口 .43.1.3. 公共流编程接口 .43.2. MDUSERAPI 接口 .43.2.1. 对话
4、流编程接口 .43.2.2. 行情流编程接口 .44. 运行模式 .44.1. 工作流程 .44.1.1. 初始化阶段 .44.1.2. 功能调用阶段 .44.2. 工作线程 .44.3. 会员系统使用 TRADERAPI 与交易系统的交互 .44.4. 与交易所前置系统的连接 .44.5. 本地文件 .44.6. 请求/应答日志文件 .44.7. 可靠数据流的订阅方式 .44.7.1. API 维护重传报文的序号 .44.7.2. 会员系统维护重传报文的序号 .44.8. 心跳机制(HEARTBEAT) .44.9. 前置机列表 .44.10. 灾备接口 .4第二部分、TRADERAPI 参
5、考手册 .41. TRADERAPI 接口分类 .41.1. 管理接口 .41.2. 业务接口 .41.3. 当前版本不开放的业务 .42. TRADERAPI 参考手册 .42.1. CSHFEFTDCTRADERSPI 接口 .42.1.1. OnFrontConnected 方法 .42.1.2. OnFrontDisconnected 方法 .42.1.3. OnHeartBeatWarning 方法 .42.1.4. OnPackageStart 方法 .42.1.5. OnPackageEnd 方法 .42.1.6. OnRspUserLogin 方法 .4II2.1.7. OnR
6、spUserLogout 方法 .42.1.8. OnRspUserPasswordUpdate 方法 .42.1.9. OnRspSubscribeTopic 方法 .42.1.10. OnRspQryTopic 方法 .42.1.11. OnRspError 方法 .42.1.12. OnRspOrderInsert 方法 .42.1.13. OnRspOrderAction 方法 .42.1.14. OnRspQuoteInsert 方法 .42.1.15. OnRspQuoteAction 方法 .42.1.16. OnRspExecOrderInsert 方法 .42.1.17. O
7、nRspExecOrderAction 方法 .42.1.18. OnRspQryPartAccount 方法 .42.1.19. OnRspQryOrder 方法 .42.1.20. OnRspQryQuote 方法 .42.1.21. OnRspQryTrade 方法 .42.1.22. OnRspQryClient 方法 .42.1.23. OnRspQryPartPosition 方法 .42.1.24. OnRspQryClientPosition 方法 .42.1.25. OnRspQryInstrument 方法 .42.1.26. OnRspQryInstrumentStatu
8、s 方法 .42.1.27. OnRspQryBulletin 方法 .42.1.28. OnRspQryMarketData 方法 .42.1.29. OnRspQryMBLMarketData 方法 .42.1.30. OnRspQryHedgeVolume 方法 .42.1.31. OnRtnTrade 方法 .42.1.32. OnRtnOrder 方法 .42.1.33. OnRtnQuote 方法 .42.1.34. OnRtnExecOrder 方法 .42.1.35. OnRtnInstrumentStatus 方法 .42.1.36. OnRtnInsInstrument 方
9、法 .42.1.37. OnRtnDelInstrument 方法 .42.1.38. OnRtnInsCombinationLeg 方法 .42.1.39. OnRtnDelCombinationLeg 方法 .42.1.40. OnRtnBulletin 方法 .42.1.41. OnRtnAliasDefine 方法 .42.1.42. OnRtnFlowMessageCancel 方法 .42.1.43. OnErrRtnOrderInsert 方法 .42.1.44. OnErrRtnOrderAction 方法 .42.1.45. OnErrRtnQuoteInsert 方法 .4
10、2.1.46. OnErrRtnQuoteAction 方法 .42.1.47. OnErrRtnExecOrderInsert 方法 .42.1.48. OnErrRtnExecOrderAction 方法 .42.1.49. OnRspCombOrderInsert 方法 .42.1.50. OnRspQryCombOrder 方法 .42.1.51. OnRtnCombOrder 方法 .42.1.52. OnErrRtnCombOrderInsert 方法 .42.2. CSHFEFTDCTRADERAPI 接口 .42.2.1. CreateFtdcTraderApi 方法 .42.
11、2.2. GetVersion 方法 .4III2.2.3. Release 方法 .42.2.4. Init 方法 .42.2.5. Join 方法 .42.2.6. GetTradingDay 方法 .42.2.7. RegisterSpi 方法 .42.2.8. RegisterFront 方法 .42.2.9. RegisterNameServer 方法 .42.2.10. SetHeartbeatTimeout 方法 .42.2.11. OpenRequestLog 方法 .42.2.12. OpenResponseLog 方法 .42.2.13. SubscribePrivateT
12、opic 方法 .42.2.14. SubscribePublicTopic 方法 .42.2.15. SubscribeUserTopic 方法 .42.2.16. ReqUserLogin 方法 .42.2.17. ReqUserLogout 方法 .42.2.18. ReqUserPasswordUpdate 方法 .42.2.19. ReqSubscribeTopic 方法 .42.2.20. ReqQryTopic 方法 .42.2.21. ReqOrderInsert 方法 .42.2.22. ReqOrderAction 方法 .42.2.23. ReqQuoteInsert 方
13、法 .42.2.24. ReqQuoteAction 方法 .42.2.25. ReqExecOrderInsert 方法 .42.2.26. ReqExecOrderAction 方法 .42.2.27. ReqQryPartAccount 方法 .42.2.28. ReqQryOrder 方法 .42.2.29. ReqQryQuote 方法 .42.2.30. ReqQryTrade 方法 .42.2.31. ReqQryClient 方法 .42.2.32. ReqQryPartPosition 方法 .42.2.33. ReqQryClientPosition 方法 .42.2.34
14、. ReqQryInstrument 方法 .42.2.35. ReqQryInstrumentStatus 方法 .42.2.36. ReqQryMarketData 方法 .42.2.37. ReqQryBulletin 方法 .42.2.38. ReqQryMBLMarketData 方法 .42.2.39. ReqQryHedgeVolume 方法 .42.2.40. ReqCombOrderInsert 方法 .42.2.41. ReqQryCombOrder 方法 .43. TRADERAPI 开发示例 .4第三部分、MDUSERAPI 参考手册 .41. MDUSERAPI 接口
15、分类 .41.1. 管理接口 .41.2. 业务接口 .42. MDUSERAPI 参考手册 .42.1. CSHFEFTDCMDUSERSPI 接口 .42.1.1. OnFrontConnected 方法 .42.1.2. OnFrontDisconnected 方法 .42.1.3. OnHeartBeatWarning 方法 .4IV2.1.4. OnPackageStart 方法 .42.1.5. OnPackageEnd 方法 .42.1.6. OnRspUserLogin 方法 .42.1.7. OnRspUserLogout 方法 .42.1.8. OnRspSubscribeTopic 方法 .42.1.9. OnRspQryTopic 方法 .42.1.10. OnRspError 方法 .42.1.1