文档详情

易盛期货交易软件开发包使用手册

平***
实名认证
店铺
DOC
355.50KB
约11页
文档ID:9116451
易盛期货交易软件开发包使用手册_第1页
1/11

易盛期货交易软件开发包使用手册版本:1.1作者:创建时间:2012 年 5 月 1 号修订记录修改时间 修改内容 修改人 说明2011-01-01 创建2011-04-12 增加 1,2,3,4 章的详细描述2012-05-01 增加部分回调接口目录:易盛期货交易软件开发包使用手册 ...............................................................................................1修订记录 ..................................................................................................................................21. 易盛开发包基本构架说明 ...............................................................................................41.1. 开发包接口 ..........................................................................................................41.2. 开发包文件说明 ...................................................................................................42. 开发包提供 API 说明 .......................................................................................................42.1. 类接口及函数接口 ...............................................................................................42.2. 接口使用约束 ......................................................................................................53. 开发包使用举例(参见 Demo.h,Demo.cpp).....................................................................63.1. 使用开发包开发流程 ...........................................................................................63.2. Demo 代码示例 ....................................................................................................74. 报单处理流程 ..................................................................................................................74.1. 字段说明 ..............................................................................................................74.2. 报单流程说明 ......................................................................................................84.3. 撤单流程说明 ......................................................................................................9缩略语 ....................................................................................................................................111. 易盛开发包基本构架说明1.1. 开发包接口EsunnyApi 接口采用 C++语言开发,提供的接口按照交易功能和行情功能划分,对应为交易类和行情类,开发用户使用本开发包开发交易软件时根据需要实现的功能分别调用对应功能的类接口。

1.2. 开发包文件说明开发包包括以下五个文件:EsunnyApi.h //开发包对外提供的接口EsunnyApiStruct.h //业务处理数据域定义EsunnyApiType.h //基本数据类型定义EsunnyApiErrcode //函数调用返回错误代码定义EsunnyApi.lib //dll 导入库,编译时用到EsunnyApi.dll //api 执行库,程序运行时用到2. 开发包提供 API 说明2.1. 类接口及函数接口2.1.1.类接口API 中提供类一共四个,分别为 IEsunnyTradeApi, IEsunnyTradeSpi,IEsunnyQuoteApi 和 IEsunnyQuoteSpi其中 IEsunnyTradeApi 和IEsunnyTradeSpi 两个类为交易处理类,提供交易相关功能,IEsunnyQuoteApi 和IEsunnyQuoteSpi 两个类为行情处理类,提供行情查询功能类名中以 Api 结尾的类的成员函数为应用程序开发者的调用函数,实现发起请求的功能类名中以 Spi 结尾的类的成员函数需要应用程序开发者重写,这些函数为动态库的回调函数,当数据接收完成时会被调用。

2.1.2.函数接口API 提供的全局函数接口包括CertEsunnyApi,GetEsunnyApiVersion ,CreateEsunnyTradeApi 和 CreateEsunnyQuoteApi四个,功能如下:CertEsunnyApi 开发商认证函数,使用本开发包的开发需要通过认证;GetEsunnyApiVersion 获取当前开发包版本;CreateEsunnyTradeApi 创建交易处理 API 实例;CreateEsunnyQuoteApi 创建行情处理 API 实例2.2. 接口使用约束1. 易盛针对本开发包的开发者提供认证码,以便于识别不同的开发者,只有通过开发商认证函数认证后,开发包提供的各项功能才能正常使用2. 调用行情处理类连接之前必须保证交易处理类已经登录成功3. 交易连接成功后,需要调用登录请求4. 交易登录成功后,方可获取当前交易日5. 交易登录成功后,方可进行相应的查询,资金,委托,成交,持仓,交易状态,商品,合约,组合合约,每一个查询数据结束后,方可进行后续查询,查询结束由该查询对应的回调函数的参数 islast 判定(1 结束,0 未结束) 。

