ctp开发手册2009

ctp开发手册2009

ID:35199197

大小:1.03 MB

页数:71页

时间:2019-03-21

ctp开发手册2009_第1页
ctp开发手册2009_第2页
ctp开发手册2009_第3页
ctp开发手册2009_第4页
ctp开发手册2009_第5页
资源描述:

《ctp开发手册2009》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、CTP交易报告——应用编程手册1、历年版本版本:v4.2时间:2009-11-6备注:英文版2、索引第一章简介1.1背景1.2API文件介绍第二章结构2.1通讯模式2.2数据流第三章编程接口类型3.1对话模式的编程接口3.2私有模式的编程接口3.3广播模式的编程接口第一章介绍综合交易平台(ComprehensiveTransactionPlatform),是专门为期货公司开发的一套期货经纪业务管理系统,由交易、风险控制和结算三大系统组成。API,实现了客户端和综合交易平台之间的通讯。通过API,投资者可以接收来自上交所,大商所和郑商所的行情数据,发送交易指令,接收相应的

2、反馈和交易状态等信息。1.1背景2006年,上海金融期货交易所完成了新一代交易系统的开发,我们借助其成功经验,开发了CTP。2007年4月,我们获得了来自中国期货公司交易的第一笔订单。通过近三年的不懈努力,使用CTP的投资者遍布全球,国内使用CTP的期货公司已到达30家。1.2API文件CTP上使用的API是基于C++程序库,来实现客户端和CTP服务器之间的数据传输。客户端包括,所有投资者都可以使用的CTP标准客户端(比如,Q7,popo,weisoft等第三方开发的客户端),以及个性化交易工具(由投资者个人或其合作者开发)。通过API,客户端可以发出或撤销普通单、条件

3、单、查询委托或交易状态、查询账户实时信息和交易头寸。API程序库包括:注:使用MSVC6.0,MSVC.NET2003等编程工具的,需要在编程设置中打开“multi-thread”选项。第二章结构CTP的API和CTP服务器之间使用的通讯协议是期货交易数据协议(futuresTradingDataExchangeprotocol,FTD),它基于TCP协议。2.1通讯模式在FTD协议中,通讯模式包括以下三种模式:l对话模式,客户端给CTP发送请求,CTP将会相应返回结果。l私有模式,CTP把特定的私人信息发送给对应的客户端,包括持仓信息、交易确认信息等。l广播模式,CT

4、P将把公告等信息发送给所有的注册用户。每种模式并不限于一种连接状态。也就是说,建立一种连接之后,客户端可以同时使用三种通讯模式,或者建立集中不同的连接之后,客户端也可以使用同样的通讯模式。比如,客户可以使用广播模式来接收合约状态的变动信息,同时也可接收私人信息(如下单确认等)。下图描绘了三种通讯模式的工作流程:2.2数据流CTP提供了对话、私有、广播等三种通讯模式。在对话模式中,传输的是对话数据流和查询数据流。对话和查询数据流是双向数据流,客户端发出请求,CTP服务器返回结果。CTP服务器并不保存对话和查询数据流。当故障发生时,比如连接中断后又重新连接,对话和查询数据流

5、将回复原值,之间传输的数据将丢失。在私人通讯模式中,传输的是私人数据流。私人数据流是单向数据流,CTP服务器就是利用它来把相应的私人信息发给提出申请的客户端。私人信息包括,风险提示、指令状态、指令确认、交易确认等。私人数据流是可靠的。当客户端和CTP服务器失去连接后,在同一交易日的任何时间,客户端都可重新连上CTP服务器,获取一系列指定的私人信息而不用担心这些数据会丢失。在广播通讯模式中,传输的是公共数据流。和私人数据流一样,它是单向数据流,而且可靠。区别在于,广播通讯数据会发送到所有连接的客户端上。它的主要用途就是发布公共合约的状态信息或重要的公共信息。第三章编程接口

6、类型CTP的交易API提供了两种编程接口:CThostFtdcTraderApi与CThostFtdcTraderSpi。行情API提供的是CThostFtdcMdApi与CThostFtdcMdSpi等两种编程接口。这四种接口遵循FTD协议。客户端可使用CThostFtdcXXXApi来发送请求,并通过CThostFtdcXXXSpi来接收CTP返回的数据。3.1对话模式的编程接口对话模式的通讯函数常常这样定义:Request函数的第一个参数是请求的内容,不能为空。第二个参数是请求的ID,由clienttradeapplication保管,并且最好独一无二,这样,当客

7、户端从CTP服务器接收到数据时,客户端可以用同一个ID重新建立请求并获得反馈。当客户端收到CTP服务器发出的反馈时,callback函数CThostFtdcXXXSpi被激活。如果反馈多于一条,callback函数CThostFtdcXXXSpi会反复被激活,直到数据全部接收完毕。Response函数的第一个参数是反馈的数据,它一般包括最初的请求数据。如果故障发生或CTP不能找到请求的记录,那么这个参数就是空值。第二个参数是CTP用来判断反馈是否成功的一个标识。当callback函数被激活的次数超过一次,除第一次被激活外,其他callba

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。