1.错误定义文件(error.dtd、error.xml)、
2.行情接口类定义文件(ThostFtdcMdApi.h)、
3.交易接口类定义文件(ThostFtdcTraderApi.h)、
4.客户端接口使用的业务数据结构定义文件(ThostFtdcUserApiStruct.h)、
5.客户端接口使用的业务数据类型定义文件(ThostFtdcUserApiDataType.h)、
6.行情接口库文件(thostmduserapi.lib,thostmduserapi.dll)、
7.交易接口库文件(thosttraderapi.lib,thosttraderapi.dll)。
交易和行情接口类定义文件都包含API和SPI类定义,
客户端使用API向CTP后台发送请求,
CTP后台则使用SPI向客户端回传响应及回报。
CTP证券接口库文件基本类似,文件名中使用“SSE”标识为证券接口。
10.CTP-API与CTP后台才何种协议通讯,如何通讯?【答:】CTP-API使用建立在TCP协议之上FTD协议与CTP后台进行通讯,FTD协议中的所有通讯都基于某个通讯模式。通讯模式实际上就是通讯双方协同工作的方式。
CTP-API涉及的通讯模式共有三种:
○1对话通讯模式,是指由客户端主动发起的通讯请求,该请求被CTP后台接收和处理,并给予响应,
如报单、撤单及查询等,这种通讯模式与普通的客户/服务器模式相同。
○2私有通讯模式,是指CTP后台主动向某个特定的客户端发出的信息,如报单回报、成交回报等。
○3广播通讯模式,是指CTP后台主动向有客户端都发出相同的信息,如合约交易状态通知等。
【答:】行情接口实例生成(DialogRsp.con,QueryRsp.con,TradingDay.con),
交易接口实例(DialogRsp.con,Private.con,Public.con,QueryRsp.con,TradingDay.con)。
以上流文件的存放路径都是通过接口实例创建函数(CreateFtdcTraderApi\CreateFtdcMdApi)参
数指定,如CreateFtdcTraderApi(".\\flow\\")将会在当前目录的flow文件夹存放流文件。客户端无法决定是否生成以上流文件,因此,在开发多CTP-API实例的客户端时需要注意操作系统的文件句柄限制。另外,流文件中存储了客户端与后台的数据交互进度标识,因此,多账号共用接口实例(或多实例共用流文件)将会造成数据紊乱或缺失。12.基于CTP-API的客户端交易软件在每个交易日开始之前需要执行哪些必要的步骤?
○1创建API实例(CreateFtdcTraderApi)并为其注册对应的回调接口类的实例(RegisterSpi)→
○2订阅私有流(SubscribePrivateTopic)→
○3订阅公有流(SubscribePublicTopic)→
○4注册名字服务器网络地址(RegisterNameServer)或注册前置机网络地址(RegisterFront)→
○5初始化API与CTP前置服务器连接(Init),连接成功后回调OnFrontConnected→
○5发起客户端认证请求(ReqAuthenticate),客户端认证结果由OnRspAuthenticate返回;在CTP后台开启强制客户端认证(或客户端在本次会
话主动发起认证)后,只有通过客户端认证才能接入CTP后台→
13.CTP的客户端怎样实现对代理服务器的支持?【答:】CTP的API提供了对代理服务器的支持,包括socks4、socks4a及socks5,客户
端开发时只需通过传递给API不同的连接字符串就可实现,
例如:
RegisterFront("socks5://IP地址或域名:端口号/user:pass@127.0.0.1:10001");