6. 调用动态库接口查询相应数据后,动态库开始进行主动的数据推送,如:资金、委托、成交、持仓、交易状态,回调函数名称中包含 Qry 的为查询应答,包含Rtn 的为推送数据,是在条件满足时动态库主动发起的7. 对于 Api 调用返回值,bool 类型 true 为成功,int 类型 0 为成功3. 开发包使用举例(参见 Demo.h,Demo.cpp)3.1. 使用开发包开发流程1. 根据交易类和行情类创建自己的交易业务类(CTrade)和行情业务类(CQuote),CTrade 类从 IEsunnyTradeSpi 类继承,重写关注的接口,需要关联IEsunnyTradeApi 类CQuote 类需要从 IEsunnyQuoteSpi 类继承,重写关注的接口,需要关联 IEsunnyQuoteApi 类2. 创建业务类对象之前,先调用认证函数认证,传入易盛授权的认证码3. 生成行情业务处理类和交易业务处理类的实例,连接至交易服务器4. 进入程序主循环应用开发可以主动发起请求进行相关业务操作,当有数据接收时动态库会调用对应处理函数;或者有满足条件的业务状态发生变化时,应用开发无需主动发起,动态库会调用该回调函数。

图表 1 业务开发流程3.2. Demo 代码示例详见附带 DEMO 工程4. 报单处理流程4.1. 字段说明应用开发通过 IEsunnyTradeApi 的 OrderInsert 函数发起报单请求,流程中涉及到的各字段意义如下:1. 报单请求号:TEsOrderInsertReqField 结构 RequestID 字段,由客户程序生成,报单流程中交易平台第一次应答(通过 IEsunnyTradeSpi::OnRspOrderInsert 接口调用)时附带请求号,后续报单状态变化通知消息中本字段无效2. 委托号:TEsOrderNoType 结构 OrderNo 字段,为交易服务器在接受应用开发报单请求后生成,后续所有应答均带有本字段,唯一标识一个报单3. 本地号:TEsLocalNoType 结构 LocalNo 字段,为交易服务器生成,同一期货公司不同席位间互传的报单本字段存在重复, “本地号+会员号+席位号”可以唯一标识一个报单4. 系统号:TEsSystemNoType 结构 SystemNo 字段,报单提交到交易所后,交易所生成的编号当前交易日内,同一交易所的报单编号唯一,交易所编号+系统号可以唯一标识一个报单。

5. 成交号:TEsMatchNoType 结构 MatchNo 字段,对于同一交易所买卖方向不同的成交,本字段是唯一标识,交易所 + 买卖方向 + 成交号,作为成交回报唯一标识6. 组合成交号:TEsMatchNoType 结构 CmbMatchNo 字段,通过同一组合提交的报单,成交回报的组合成交号相同,主要用于识别哪些持仓为同一组合4.2. 报单流程说明1、 用户通过 OrderInsert 发送报单请求,其中请求域中的 RequestID 字段需要用户自己生成用于标示发出的不同报单2、 交易 API 将用户的请求数据封装后发送到易盛交易平台,易盛交易平台收到请求并验证后给用户响应该报单请求3、 交易 API 收到易盛交易平台的响应数据,进行数据转换后调用 OnRspOrderInsert 函数通知报单已经处理,对于易盛交易平台处理成功的报单同时会返回委托编号(OrderNo)字段,用户程序在此处将 OrderNo 和第一步生成的 RequestID(应答域的 ReqData. RequestID)进行关联,后续该笔委托的状态变化通知通过 OrderNo字段来识别本报单, RequestID 不再有效。

4、 易盛交易平台应答用户报单同时,将报单请求提交到报单对应的交易所,交易所收到该笔报单进行内部处理后将处理结果返回给易盛交易平台5、 易盛交易平台收到交易所的处理结果分为成功和失败两种情况;对于成功的报单会生成有效的系统号(SystemNo )字段,失败的报单返回失败原因,不会生成系统号易盛交易平台将收到的数据再推送给用户程序6、 交易 API 收到易盛交易平台的推送通知后,调用 OnRtnOrder 函数通知报单的最新状态成功的报单会生成有效的系统号(SystemNo )字段,失败的报单生成对应。

下载提示
相似文档
正为您匹配相似的精品文档