自从推出创新产品的综合交易平台CTP,也就是应用托管解决方案。 综合交易平台创新的“接口开放”模式,这一突破性的变化打破了各行各业接口封闭的发展壁垒,从而促成了期货行业基于 CTP平台之上的终端厂商——上期技术与期货公司和投资者强强连手、利益趋同、合作共赢的多向性发展新格局。12 月 28 日,CTP 的第一个正式交易在人们的视线中产生。
下面通过简单的例子给大家来说明具体的ctp接口开发:
主席与二席
功能:二席没有银期转帐
性能:二席因没有日志所以响应要快些
收费:二席加收费用
命名规则
请求指令:Req*** 如 ReqUserLogin
请求响应:OnRsp*** 如 OnRspUserLogin
查询指令:ReqQry*** 如 ReqQryInstrument
查询响应:OnRspQry*** 如 OnRspQryInstrument
回报响应:OnRtn*** 如 OnRtnOrder
错误响应:OnErrRtn*** 如 OnErrRtnOrderInsert
通讯模式:
对话通讯模式:由客户端主动发起请求。Thost 收到请求、处理请求后,返回 1 条或者多条响应纪录。例如登入、各项查询、报单、撤单等操作。
私有通讯模式:由 Thost 主动向客户端发出的相关信息。例如委托回报、成交回报、错单回报等
广播通讯模式:由 Thost 主动向所有客户端发出的公共信息,例如行情等
数据流重传方式,通常使用 Restart 模式较为方便,本地数据落地可用 Resume 模式交易接口流控,查询 1 笔/秒,指令(报单/撤单/查询):每客户每连接 6 笔/秒,超过部分将排队,同一帐户连接最大前置数:默认 6 个。
Spi 与 Api
Spi:响应函数,需继承并实现
Api:指令函数
nRequestID
发送请求时需要设定 RequestID,TraderApi 返回响应时返回相关请求的RequestID。因为 TraderApi 是异步实现的,终端程序可能连续发出多个请求和查询指令。RequestID 可以把请求/查询指令和相关的回报关联起来
IsLast -- 无论是否有查询响应数据,只要查询响应结束,IsLast 为 true
响应信息 RspInfo
如果 RspInfo 为空,或者 RspInfo 的错误代码为 0,说明查询成功。
否则 RspInfo 中会保存错误编码和错误信息。
查询响应数据
查询响应方法每次返回 1 条记录。如果没有查询结果,就返回 空指针
开发准备
C++开发环境,跨平台的 CodeBlocks, wxWidgets,Boost,继承 Spi,实现虚方法。