我司发布的API接口包含交易接口,风控接口,以及结算接口。使用这三个接口都可以实现与上期技术综合交易平台系统的对接,从而进行交易,风控以及每日结算数据的保存。
三个接口中,交易接口是面向投资者开放的,也是这次主要学习了解的对象。
交易接口主要用于获取交易所行情和下达交易指令,如订阅行情,下单,撤单,预埋单,银期转账,信息查询等。交易接口是三个接口中应用最广泛的接口,它的受众主要是终端软件开发商如快期,对交易终端有特殊需求的个人、机构或自营单位投资者。
风控接口可用于获取场上的实时数据如资金,持仓,保证金占用等,对投资者风险度进行试算,并在必要时采取强平手段以降低风险度,从而为期货公司的风控人员提供交易过程的风险揭示和风险管理服务。上期技术为期货公司风控人员提供的RcWin操作平台就是使用风控接口开发而成。由于风控接口所管理的数据是面向所有投资者的,所以风控接口的受众主要是对风控系统有特殊需求的期货公司,而不对个人投资者开放。
结算接口是部署在能够访问到综合交易平台物理数据库的电脑上的一系列数据库指令,通过执行相应的指令,操作员可以获取到数据库中的相应数据信息,如投资者资料,成交信息,资金出入信息,持仓信息等。结算接口的主要受众也是期货公司,不针对个人投资者开放。
1接口文件
开发者可以通过其所在的期货公司向我司索要交易接口或直接到我司官网上下载已经发布的交易接口。两者的版本可能有差异。
接口文件列表:
前四项主要是头文件,以ThostFtdc开头,TraderApi.h为交易相关头文件,MdApi.h为行情相关头文件,UserApiStruct.h为数据结构,UserApiDataType.h为数据类型;.dll和.lib为交易、行情、终端信息采集所需要的动态链接库和静态链接库,主要是配合看穿式监管需求;error则是分析报错信息的重要来源。
2通用规则
1命名规则
2接口类
Spi,包含有所有的响应和回报函数,用于接收综合交易平台发送或交易所发送综合交易平台转发的信息。开发者需要继承该接口类,并实现其中相应的虚函数。
Api,包含主动发起请求和订阅的接口函数,开发者直接调用即可。
3通用参数
nRequestID:客户端发送请求时要为该请求指定一个请求编号。交易接口会在响应或回报中返回与该请求相同的请求编号。当客户端进行频繁操作时,很有可能会造成同一个响应函数被调用多次,这种情况下,能将请求与响应关联起来的纽带就是请求编号。
IsLast:当响应函数需要携带的数据包过大时,该数据包会被分割成数个小的数据包并按顺序逐次发送,这种情况下同一个响应函数就是被调用多次,而参数IsLast就是用于描述当前收到的响应数据包是不是所有数据包中的最后一个。举例:查询持仓时,如果查询结果为多条记录,则会分多次回调返回,此时除了最后一次IsLast为true外,其余全为false。
RspInfo:该参数用于描述请求执行过程中是否出现错误。该数据结构中的属性ErrorId如果是0,则说明该请求被交易核心认可通过。否则,该参数描述了交易核心返回的错误信息。error.xml文件中包含所有可能的错误信息。
4接口的初始化步骤
以下步骤描述的是创建和初始化行情接口和交易接口的过程,通过以下步骤开启交易接口的工作线程。风控接口和结算接口的使用暂时不包含在此文档中。1.创建继承自SPI,并创建出实例,以及API实例。SPI指CThostFtdcTraderSpi或CThostFtdcMdSpiAPI指CThostFtdcMdApi或CThostFtdcTraderApi2.向API实例注册SPI实例。3.向API实例注册前置地址。交易接口需要注册交易前置地址,行情接口需要注册行情前置地址。4.订阅公有流。用于接收公有数据,如合约在场上的交易状态。默认模式是从上次断开连接处继续收取交易所发布数据开发者还可以指定全部重新获取,或从登陆后获取。5.订阅私有流。用于接收私有数据,如报单回报。默认模式是从上次断开连接处继续收取交易所发布数据开发者还可以指定全部重新获取,或从登陆后获取。6.初始化。7.等待线程退出。
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点
Mian Hua2023-06-03
看那么多一窝蜂的吹嘘上海机场多好的股票,就觉得好搞笑。真以为能像当初他们集体吹嘘广誉远那样,能炒作一波呢?吹着吹着,连自己都信了,这算什么?嗯,算那些吹嘘这天堂里发现石油,当把大家都忽悠过去的时候,转念一想“不会天堂里真的发现石油了吧,那我也要赶紧去,不然去晚了,连毛都没抓住……”,算这类人吧……