国际金融衍生品交易分析系统概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
易盛国际金融衍生品交易分析系统
API使用说明
文件状态:正在修改
3.0.1.0
版本:
完成日期:2013-12-26
文档变更日志
API 时间作者描述备注V3.0.1.0 2013-12-26 API使用说明第一版
1系统简介 (3)
API介绍 (3)
2体系结构 (4)
2.1 API架构 (4)
2.2授权 (5)
3开发接口 (6)
3.1初始化阶段 (6)
3.2功能调用阶段 (6)
3.3授权码 (6)
3.4 IEsunnyTradeSpi接口 (6)
3.4.1 OnOpen方法 (7)
3.4.2 OnClose()方法 (7)
3.4.3 OnLogin方法 (7)
3.4.4 OnInitFinished方法 (8)
3.4.5 OnLogOut方法 (9)
3.4.6 OnRspSetPassword方法 (9)
3.4.7 OnRspSetOperPassword方法 (10)
3.4.8 OnQryMoney方法 (11)
3.4.9 OnRtnMoney方法 (13)
3.4.10 OnRspCashOperQry方法 (13)
3.4.11 OnRspCashAdjustQry方法 (15)
3.4.12 OnRspOrderInsert方法 (16)
3.4.13 OnRspOrderModify方法 (17)
3.4.14 OnRspOrderDelete方法 (17)
3.4.15 OnRspQryOrder方法 (18)
3.4.16 OnRspHistOrderQry方法 (19)
3.4.17 OnRtnOrderState方法 (20)
3.4.18 OnRtnOrderInfo方法 (21)
3.4.19 OnRspMatchQry方法 (22)
3.4.20 OnRtnMatchState方法 (23)
3.4.21 OnRtnMatchInfo方法 (24)
3.4.22 OnRspHistMatchQry方法 (25)
3.4.23 OnQryHold方法 (26)
3.4.24 OnRtnHold方法 (27)
3.4.25 OnQryExchangeState方法 (27)
3.4.26 OnRtnExchangeState方法 (28)
3.4.27 OnQryCommodity方法 (29)
3.4.28 OnQryContract方法 (30)
3.4.29 OnQryClient方法 (31)
3.4.30 OnRspHistCashOperQry方法 (31)
3.4.31 OnRspHistCashAdjustQry方法 (32)
3.4.32 OnRspAuthClient方法 (34)
3.4.33 OnRspQryCurrency方法 (34)
3.4.34 OnRtnExchangeRateMod方法 (35)
3.4.35 OnRtnOrderRemove方法 (36)
3.4.36 OnRtnMatchRemove方法 (36)
3.4.37 OnRtnCommodityState方法 (37)
3.4.38 OnRtnContractAdd方法 (37)
3.5 IEsunnyTradeApi接口 (38)
3.5.1 SetSpi方法 (38)
3.5.2 Free方法 (39)
3.5.3 GetErrcodeDesc方法 (39)
3.5.4 Open方法 (39)
3.5.5 Close方法 (40)
3.5.6 IsOpen方法 (40)
3.5.7 Login方法 (40)
3.5.8 LogOut方法 (41)
3.5.9 SetPassword方法 (42)
3.5.10 SetOperPassword方法 (43)
3.5.11 QryClients方法 (43)
3.5.12 QryMoney方法 (43)
3.5.13 QryOrder方法 (43)
3.5.14 QryMatch方法 (44)
3.5.15 QryHold方法 (45)
3.5.16 QryExchangeState方法 (46)
3.5.17 QryCommodity方法 (46)
3.5.18 QryContract方法 (47)
3.5.19 OrderInsert方法 (48)
3.5.20 OrderModify方法 (49)
3.5.21 OrderDelete方法 (49)
3.5.22 QryHistOrder方法 (50)
3.5.23 QryHistMatch方法 (50)
3.5.24 QryCashOpera方法 (51)
3.5.25 QryCachAdjust方法 (52)
3.5.26 QryHistCashOpera方法 (52)
3.5.27 QryHistCachAdjust方法 (53)
3.5.28 AuthClient方法 (53)
3.5.29 QryCurrency方法 (54)
3.5.30 GetCertCodeExpireDate方法 (54)
3.6 extern "C"部分 (55)
3.6.1 GetEsunnyForeignApiVersion方法 (55)
3.6.2 CreateEsunnyForeignTradeApi方法 (55)
3.6.3 DelEsunnyForeignTradeApi方法 (56)
4开发示例 (56)
1系统简介
API介绍
易盛公司的交易行情系统都是开放的平台。
易盛为每个平台都专门提供了接入API(Application Programming Interface,应用程序编程接口),开发者可以利用这些API,开发更适合自身业务需求的子系统。
通过这些自我开发系统和易盛后台服务的无缝链接,满足个性化交易需求。
交易API包括报单,改单,撤单,查询客户资金,查询客户委托,查询客户成交,查询成交,查询持仓,查询出入金,查询资金调整等功能。
该API包含以下7个文件:
文件名版本
V1.0
V1.0
V1.0
V1.0
V1.0
V1.0
V1.0 文件大小
9KB
文件描述
定义API的错误代码
定义API所用到的数据结构
定义API所用的数据类型
交易接口头文件
EsForeignApiErrCode.h
EsForeignApiStruct.h EsForeignApiType.h EsunnyForeignApi.h ForeignTradeApi.dll ForeignTradeApi.lib ForeignTradeApi.pdb
26KB
31KB
30KB
127KB
3KB
动态链接库
导入库1371KB 程序调试数据库
2 体系结构
2.1 API架构
易盛国际金融衍生品交易分析系统API是通过向交易员提供一组函数,可以向交易后台发送数据或报送请求,再由交易后台返回或推送相关的数据信息,其基本架构如下:
下面是API的基本处理逻辑:
2.2授权
为提高API权限控制,必须申请得到相关的授权码,通过认证之后开发商才允许进行API连接。
并且可以在外盘系统的柜台下,有客户API授权管理,可以对API用户进行增加,修改,删除和查询操作。
详细申请流程可参考API申请流程文档。
3 开发接口
3.1 初始化阶段
在正式使用API功能之前,需要对交易API进行初始化。
初始化操作包括:
1,CreateEsunnyForeignTradeApi创建一个交易API实例。
2,SetSpi设置回调数据接口。
3,Open连接交易服务器
4,IsOpen获取是否与交易服务器建立连接
5,Login登陆交易服务器,完成初始化阶段。
3.2 功能调用阶段
在功能调用阶段,用户可以通过API,向易盛后台发送报单,改单,撤单,查询客户资金,查询客户委托,查询客户成交,查询成交,查询持仓,查询出入金,查询资金调整等请求,并获得相应的应答。
3.3 授权码
用户在创建API实例的时候,传入申请的授权码之后,还需要在柜台配置一下对应的明文编号,才能正常登陆。
3.4 IEsunnyTradeSpi接口
IEsunnyTradeSpi接口实现了时间通知接口。
用户必须派生IEsunnyTradeSpi 接口,编写事件处理方法来处理感兴趣的事件。
具体的结构定义,类型定义和错误码参见EsForeignApiStruct.h,EsForeignApiType.h和EsForeignApiErrCode.h这三个头文件。
3.4.1 OnOpen方法
与服务器建立连接时调用,此时还未登陆。
函数原形:
void __cdecl OnOpen();
参数:无
返回值:void
3.4.2 OnClose() 方法
与服务器断开连接时调用
函数原形:
void __cdecl OnClose();
参数:无
返回值:无
3.4.3 OnLogin方法
发送Login登陆成功时收到服务器登陆响应调用
函数原形:
void __cdecl OnLogin(const TEsLoginRspField* rsp , int errCode , const int iReqID);
参数:
rsp :
返回用户登录信息的地址
登录应答结构
struct TEsLoginRspField
{
//是否CA认证
TIsCaLoginType IsCaLogin;
//是否强制修改密码
TIsForcePasswordType
//登录号
IsForcePwd; TLoginNoType
LoginNo; //登录端帐号简称
TLoginNameType LoginName;
//客户预留信息,客户自己识别后台系统
TReservedInfoType //上次登录时间
TDateTimeType //上次登出时间
TDateTimeType
//上次登录 ip
ReservedInfo;
LastLoginDateTime;
LastLogoutDateTime; LastLoginIp; TIpType
//上次登录 port
TPortType
LastLoginPort; LastLoginMachineInfo; ServerDateTime;
//上次登录机器信息
TMachineInfoType
//系统当前时间(客户端校时)
TDateTimeType
}; errCode:
返回的错误代码,当 errCode=0,表示登陆成功(详细可查错误代码 表)。
iReqID:
返回用户登录请求的 ID ,对应发送请求的 ID 。
返回值:
无
3.4.4 OnInitFinished 方法
发送 Login 成功后,收到 OnLogin 应答成功后收到初始化操作完成。
所 有的业务操作需要在本响应 errCode 为 0(成功)后可进行
函数原形:
void __cdecl OnInitFinished(int errCode);
参数:
errCode返回初始化过程中的错误码(详细可查错误代码表)。
返回值:
无
3.4.5 OnLogOut方法
收到登出应答调用
函数原形:
void __cdecl OnLogOut(int errCode , const int iReqID);
参数:
errCode :
返回登出过程的错误码,当errCode等于0的时候,表示正常退出。
iReqID :
返回用户登出请求的ID,对应发送请求的ID。
返回值:
无
3.4.6 OnRspSetPassword方法
修改客户密码时调用
函数原形:
void __cdecl OnRspSetPassword(const TEsClientPasswordModifyRspField* rsp ,int errCode , const int iReqID);
参数:
rsp :
返回信息包括客户号和修改的密码类型,其中密码类型包含修改的密码是交易密码,行情密码,还是认证密码。
客户密码修改应答结构
struct TEsClientPasswordModifyRspField
{
//客户号
TClientNoType
//密码类型
TPasswordTypeType }; ClientNo; PasswordType;
errCode :
返回修改密码时的错误码,当errCode等于0的时候,表示修改成功。
iReqID :
返回用户登出请求的ID,对应发送请求的ID。
返回值:
无
3.4.7 OnRspSetOperPassword方法
修改操作员密码时应答
函数原形:
void __cdecl OnRspSetOperPassword(const TEsOperatorPasswordModifyRspField* rsp, int errCode, const int iReqID);
参数:
rsp:
返回操作员号
操作员密码修改应答结构
struct TEsOperatorPasswordModifyRspField
{
//操作员号
TOperatorNoType OperatorNo;
};
errCode :
返回修改密码时的错误码,当errCode等于0的时候,表示修改成功。
iReqID :
返回用户登出请求的ID,对应发送请求的ID。
返回值:
无
3.4.8 OnQryMoney方法
资金查询的应答,可以用来获得对应客户号下的今资金,今权益,今可提,手续费,保证金和出入金等资金状况。
函数原形:
void __cdecl OnQryMoney(const TEsMoneyQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID);
参数:
rsp:
查询完成时,指针为空,未完成时包含查询结果。
资金查询应答结构
struct TEsMoneyQryRspField
{
TClientNoType ClientNo;
CurrencyNo;
YAvailable;
YCanCashOut;
YMoney; //客户号
TCurrencyNoType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType
//货币编号
//昨可用
//昨可提
//昨账面
//昨权益YBalance;
YUnExpiredProfit;
Adjust;
//昨未结平盈
//资金调整
//入金CashIn;
CashOut; //出金Fee; //手续费
TMoneyValueType Frozen; //冻结资金 //逐笔平盈 //盯市平盈 //逐笔浮盈 //盯市浮盈 //未结平盈 //权利金 TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType
出入金 24(非自动汇兑资金)
TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType TMoneyValueType };
CoverProfit; DayCoverProfit; FloatProfit; DayFloatProfit; UnExpiredProfit; Premium; Deposit;
//保证金 KeepDeposit; Pledge; //维持保证金 //质押资金 //可用资金 TAvailable; Discount; //贴现金额 TradeFee; //交易手续费 //交割手续费 //汇兑手续费 //冻结保证金 //冻结手续费 //浮盈(无 LME) //LME 浮盈 DeliveryFee; ExchangeFee; FrozenDeposit; FrozenFee; NewFloatProfit; LmeFloatProfit; OptionMarketValue; OriCash; //期权市值
//币种原始
TMoney; //今资金 //今权益 //今可提 //风险率 //账户市值
TBalance; TCanCashOut; RiskRate;
AccountMarketValue;
Islast :
指示是否查询完成,完成时 rsp 指针为空
errCode :
返回查询资金时的错误码,当 errCode 等于 0的时候,表示查询成功。
iReqID :
返回用户资金查询请求的 ID ,对应发送请求的 ID 。
返回值:
无
3.4.9 OnRtnMoney方法
资金变化推送通知,能够获得客户号下资金变化的推送,包括资金调整,出入金,手续费和浮赢的推送。
函数原形:
void __cdecl OnRtnMoney(const TEsMoneyChgNoticeField& rsp);
参数:
rsp:
资金变化详细信息
struct TEsMoneyChgNoticeField
{
TClientNoType TCurrencyNoType u_short ClientNo; //客户号
//货币编号CurrencyNo;
MoneyChgNum;
MoneyItem[1];
//资金变化项的个数
//资金变化内容
TMoneyChgItem };
资金变化通知结构
struct TMoneyChgItem
{
TMoneyChgType
TMoneyValueType }; MoneyChg; MoneyValue;
返回值:
无
3.4.10 OnRspCashOperQry方法
出入金查询应答,可以查询到出入金状态,操作时间,操作人,出入金类型,出入金方式,货币编号,操作金额和审核时间等信息。
函数原形:
void __cdecl OnRspCashOperQry(const TEsCashOperQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID);
参数: rsp:
查询结果,查询完成时,指针为空 出金入金查询应答结构
struct TEsCashOperQryRspField {
TEsCashOperQryReqField TCashSerialIdType TCashStateType ReqData; //查询请求数据 //出入金流水号 //出入金状态 //操作时间 //操作人 SerialId; CashState; TDateTimeType OperDateTime; OperatorNo; CheckDateTime; CheckOperatorNo; TOperatorNoType TDateTimeType //审核时间 //审核人 TOperatorNoType TCashTypeType CashType; //出入金类型 //出入金方式 //货币编号 //操作金额 //备注
TCashModeType TCurrencyNoType TMoneyValueType TCashRemarkType CashMode; CurrencyNo; CashValue; CashRemark;
TBankType TAccountType TLWFlagType TBankType TAccountType TLWFlagType };
ClientBank; //银行标识
//银行账户 ClientAccount;
ClientLWFlag; CompanyBank; CompanyAccount; //本外币账户标识 //银行标识 //银行账户 CompanyLWFlag; //本外币账户标识
isLast:
指示是否查询完成,完成时,rsp 指针为空 errCode:
查询过程中错误码,为 0表示查询成功 iReqID:
对应发送请求的 ID 返回值:
无
3.4.11 OnRspCashAdjustQry方法
资金调整查询应答,可以获得资金调整状态,操作时间,操作人,审核时间,资金调整类型和操作金额等信息。
函数原形:
void __cdecl OnRspCashAdjustQry(const TEsAdjustQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID);
参数:
rsp:
查询结果,查询完成时,指针为空
资金调整查询应答结构
struct TEsAdjustQryRspField
{
TEsAdjustQryReqField TAdjustSerialIdType TAdjustStateType TDateTimeType ReqData; //查询请求数据
//出入金流水号
//资金调整状态
//操作时间SerialId;
AdjustState;
OperDateTime;
OperatorNo;
CheckDateTime; CheckOperatorNo;
TOperatorNoType TDateTimeType //操作人
//审核时间
TOperatorNoType //审核人
TAdjustTypeType TCurrencyNoType TMoneyValueType TAdjustRemarkType //20120616增加TBankType AdjustType;
CurrencyNo;
AdjustValue;
AdjustRemark;
//资金调整类型
//货币编号
//操作金额
//备注
ClientBank; //银行标识
//银行账户
TAccountType TLWFlagType TBankType ClientAccount;
ClientLWFlag;
CompanyBank; CompanyAccount;
//本外币账户标识
//银行标识
//银行账户
TAccountType
TLWFlagType CompanyLWFlag; //本外币账户标识};
Islast:
指示是否查询完成,完成时rsp指针为空
errCode:
资金调整查询过程中返回的错误码,为0则表示查询成功
iReqID:
对应发送请求的 ID
返回值:
无
3.4.12 OnRspOrderInsert方法
报单请求的应答,返回报单后的委托流号,委托号,本地号,客户交易账号,下单人,下单时间,委托状态和报单请求数据。
函数原形:
void __cdecl OnRspOrderInsert(const TEsOrderInsertRspField* rsp, int errCode, const int iReqID)
参数:
rsp:
报单请求的详细结果
报单应答结构
struct TEsOrderInsertRspField
{
TStreamIdType TOrderIdType TFeLocalNoType TTradeNoType OrderStreamId;
OrderId;
//委托流号
//委托号LocalNo; //本地号TradeNo; //客户交易帐号
TOperatorNoType TDateTimeType TOrderStateType InsertNo; //下单人InsertDateTime; OrderState;
//下单时间
//委托状态
TEsOrderInsertReqField ReqData; //报单请求数据};
errCode:
返回报单请求过程中的错误码,若为0,则成功。
iReqID:
对应发送请求的 ID
返回值:
无
3.4.13 OnRspOrderModify方法
改单请求的应答,出错时会收到本应答。
能够获得改单后的委托信息和委托状态。
函数原形:
void __cdecl OnRspOrderModify(const TEsOrderModifyRspField* rsp, int errCode, const int iReqID);
参数:
rsp:
改单应答结构
struct TEsOrderModifyRspField
{
T EsOrderStateNoticeField OrderStateField;
ReqData; //委托状态变更通知//报单请求数据
TEsOrderInsertReqField
};
errCode:
改单过程中返回的错误码,为0表示成功
iReqID:
对应发送请求的 ID
返回值:
无
3.4.14 OnRspOrderDelete方法
撤单请求应答,出错时会收到本应答。
能够获得撤单信息和撤单状态。
函数原形:
void __cdecl OnRspOrderDelete(const TEsOrderDeleteRspField* rsp, int errCode, const int iReqID)
参数:
rsp:
撤单应答结构
struct TEsOrderDeleteRspField
{
TEsOrderStateNoticeField OrderStateField;
ReqData;
TEsOrderInsertReqField //报单请求数据};
errCode:
撤单过程中返回的错误码,为0则表示撤单成功。
IReqID:
对应发送请求的 ID
返回值:
无
3.4.15 OnRspQryOrder方法
委托查询应答,可以查询到委托数据和当前的委托状态等数据。
函数原形:
void __cdecl OnRspQryOrder(const TEsOrderDataQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID)
参数:
rsp:
委托查询结果,查询完成时,指针为空
委托数据应答命令
typedef TEsOrderInfoNoticeField TEsOrderDataQryRspField;
struct TEsOrderInfoNoticeField
{
TEsOrderInsertReqField ReqData; //报单的请求数据
TStreamIdType TOrderIdType OrderStreamId;
OrderId;
//委托流号
//委托 ID
//本地号
TFeLocalNoType TSystemNoType TTradeNoType LocalNo;
SystemNo;
TradeNo;
//系统号
//交易账号
TOperatorNoType TDateTimeType TOperatorNoType TDateTimeType TOrderStateType TTradePriceType InsertNo; //录入操作员号
//录入时间InsertDateTime;
UpdateNo; //最后一次变更人
//最后一次变更时间
//委托状态UpdateDateTime;
OrderState;
MatchPrice; //成交价格
TTradeVolType TErrorCodeType MatchVol; //成交数量ErrorCode;//最后一次操作错误信息码
TFeLocalNoType ActionLocalNo; //报单操作的本地号
TOrderInputType
TDeletedType
TAddOneType
TSystemNoType }; OrderInput;
Deleted;
//是否录单
//是否删除AddOne; //T+1标志ExchangeSystemNo; //交易所系统号
errCode:
委托查询过程中的错误码,为0则表示查询成功。
islast:
只是是否查询完成,完成时rsp指针为空
iReqID:
对应发送请求的 ID
返回值:
无
3.4.16 OnRspHistOrderQry方法
历史委托查询应答,可以获得某一委托日期当天的委托数据。
函数原形
void __cdecl OnRspHistOrderQry(const TEsHisOrderQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID);
参数:
rsp:
查询结果,查询完成时,指针为空
历史委托查询应答结构
struct TEsHisOrderQryRspField
{
TEsOrderInfoNoticeField TDateType
Data;
Date;
//委托数据
/委托日期
};
islast:
指示是否查询完成,完成时rsp指针为空
errCode:
查询过程中的错误码,为0则表示查询成功。
iReqID:
对应发送请求的 ID
返回值:
无
3.4.17 OnRtnOrderState方法
委托变化通知,当委托状态发生变化时,就会调用此函数。
函数原形
void __cdecl OnRtnOrderState(const TEsOrderStateNoticeField& rsp);参数:
rsp:
委托详细数据
委托信息变更通知结构
struct TEsOrderInfoNoticeField
{
TEsOrderInsertReqField ReqData; //报单的请求数据
TStreamIdType TOrderIdType OrderStreamId;
OrderId;
//委托流号
//委托 ID
//本地号
TFeLocalNoType TSystemNoType TTradeNoType LocalNo;
SystemNo;
TradeNo;
//系统号
//交易账号
TOperatorNoType TDateTimeType TOperatorNoType TDateTimeType TOrderStateType TTradePriceType TTradeVolType InsertNo; //录入操作员号
//录入时间InsertDateTime;
UpdateNo; //最后一次变更人
//最后一次变更时间
//委托状态UpdateDateTime;
OrderState;
MatchPrice;
MatchVol;
//成交价格
//成交数量
TErrorCodeType ErrorCode;//最后一次操作错误信息码
TFeLocalNoType ActionLocalNo; //报单操作的本地号
TOrderInputType
TDeletedType
TAddOneType
TSystemNoType }; OrderInput;
Deleted;
//是否录单
//是否删除AddOne; //T+1标志ExchangeSystemNo; //交易所系统号
返回值:
无
3.4.18 OnRtnOrderInfo方法
委托信息变化通知,当委托信息发生变化时回调该函数
函数原形
void __cdecl OnRtnOrderInfo(const TEsOrderInfoNoticeField& rsp);
参数:
rsp:
委托信息变更通知
struct TEsOrderInfoNoticeField
{
TEsOrderInsertReqFieldReqData; //报单的请求数据
TStreamIdType TOrderIdType OrderStreamId;
OrderId;
//委托流号
//委托 ID
//本地号
TFeLocalNoType TSystemNoType TTradeNoType LocalNo;
SystemNo;
TradeNo;
//系统号
//交易账号
TOperatorNoType TDateTimeType TOperatorNoType TDateTimeType TOrderStateType TTradePriceType TTradeVolType TErrorCodeType InsertNo; //录入操作员号
//录入时间InsertDateTime;
UpdateNo; //最后一次变更人UpdateDateTime; //最后一次变更时间OrderState;
MatchPrice;
MatchVol;
//委托状态
//成交价格
//成交数量ErrorCode;//最后一次操作错误信息码
TFeLocalNoType
TOrderInputType
TDeletedType
TAddOneType
TSystemNoType }; ActionLocalNo;
OrderInput;
//报单操作的本地号
//是否录单Deleted; //是否删除AddOne; //T+1标志ExchangeSystemNo; //交易所系统号
返回值:
无
3.4.19 OnRspMatchQry方法
成交查询应答,获得某委托是否成交的信息。
函数原形
void __cdecl OnRspMatchQry(const TEsMatchDataQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID) ;
参数:
rsp:
指示是否查询完成,完成时rsp指针为空
成交数据应答命令
typedef TEsMatchInfoNoticeField TEsMatchDataQryRspField;
成交信息通知
struct TEsMatchInfoNoticeField
{
TEsMatchStateNoticeField TCommodityNoType TContractNoType TDirectType StateData;
CommodityNo;
ContractNo;
Direct;
//成交状态
//跨品种套利需要
//跨期套利需要
//套利报单需要
//互换报单需要
TOffsetType Offset; };
struct TEsMatchStateNoticeField
{
TStreamIdType TClientNoType TSystemNoType TMatchNoType TMatchModeType TMatchWayType TTradePriceType MatchStreamId;
ClientNo;
//成交流号
//客户号SystemNo;
MatchNo;
//系统号
//成交号MatchMode;
MatchWay;
MatchPrice;
//成交模式
//成交方式
//成交价
TTradeVolType
TDateTimeType
TMoneyValueType
TCurrencyNoType
TAddOneType
TManualFeeType
TDeletedType
TOrderIdType
TOrderIdType
TTradePriceType }; MatchVol;
MatchDateTime;
MatchFee;
CurrencyNo;
AddOne;
//成交数量
//成交时间
//成交费用
//手续费币种
//T+1标记
//手工手续费
//删除标志
//委托 ID ManualFee;
Deleted;
OrderId;
MatchId; //成交 ID CoverPrice; //平仓价格
islast:
指示是否查询完成,完成时rsp指针为空
errCode:
成交查询过程中返回的错误码,若为0,则表示查询成功iReqID:
对应发送请求的 ID
返回值:
无
3.4.20 OnRtnMatchState方法
成交变化推送通知
函数原形
void __cdecl OnRtnMatchState(const TEsMatchStateNoticeField& rsp) 参数:
rsp:
成交详细数据
成交状态通知
struct TEsMatchStateNoticeField
{
TStreamIdType TClientNoType TSystemNoType TMatchNoType MatchStreamId;
ClientNo;
//成交流号
//客户号
//系统号
//成交号SystemNo;
MatchNo;
TMatchWayType TTradePriceType TTradeVolType TDateTimeType TMoneyValueType TCurrencyNoType TAddOneType TManualFeeType TDeletedType MatchWay;
MatchPrice;
MatchVol;
MatchDateTime;
MatchFee;
CurrencyNo;
AddOne;
//成交方式
//成交价
//成交数量
//成交时间
//成交费用
//手续费币种
//T+1标记
//手工手续费
//删除标志
//委托 ID ManualFee;
Deleted;
TOrderIdType OrderId;
TOrderIdType MatchId; //成交 ID TTradePriceType
};
CoverPrice; //平仓价格返回值:
无
3.4.21 OnRtnMatchInfo方法
成交信息变化推送通知
函数原形
void __cdecl OnRtnMatchInfo(const TEsMatchInfoNoticeField& rsp); 参数:
rsp:
成交信息详细数据
成交信息通知
struct TEsMatchInfoNoticeField
{
TEsMatchStateNoticeField TCommodityNoType TContractNoType TDirectType StateData;
CommodityNo;
ContractNo;
Direct;
//成交状态
//跨品种套利需要
//跨期套利需要
//套利报单需要
//互换报单需要
TOffsetType Offset; };
struct TEsMatchStateNoticeField
{
TStreamIdType TClientNoType TSystemNoType TMatchNoType MatchStreamId;
ClientNo;
//成交流号
//客户号
//系统号
//成交号SystemNo;
MatchNo;
TMatchWayType TTradePriceType TTradeVolType TDateTimeType TMoneyValueType TCurrencyNoType TAddOneType TManualFeeType TDeletedType MatchWay; MatchPrice; MatchVol;
MatchDateTime; MatchFee; CurrencyNo; AddOne; //成交方式 //成交价 //成交数量 //成交时间 //成交费用 //手续费币种
//T+1标记 //手工手续费 //删除标志 //委托 ID ManualFee; Deleted; TOrderIdType OrderId; TOrderIdType MatchId; //成交 ID TTradePriceType };
CoverPrice;
//平仓价格
返回值:
无
3.4.22 OnRspHistMatchQry 方法
历史成交查询应答,查询历史的成交数据。
函数原形
void __cdecl OnRspHistMatchQry(const TEsHisMatchQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID);
参数: rsp:
历史成交查询应答结构 struct TEsHisMatchQryRspField {
TDateType Date; //结算日期 //客户号 TClientNoType TMatchNoType
TCommodityNoType TContractNoType TMatchWayType TDirectType ClientNo; SettleNo;
CommodityNo; ContractNo; MatchWay; Direct; //结算用成交编号
//商品 //合约 //成交方式 //买卖方向 //开平类型 //成交数量 //成交价格
TOffsetType Offset; TTradeVolType TTradePriceType
MatchVol; MatchPrice;
TMoneyValueType
TCurrencyNoType
TCurrencyNoType
TIsRiskOrderType
TSystemNoType
TMatchNoType
TStreamIdType
TDateTimeType
TMatchModeType
TOrderTypeType
TTradePriceType }; Premium; //权利金CurrencyNo; CommodityCurrencyNo;
IsRiskOrder;
SystemNo;
//币种
//品种币种
//是否风险报单
//系统号MatchNo; //成交号MatchStreamID;
MatchDateTime;
MatchMode;
OrderType;
//成交流号
//成交时间
//是否风险报单
//委托类型
//平仓价格CoverPrice;
islast:
指示是否查询完成,完成时rsp指针为空
errCode:
历史成交查询过程中的错误码,若为0,则表示查询成功。
iReqID:
对应发送请求的 ID
返回值:
无
3.4.23 OnQryHold方法
持仓查询的应答,返回某客户号下的合约,买卖方向,投机保值,持仓均价,持仓量,昨结算,最新价和成交时间等。
函数原形
void __cdecl OnQryHold(const TEsHoldQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID);
参数:
rsp:
持仓查询结果,查询完成时,指针为空
持仓查询应答结构
struct TEsHoldQryRspField
{
THoldKeyIdType TClientNoType HoldKeyId;
ClientNo;
//持仓关键字
//客户号
TCommodityNoType TContractNoType TDirectType CommodityNo;
ContractNo;
Direct;
//商品
//合约
//买卖方向
//投机保值
//持仓均价
//持仓量
THedgeType Hedge;
TTradePriceType
TTradeVolType
TQuotePriceType
TQuotePriceType
TDateTimeType
TMatchNoType
TMoneyValueType
TMoneyValueType }; TradePrice;
TradeVol;
YSettlePrice;
TNewPrice;
MatchDateTime;
MatchNo;
//昨结算价
//最新价
//成交时间
//成交号Deposit; //保证金KeepDeposit; //维持保证金
islast:
指示是否查询完成,完成时rsp指针为空
errCode:
持仓查询返回的错误码,若为0,则表示查询持仓成功。
iReqID:
对应发送请求的 ID
返回值:
无
3.4.24 OnRtnHold方法
持仓变化推送通知,暂时未用。
3.4.25 OnQryExchangeState方法
查询当前的市场状态,包括交易所名称,交易所状态(允许交易,禁止交易和只可平仓)
函数原形
void __cdecl OnQryExchangeState(const TEsExchangeQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID);
参数:
rsp:
市场状态详细信息,查询完成时,指针为空市场查询应答结构
struct TEsExchangeQryRspField
{
TExchangeNoType
TExchangeNameType
TExchangeStateType }; ExchangeNo; //交易所ExchangeName;
ExchangeState;
//交易所名称
//交易所状态
islast:
指示是否查询完成,完成时rsp指针为空
errCode:
查询市场状态返回的错误码,若为0,则表示查询成功。
iReqID:
对应发送请求的 ID
返回值:
无
3.4.26 OnRtnExchangeState方法
市场状态变更推送通知,当市场状态发生变更时的推送。
函数原形
void __cdecl OnRtnExchangeState(const TEsExchangeStateModifyNoticeField& rsp); 参数:
rsp:
市场状态修改通知结构
struct TEsExchangeStateModifyNoticeField
{
TExchangeNoType TExchangeStateType ExchangeNo; ExchangeState;
};
返回值:
无
3.4.27 OnQryCommodity 方法
商品查询应答,可以查询商品的依赖合约,商品状态,每手乘数,最小 变动价等数据信息。
函数原形
void __cdecl OnQryCommodity(const TEsCommodityQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID)
参数: rsp:
商品详细信息,查询完成时,指针为空
商品查询应答结构
struct TEsCommodityQryRspField {
TExchangeNoType TCommodityTypeType TCommodityNoType TCommodityNoType TCommodityNameType TCommodityAttributeType TCommodityStateType TProductDotType ExchangeNo; //交易所 CommodityType; CommodityNo;
RelateCommodityNo; CommodityName; CommodityAttribute; CommodityState; ProductDot; //商品类型 //商品 //依赖合约 //商品名称 //商品属性 //商品状态 //每手乘数
TUpperTickType UpperTick; //最小变动价分子 //最小变动价分母 //商品使用币种 //交割方式
TLowerTickType LowerTick; TCurrencyNoType CurrencyNo; TDeliveryModeType TDeliveryDaysType
DeliveryMode; DeliveryDays;
//交割日偏移
TDepositCalculateModeType DepositCalculateMode; //保证金计算方式 TTradeVolType TTradeVolType TTimeType MaxSingleOrderVol; MaxHoldVol; //单笔最大下单量 //最大持仓量 AddOneTime; //T+1时间,大于
此时间为 T+1数据
TDirectType
CmbDirect; CoverMode;
//组合买卖方向(第一腿)
//平仓方式
TCoverModeType };
islast:
指示是否查询完成,完成时 rsp 指针为空 errCode:
商品查询返回的错误码,若为 0,则表示查询成功。
iReqID:
对应发送请求的 ID
返回值:
无
3.4.28 OnQryContract方法
合约查询应答,可以获得合约状态,到期日,最后交易日等数据。
函数原形
void __cdecl OnQryContract(const TEsContractQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID);
参数:
rsp:
合约查询应答结构
struct TEsContractQryRspField
{
TCommodityNoType TContractNoType TContractNameType TContractTypeType TContractStateType TDateType CommodityNo;
ContractNo;
//商品
//合约ContractName;
ContractType;
ContractState;
ExpiryDate;
//合约名称
//合约类型
//合约状态
//到期日
//最后交易日
//首次通知日
TDateType LastTradeDate;
FirstNoticeDate;
TDateType
};
islast:
指示是否查询完成,完成时rsp指针为空errCode:
查询合约返回的错误码,若为0,则表示查询成功。
iReqID:
对应发送请求的 ID
返回值:
无
3.4.29 OnQryClient方法
交易员下属客户信息查询应答,可以获得交易员下属客户的客户号。
函数原形
void __cdecl OnQryClient(const TEsOperatorClientQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID);
参数:
rsp:
下属客户详细信息,查询完成时,指针为空操作员下属客户查询应答结构struct TEsOperatorClientQryRspField
{
TClientNoType ClientNo; //客户号};
islast:
指示是否查询完成,完成时rsp指针为空
errCode:
查询交易员下属客户返回的错误码,若为0,则表示查询成功。
iReqID:
对应发送请求的 ID
返回值:
无
3.4.30 OnRspHistCashOperQry方法
历史出金入金查询应答,可以获得某天的出入金数据。
函数原形
void __cdecl OnRspHistCashOperQry(const TEsHisCashOperQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID)
参数:
rsp:
历史出入金查询应答结构
struct TEsHisCashOperQryRspField
{
TEsCashOperQryRspField Data; Date;
TDateType
};
出金入金查询应答结构
struct TEsCashOperQryRspField {
TEsCashOperQryReqField TCashSerialIdType TCashStateType ReqData; //查询请求数据 //出入金流水号 //出入金状态 //操作时间 SerialId; CashState; TDateTimeType OperDateTime; OperatorNo; CheckDateTime; CheckOperatorNo; TOperatorNoType TDateTimeType //操作人 //审核时间 TOperatorNoType //审核人 TCashTypeType TCashModeType TCurrencyNoType TMoneyValueType TCashRemarkType //20120616增加 TBankType CashType; //出入金类型 //出入金方式 //货币编号 //操作金额 //备注 CashMode; CurrencyNo; CashValue; CashRemark; ClientBank; //银行标识 //银行账户 TAccountType TLWFlagType TBankType ClientAccount; ClientLWFlag; CompanyBank; CompanyAccount; CompanyLWFlag;
//本外币账户标识
//银行标识 TAccountType TLWFlagType };
//银行账户 //本外币账户标识
islast:
指示是否查询完成,完成时 rsp 指针为空 errCode:
查询历史出入金返回的错误码,若为 0,则表示查询成功。
iReqID:
对应发送请求的 ID 返回值:
无
3.4.31 OnRspHistCashAdjustQry 方法
历史资金调整查询应答,可以查询历史资金调整的数据。
函数原形
void __cdecl OnRspHistCashAdjustQry(const TEsHisAdjustQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID)
参数:
rsp:
查询结果,查询完成时,指针为空
历史资金调整查询应答结构
struct TEsHisAdjustQryRspField
{
TEsAdjustQryRspField TDateType Data; Date;
};
struct TEsAdjustQryRspField {
TEsAdjustQryReqField TAdjustSerialIdType TAdjustStateType TDateTimeType ReqData; //查询请求数据
//出入金流水号
//资金调整状态
//操作时间SerialId;
AdjustState;
OperDateTime;
OperatorNo;
CheckDateTime;
CheckOperatorNo;
TOperatorNoType TDateTimeType //操作人
//审核时间
TOperatorNoType //审核人
TAdjustTypeType TCurrencyNoType TMoneyValueType TAdjustRemarkType //20120616增加TBankType AdjustType;
CurrencyNo;
AdjustValue;
AdjustRemark;
//资金调整类型
//货币编号
//操作金额
//备注
ClientBank; //银行标识
//银行账户
TAccountType TLWFlagType TBankType ClientAccount;
ClientLWFlag;
CompanyBank;
CompanyAccount; CompanyLWFlag;
//本外币账户标识
//银行标识
TAccountType
TLWFlagType };
//银行账户//本外币账户标识
islast:
指示是否查询完成,完成时rsp指针为空
errCode:
查询历史资金调整返回的错误码,若为0,则表示查询成功。
iReqID:
对应发送请求的 ID
返回值:
无
3.4.32 OnRspAuthClient方法
用户密码验证请求应答
函数原形
void __cdecl OnRspAuthClient(const TEsClientPasswordAuthRspField* rsp, int errCode, const int iReqID);
参数:
rsp:
客户认证密码验证应答结构
struct TEsClientPasswordAuthRspField
{
TClientNoType ClientNo;
};
errCode:
用户密码验证请求返回的错误码,若为0,则表示查询成功。
iReqID:
对应发送请求的 ID
返回值:
无
3.4.33 OnRspQryCurrency方法
查询货币币种信息应答,可以获得该币种的货币编号,是否为基币和汇率信息。
函数原形
void __cdecl OnRspQryCurrency(const TEsCurrencyQryRspField* rsp, TEsIsLastType islast, int errCode, const int iReqID);
参数:
rsp:
查询结果,查询完成时,指针为空
币种查询应答结构
struct TEsCurrencyQryRspField {
TCurrencyNoType CurrencyNo; CurrencyName; IsPrimary; TCurrencyNameType TIsPrimaryCurrencyType TIsShareCurrencyType TExchangeRateType IsShare;
ExchangeRate;
};
islast:
指示是否查询完成,完成时 rsp 指针为空 errCode:
查询货币币种信息返回的错误码,若为 0,则表示查询成功。
iReqID:
对应发送请求的 ID 返回值:
无
3.4.34 OnRtnExchangeRateMod 方法
币种汇率变化通知,当币种汇率发生变化时,返回当前的最新汇率。
函数原形
void __cdecl OnRtnExchangeRateMod(const TEsExchangeRateModifyNoticeField& rsp)
参数: rsp:
汇率变更通知
struct TEsExchangeRateModifyNoticeField {
TCurrencyNoType CurrencyNo; TExchangeRateType ExchangeRate;
};
返回值:
无
3.4.35 OnRtnOrderRemove方法
委托删除通知,返回删除的客户号和委托编号
函数原形
void __cdecl OnRtnOrderRemove(const TEsOrderRemoveNoticeField& rsp);
参数:
rsp:
删除委托通知结构
struct TEsOrderRemoveNoticeField
{
TClientNoType TOrderIdType ClientNo; OrderId;
};
返回值:
无
3.4.36 OnRtnMatchRemove方法
成交删除通知,返回删除成交的客户编号,系统编号,成交编号和委托编号
函数原形
void __cdecl OnRtnMatchRemove(const TEsMatchRemoveNoticeField& rsp);
参数:
rsp:
删除成交通知结构
struct TEsMatchRemoveNoticeField
{
TClientNoType TSystemNoType TMatchNoType TOrderIdType ClientNo; SystemNo; MatchNo; MatchId;
};
返回值:。