CTP-API开发系列之四:接口对接准备
- CTP-API开发系列之四:接口对接准备
- CTP-API文件清单
- CTP-API通用规则
- 命名规则
- Spi与Api
- CTP-API通讯模式
- 开发语言选择
CTP-API开发系列之四:接口对接准备
CTP-API文件清单
文件名 | 说明 |
---|---|
ThostFtdcTraderApi.h | 交易接口,C++头文件,包括 CThostFtdcTraderSpi类和CThostFtdcTraderApi类 |
ThostFtdcMdApi.h | 行情接口,C++头文件,包括CThostFtdcMdSpi类和 CThostFtdcMdApi类 |
ThostFtdcUserApiDataType.h | 定义了接口使用的业务数据类型 |
ThostFtdcUserApiStruct.h | 定义了接口使用的业务数据结构 |
thosttraderapi_se.lib | windows系统下交易接口静态库 |
thosttraderapi_se.dll | windows系统下交易接口动态库 |
thosttraderapi_se.so | linux系统下交易接口动态库 |
thostmduserapi_se.lib | windows系统下行情接口静态库 |
thostmduserapi_se.dll | windows系统下行情接口动态库 |
thostmduserapi_se.so | linux系统下行情接口动态库 |
error.xml | 包括所有接口可能的错误提示信息 |
error.dtd |
CTP-API通用规则
命名规则
Spi与Api
Spi (如 CThostFtdcTraderSpi),包含有所有的响应和回报函数,用于接收综合交易平台发送或交易所发送
综合交易平台转发的信息。开发者需要继承该接口类,并实现其中相应的虚函数。
Api (如 CThostFtdcTraderApi),包含主动发起请求和订阅的接口函数,开发者直接调用即可。
CTP-API通讯模式
CTP-API是建立在TCP协议之上FTD协议与柜台系统进行通讯,柜台系统服务投资者的交易业务处理以及与各个交易所之间的通信。
FTD协议涉及的通讯模式共有三种:
- 对话通讯模式: 对话数据流和查询数据流
- 由客户端主动发起的通讯请求,该请求被交易系统端接收和处理,并向客户端返回响应。例如登录请求与响应接口ReqUserLogin/OnRspUserLogin、请求查询账户资金与响应接口ReqQryTradingAccount/OnRspQryTradingAccount等。
- 私有通讯模式:私有数据流
- 交易系统端主动向某个特定的客户端发送信息。例如报单回报接口 OnRtnOrder、成交通知接口 OnRtnTrade、执行宣告通知接口OnRtnExecOrder、期权自对冲通知接口 OnRtnOptionSelfClose等 。
- 广播通讯模式:公共数据流
- 交易系统端主动向所有连接到系统上的客户端都发出相同的信息。如行情通知接口 OnRtnDepthMarketData、合约状态推送接口 OnRtnInstrumentStatus等。
- 交易系统端主动向所有连接到系统上的客户端都发出相同的信息。如行情通知接口 OnRtnDepthMarketData、合约状态推送接口 OnRtnInstrumentStatus等。
开发语言选择
- 【官方】首选c/c++
- 优点:官方接口使用的语言,文件清单可以直接使用
- 缺点:c/c++语言入门有一定的门槛
- 【官方】java、Object-C
- 2022-12-12 官方网站首次提供支持移动端(Android、ios)的接口,这两种语言也可以直接对接开发
- 【非官方】 python
- 官网没有提供python语言的接口,需根据官方提供文件清单进行二次封装,比如swig;当然也能搜到别人封装好的python版本
- 后续做策略开发,回测系统,使用python语言开发效率会高一些
- 其他语言也是一样,需要自行进行二次封装