[ctp开发手册2009.docVIP

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[ctp开发手册2009

CTP交易报告 ——应用编程手册 1、历年版本 版本:v4.2 时间:2009-11-6 备注:英文版 2、索引 第一章 简介 1.1 背景 1.2 API文件介绍 第二章 结构 2.1 通讯模式 2.2 数据流 第三章 编程接口类型 3.1 对话模式的编程接口 3.2 私有模式的编程接口 3.3 广播模式的编程接口 第一章 介绍 综合交易平台(Comprehensive Transaction Platform),是专门为期货公司开发的一套期货经纪业务管理系统,由交易、风险控制和结算三大系统组成。 API,实现了客户端和综合交易平台之间的通讯。通过API,投资者可以接收来自上交所,大商所和郑商所的行情数据,发送交易指令,接收相应的反馈和交易状态等信息。 1.1 背景 2006年,上海金融期货交易所完成了新一代交易系统的开发,我们借助其成功经验,开发了CTP。 2007年4月,我们获得了来自中国期货公司交易的第一笔订单。通过近三年的不懈努力, 使用CTP的投资者遍布全球,国内使用CTP的期货公司已到达30家。 1.2 API文件 CTP上使用的API是基于C++程序库,来实现客户端和CTP服务器之间的数据传输。客户端包括,所有投资者都可以使用的CTP标准客户端(比如,Q7,popo,weisoft等第三方开发的客户端),以及个性化交易工具(由投资者个人或其合作者开发)。通过API,客户端可以发出或撤销普通单、条件单、查询委托或交易状态、查询账户实时信息和交易头寸。API程序库包括: 注:使用MS VC 6.0,MS VC.NET 2003等编程工具的,需要在编程设置中打开“multi-thread”选项。 第二章 结构 CTP的API和CTP服务器之间使用的通讯协议是期货交易数据协议(futures TradingData Exchange protocol ,FTD),它基于TCP协议。 2.1 通讯模式 在FTD协议中,通讯模式包括以下三种模式: ?对话模式,?私有模式,?广播模式,CThostFtdcTraderApi 与CThostFtdcTraderSpi。行情API提供的是CThostFtdcMdApi 与 CThostFtdcMdSpi等两种编程接口。这四种接口遵循FTD协议。客户端可使用CThostFtdcXXXApi来发送请求,并通过CThostFtdcXXXSpi来接收CTP返回的数据。 3.1 对话模式的编程接口 对话模式的通讯函数常常这样定义: Request函数的第一个参数是请求的内容,不能为空。第二个参数是请求的ID,由client trade application保管,并且最好独一无二,这样,当客户端从CTP服务器接收到数据时,客户端可以用同一个ID重新建立请求并获得反馈。 当客户端收到CTP服务器发出的反馈时,callback函数CThostFtdcXXXSpi被激活。如果反馈多于一条,callback函数CThostFtdcXXXSpi会反复被激活,直到数据全部接收完毕。 Response函数的第一个参数是反馈的数据,它一般包括最初的请求数据。如果故障发生或CTP不能找到请求的记录,那么这个参数就是空值。第二个参数是CTP用来判断反馈是否成功的一个标识。当callback函数被激活的次数超过一次,除第一次被激活外,其他callback过程发生时第二个参数的值均为空。第三个参数是反馈的ID,作用和Request函数中的一样。最后一个参数是结束标识,其值为“true”时表示进行的是该请求的最后一个反馈。 3.2 私有模式的编程接口 下面的例子为私有模式的常用接口: 在私有模式里并没有连接API与CTP服务器的行情函数。 当CTP服务器发出私有数据流时, CThostFtdcTradeSpi的callback函数将被激活。 所有callback函数的第一个参数都是CTP服务器返回的内容。 OnErrRtnCThostFtdcTradeSpi 函数的第二个参数是报错时详细的错误信息。 3.3 广播模式的编程接口 使用广播模式时,客户端可以用以下两种方式与CTP服务器进行通讯: callback函数OnRtnInstrumentStatus 用于通知客户端合约状态的变化。 callback函数OnRtnDepthMarketData用于公布最新的交易所行情数据。 第四章 运作模式 4.1 工作线程 CTP客户端进程需要两种线程,一是应用程序线程,另一种是交易API工作线程。如果客户端想要接收行情数据,那么也需要行情API工作线程。API工作线程连接了客户端和CTP服务器。

文档评论(0)

zhuanyewd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档