交易员应用程序

www.77vcd.com  时间:2021-02-12  阅读:()

接口2018年09月12日中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第I页文件版本号修正日期备注V1.
52011-06-21首次发布V1.
592014-05-091.
59版本发布V1.
59.
22014-08-041.
59.
2版本发布V1.
612014-09-291.
61测试版本发布V1.
622015-06-051.
62版本发布V1.
622018-09-12在1.
62版本API上扩展错误编码和枚举编码,以支持OTC业务中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第II页目录第1章介绍.
11.
1.
TraderAPI简介.
11.
2.
TraderAPI发行的平台.
21.
3.
修改历史.
21.
3.
1.
版本1.
62L30021.
3.
2.
版本1.
61L30021.
3.
3.
版本1.
59.
2L30031.
3.
4.
版本1.
59L30031.
3.
5.
版本1.
5L3004第2章体系结构.
42.
1通讯模式.
52.
2数据流.
6第3章接口模式.
13.
1对话流和查询流编程接口.
13.
2私有流编程接口.
23.
3公共流编程接口.
2第4章运行模式.
14.
1工作流程.
14.
1.
1初始化阶段.
14.
1.
2功能调用阶段.
14.
2工作线程.
24.
3会员系统使用TraderAPI与交易系统的交互.
24.
4与交易所前置系统的连接.
44.
5本地文件.
54.
6请求/应答日志文件.
54.
7可靠数据流的订阅方式.
64.
7.
1可靠数据流的订阅方式.
64.
7.
2会员系统维护重传报文的序号.
74.
8心跳机制.
84.
9前置机列表.
94.
10灾备接口.
11第5章TraderAPI接口分类.
125.
1管理接口.
125.
2业务接口.
135.
3当前版本不开放的接口.
14第6章TraderAPI参考手册.
166.
1CFfexFtdcTraderSpi接口.
166.
1.
1OnFrontConnected方法166.
1.
2OnFrontDisconnected方法.
166.
1.
3OnHeartBeatWarning方法.
176.
1.
4OnPackageStart方法.
176.
1.
5OnPackageEnd方法17中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第III页6.
1.
6OnRspUserLogin方法.
186.
1.
7OnRspUserLogout方法.
196.
1.
8OnRspUserPasswordUpdate方法206.
1.
9OnRspSubscribeTopic方法.
216.
1.
10OnRspQryTopic方法216.
1.
11OnRspError方法226.
1.
12OnRspOrderInsert方法236.
1.
13OnRspOrderAction方法.
256.
1.
14OnRspQuoteInsert方法.
276.
1.
15OnRspQuoteAction方法.
296.
1.
16OnRspExecOrderInsert方法306.
1.
17OnRspExecOrderAction方法.
316.
1.
18OnRspQryPartAccount方法.
336.
1.
19OnRspQryOrder方法346.
1.
20OnRspQryQuote方法.
366.
1.
21OnRspQryTrade方法376.
1.
22OnRspForQuote方法396.
1.
23OnRspQryClient方法.
406.
1.
24OnRspQryPartPosition方法.
416.
1.
25OnRspQryClientPosition方法.
426.
1.
26OnRspQryInstrument方法446.
1.
27OnRspQryInstrumentStatus方法.
456.
1.
28OnRspQryBulletin方法.
466.
1.
29OnRspQryMarketData方法476.
1.
30OnRspQryMBLMarketData方法.
496.
1.
31OnRspQryHedgeVolume方法.
496.
1.
32OnRtnTrade方法.
516.
1.
33OnRtnOrder方法.
526.
1.
34OnRtnQuote方法536.
1.
35OnRtnForQuote方法.
546.
1.
36OnRtnExecOrder方法.
556.
1.
37OnRtnInstrumentStatus方法566.
1.
38OnRtnInsInstrument方法.
566.
1.
39OnRtnDelInstrument方法.
576.
1.
40OnRtnInsCombinationLeg方法586.
1.
41OnRtnDelCombinationLeg方法596.
1.
42OnRtnBulletin方法596.
1.
43OnRtnAliasDefine方法.
606.
1.
44OnRtnFlowMessageCancel方法.
606.
1.
45OnErrRtnOrderInsert方法.
616.
1.
46OnErrRtnOrderAction方法.
626.
1.
47OnErrRtnQuoteInsert方法636.
1.
48OnErrRtnQuoteAction方法646.
1.
49OnErrRtnExecOrderInsert方法.
65中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第IV页6.
1.
50OnErrRtnExecOrderAction方法.
666.
1.
51OnRspQryCombOrder方法676.
1.
52OnRtnCombOrder方法.
686.
1.
53OnErrRtnCombOrderInsert方法.
706.
1.
54OnRspAdminOrderInsert方法716.
1.
55OnRspQryCreditLimit方法.
726.
1.
56OnRspMarginCombAction方法736.
1.
57OnRtnMarginCombAction方法.
746.
1.
58OnRspQryPartClientCombPosition方法.
756.
1.
59OnRspQryPartClientLegPosition方法.
766.
1.
60OnRtnMarginCombinationLeg方法.
776.
2CFfexFtdcTraderApi接口786.
2.
1CreateFtdcTraderApi方法.
786.
2.
2GetVersion方法.
786.
2.
3Release方法796.
2.
4Init方法796.
2.
5Join方法.
796.
2.
6GetTradingDay方法.
796.
2.
7RegisterSpi方法.
796.
2.
8RegisterFront方法.
806.
2.
9RegisterNameServer方法.
806.
2.
10SetHeartbeatTimeout方法.
806.
2.
11OpenRequestLog方法.
816.
2.
12OpenResponseLog方法816.
2.
13SubscribePrivateTopic方法.
816.
2.
14SubscribePublicTopic方法.
826.
2.
15SubscribeUserTopic方法.
826.
2.
16SubscribeForQuote方法.
836.
2.
17ReqUserLogin方法836.
2.
18ReqUserLogout方法846.
2.
19ReqUserPasswordUpdate方法.
856.
2.
20ReqSubscribeTopic方法.
856.
2.
21ReqQryTopic方法.
866.
2.
22ReqOrderInsert方法.
876.
2.
23ReqOrderAction方法896.
2.
24ReqQuoteInsert方法.
906.
2.
25ReqQuoteAction方法.
916.
2.
26ReqForQuote方法.
926.
2.
27ReqExecOrderInsert方法.
936.
2.
28ReqExecOrderAction方法936.
2.
29ReqQryPartAccount方法946.
2.
30ReqQryOrder方法.
956.
2.
31ReqQryQuote方法966.
2.
32ReqQryTrade方法.
96中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第V页6.
2.
33ReqQryClient方法976.
2.
34ReqQryPartPosition方法.
986.
2.
35ReqQryClientPosition方法996.
2.
36ReqQryInstrument方法.
996.
2.
37ReqQryInstrumentStatus方法1006.
2.
38ReqQryMarketData方法.
1016.
2.
39ReqQryBulletin方法1016.
2.
40ReqQryMBLMarketData方法1026.
2.
41ReqQryHedgeVolume方法1036.
2.
42ReqCombOrderInsert方法1036.
2.
43ReqQryCombOrder方法.
1056.
2.
44ReqAdminOrderInsert方法.
1076.
2.
45ReqQryCreditLimit方法1086.
2.
46ReqMarginCombAction方法.
1086.
2.
47ReqQryPartClientCombPosition方法1096.
2.
48ReqQryPartClientLegPosition方法.
110第7章开发示例.
111第8章附录.
1148.
1错误编码列表.
1148.
2枚举编码列表.
1188.
3数据类型列表.
121中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第1页,共139页第1章介绍1.
1.
TraderAPI简介交易系统API是一个基于C++的类库,通过使用和扩展类库提供的接口来实现全部的交易功能,包括报单录入、报单撤销、报单查询、成交单查询、会员客户查询、会员持仓查询、客户持仓查询、合约查询、合约交易状态查询、交易所公告查询、报价录入、询价请求.
该类库包含以下5个文件:文件名版本文件描述CFFEXFtdcTraderApi.
hV1.
62L300交易接口头文件CFFEXFtdcUserApiStruct.
hV1.
62L300定义了UserAPI所需的一系列数据类型的头文件CFFEXFtdcUserApiDataType.
hV1.
62L300定义了一系列业务相关的数据结构的头文件CFFEXtraderapi.
dllV1.
62L300Windows动态链接库二进制文件CFFEXtraderapi.
libV1.
62L300导入库文件CFFEXtraderapi.
so.
lnx64V1.
62L300Linux动态库Windows支持MSVC6.
0,MSVC.
NET2003编译器.
需要打开多线程编译选项/MT.
Linux版本api是基于Redhat6.
3版本,gcc版本为4.
4.
6,依赖于openssl库.
注意:V1.
59开放了行情商报价功能,新增了客户询价相关接口.
会员系统在开发过程中需注意"当前版本不开放的业务",同时在每个功能描述中的具体描述.
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第2页,共139页1.
2.
TraderAPI发行的平台目前发布了以下操作系统平台的版本:IntelX86/WindowsXP:包括.
h文件、.
dll文件和.
lib文件.
LinuxRedHat6.
3:包括.
h文件和.
so文件.
1.
3.
修改历史1.
3.
1.
版本1.
62L300本版本取消了交易所直连功能TraderAPI关闭了交易所直连接口RegisterFront,统一通过接口RegisterNameServer接入NameServer服务器获取前置地址,连接交易前置.
优化版本性能,降低延迟为支持OTC业务,修改了错误编码列表为支持OTC业务,修改了枚举编码列表OnRspQryInstrument添加字段弃用说明1.
3.
2.
版本1.
61L300本版本提供了客户组合保证金相关功能:TraderAPI增加了ReqMarginCombAction和OnRspMarginCombAction、OnRtnMarginCombAction方法说明,用于客户组合或者拆分组合持仓.
TraderAPI增加了ReqQryPartClientCombPosition和OnRspQryPartClientCombPosition方法说明,用于客户查询组合持仓.
TraderAPI增加了ReqQryPartClientLegPosition和OnRspQryPartClientLegPosition方法说明,用于客户查询单腿持仓.
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第3页,共139页TraderAPI增加了OnRtnMarginCombinationLeg方法说明,登录交易系统后,会员席位如果订阅了公有流,交易系统会将全量的组合规则信息推送给会员席位.
修改了错误编码列表.
修改了枚举编码列表.
修改了数据类型列表.
1.
3.
3.
版本1.
59.
2L300本版本扩展了报单指令类型交易系统支持的指令类型扩充为9种,在原有限价指令和市价指令的基础上新增了对FAK、FOK、任意价转限价、五档市价、五档市价转限价、最优价、最优价转限价指令的支持,通过OrderPriceType("报单价格条件")、TimeCondition("有效期类型")、VolumeCondition("成交量类型")3个字段的组合构成各种指令.
发布了两个新的头文件CFFEXFtdcUserApiDataType.
h、CFFEXFtdcUserApiStruct.
h,以支持新的指令类型,未发布新的动态链接库.
1.
3.
4.
版本1.
59L300本版本开放了报价功能:开放了行情商报价接口,以便于行情商响应客户询价请求进行双边报价.
开放了行情商报价撤销接口,用于撤销报价.
本版本提供了客户询价功能:登录交易系统时,行情商如果订阅了询价流,应答中会返回当前全市场询价流长度,并根据行情商的订阅模式,将询价请求转发给行情商会员端.
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第4页,共139页TraderAPI增加了对ReqForQuote和OnRspForQuote方法说明,用于客户询价.
TraderAPI增加了对OnRtnForQuote方法说明,用于将客户询价通知给行情商.
1.
3.
5.
版本1.
5L300本版本提供了灾备功能:增加【灾备接口】,简要说明了灾备原理.
由于登录报文中增加了数据中心代码,TraderAPI修改了ReqUserLogin和OnRspUserLogin方法的参数.
TraderAPI中增加了"数据流回退通知"OnRtnFlowMessageCancel方法的说明.
本版本提供了数据流长度的查询功能:登录交易系统时,应答中会返回当前会员私有流长度和交易员私有流长度.
TraderAPI增加了对ReqQryTopic和RspQryTpoic方法说明,用于查询流长度.
对以前版本发现问题的修正:TraderAPI增加了GetVersion方法说明,之前版本虽提供功能但无文档说明.
使用限制为提高API的性能,在WIN32环境下,TraderAPI初始化时随机使用了39901-39950的Tcp端口.
Linux版本没有这个限制.
第2章体系结构交易员API使用建立在TCP协议之上FTD协议与交易所的交易前置系统进行通讯.
交易前置系统负责会员系统的交易业务,而不会发出行情.
接收行情需中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第5页,共139页要使用另外的"行情API".
2.
1通讯模式FTD协议中的所有通讯都基于某个通讯模式.
通讯模式实际上就是通讯双方协同工作的方式.
FTD涉及的通讯模式共有三种:对话通讯模式私有通讯模式广播通讯模式对话通讯模式是指由会员端主动发起的通讯请求.
该请求被交易所端接收和处理,并给予响应.
例如报单、查询等.
这种通讯模式与普通的客户/服务器模式相同.
私有通讯模式是指交易所端主动,向某个特定的会员发出的信息.
例如成交回报等.
广播通讯模式是指交易所端主动,向市场中的所有会员都发出相同的信息.

例如公告、市场公共信息等.
通讯模式和网络的连接不一定存在简单的一对一的关系.
也就是说,一个网络连接中可能传送多种不同通讯模式的报文,一种通讯模式的报文也可以在多个不同的连接中传送.
无论哪种通讯模式,其通讯过程都如图1所示:中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第6页,共139页图1)各通讯模式的工作过程2.
2数据流交易前置支持对话通讯模式、私有通讯模式、广播通讯模式:1、对话通讯模式对话通讯模式下支持对话数据流和查询数据流:中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第7页,共139页对话数据流是一个双向数据流,会员系统发送交易请求,交易系统反馈应答.
交易系统不维护对话流的状态.
系统故障时,对话数据流会重置,通讯途中的数据可能会丢失.
查询数据流是一个双向数据流,会员系统发送查询请求,交易系统反馈应答.
交易系统不维护查询流的状态.
系统故障时,查询数据流会重置,通讯途中的数据可能会丢失.
2、私有通讯模式私有通讯模式下支持私有数据流:私有流是一个单向数据流,由交易系统发向会员系统,用于传送交易员私有的通知和回报信息.
私有流是一个可靠的数据流,交易系统维护每个会员系统的私有流,在一个交易日内,会员系统断线后恢复连接时,可以请求交易系统发送指定序号之后的私有流数据.
私有数据流向会员系统提供报单状态报告、成交回报更等信息.
3、广播通讯模式广播通讯模式下支持公共数据流:公共数据流是一个单向数据流,由交易系统发向会员系统,用于发送市场公共信息;公共数据流也是一个可靠的数据流,交易系统维护整个系统的公共数据流,在一个交易日内,会员系统断线恢复连接时,可以请求交易系统发送指定序号之后的公共数据流数据.
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第1页,共139页第3章接口模式交易员API提供了二个接口,分别为CFfexFtdcTraderApi和CFfexFtdcTraderSpi.
这两个接口对FTD协议进行了封装,方便客户端应用程序的开发.
客户端应用程序可以通过CFfexFtdcTraderApi发出操作请求,通继承CFfexFtdcTraderSpi并重载回调函数来处理后台服务的响应.
3.
1对话流和查询流编程接口通过对话流进行通讯的编程接口通常如下:其中请求接口第一个参数为请求的内容,不能为空.
该参数根据请求命令的不同使用具有不同的类,该类的成员变量的类型和合法的数值请参阅附录中的"枚举值列表"和"数据类型列表".
第二个参数为请求号.
请求号由客户端应用程序负责维护,正常情况下每个请求的请求号不要重复.
在接收交易后台的响应时,可以得到当时发出请求时填写的请求号,从而可以将响应与请求对应起来.
当收到后台服务应答时,CFfexFtdcTraderSpi的回调函数会被调用.
如果响应数据不止一个,则回调函数会被多次调用.
回调函数的第一个参数为响应的具体数据,如果出错或没有结果有可能为NULL.
////请求:intCFfexFtdcTraderApi::ReqXXX(CFfexFtdcXXXField*pReqXXX,intnRequestID)////响应:voidCFfexFtdcTraderSpi::OnRspXXX(CFfexFtdcXXXField*pRspXXX,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast)中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第2页,共139页第二个参数为处理结果,表明本次请求的处理结果是成功还是失败.
在发生多次回调时,除了第一次回调,其它的回调该参数都可能为NULL.
第三个参数为请求号,即原来发出请求时填写的请求号.
第四个参数为响应结束标志,表明是否是本次响应的最后一次回调.
3.
2私有流编程接口私有流中的数据中会员的私有信息,包括报单回报、成交回报、报价回报、执行宣告回报等.
通过私有流接收回报的编程接口通常如下:voidCFfexFtdcTraderSpi::OnRtnXXX(CFfexFtdcXXXField*pXXX)////或voidCFfexFtdcTraderSpi::OnErrRtnXXX(CFfexFtdcXXXField*pXXX,CFfexFtdcRspInfoField*pRspInfo)当收到交易后台通过私有流发布的回报数据时,CFfexFtdcTraderSpi的回调函数会被调用.
回调函数的参数为回报的具体内容.
3.
3公共流编程接口公共流中的数据中交易所的公共信息,包括合约、公告等.
通过公共流接收回报的编程接口通常如下:voidCFfexFtdcTraderSpi::OnRtnXXX(CFfexFtdcXXXField*pXXX)当收到交易后台通过公共流发布的回报数据时,CFfexFtdcTraderSpi的回调函数会被调用.
回调函数的参数为通知的具体内容.
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第1页,共139页第4章运行模式4.
1工作流程会员系统和交易系统的交互过程分为2个阶段:初始化阶段和功能调用阶段.
4.
1.
1初始化阶段在初始化阶段,会员系统的程序必须完成如下步骤(具体代码请参考开发实例):顺序会员系统1产生一个CFfexFtdcTraderApi实例;2产生一个事件处理的实例;3注册一个事件处理的实例;4订阅私有流;订阅公共流;5设置交易前置NameServer的网络地址.
6初始化1从1.
62版本开始,交易API不再提供直接注册交易前置的接口,统一通过接入NameServer服务器,获取交易前置地址.
有关NameServer的说明参见4.
9节,前置列表.
4.
1.
2功能调用阶段在功能调用阶段,会员系统可以任意调用交易接口中的请求方法,如ReqUserLogin、ReqOrderInsert等,同时提供回调函数以响应回报信息.
注意事项:API请求的输入参数不能为NULL.
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第2页,共139页API请求的返回参数,0表示正确,其他表示错误,详细错误编码请查表.
4.
2工作线程交易员客户端应用程序至少由两个线程组成,一个是应用程序主线程,一个是交易员API工作线程.
应用程序与交易系统的通讯是由API工作线程驱动的.
CFfexFtdcTraderApi提供的接口是线程安全的,可以有多个应用程序线程同时发出请求.
CFfexFtdcTraderSpi提供的接口回调是由API工作线程驱动,通过实现SPI中的接口方法,可以从交易前置收取所需数据.
如果重载的某个回调函数阻塞,则等于阻塞了TraderAPI工作线程,TraderAPI与交易系统的通讯会停止.
因此,在CFfexFtdcTraderSpi派生类的回调函数中,通常应迅速返回,可以利用将数据放入缓冲区或通过Windows的消息机制来实现.
4.
3会员系统使用TraderAPI与交易系统的交互会员系统通过TraderAPI与交易系统交互.
会员系统的请求通过TraderAPI中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第3页,共139页发送到交易系统;交易系统返回的应答和回报通过TraderAPI返回给会员系统.
TraderAPI的交易接口和私有流接口会有相互关联,如用户报单录入ReqOrderInsert,马上会收到报单响应OnRspOrderInsert,说明交易系统已经收到报单.
报单进入交易系统后,如果报单的交易状态发生变化,就会收到报单回报OnRtnOrder.
如果报单被撮合(包括全部成交和部分成交),就会收到成交回报OnRtnTrade.
其中,一个用户的报单回报和成交回报也会被所属会员下其他的交易员接收到(如果该用户不使用仅接收交易员私有流方式登录).
以交易员日常交易为例,有两个会员系统A和B,发生的事件包括:1.
交易员A报单,IF0911,买,10手,900000元;CFfexFtdcTraderApi::ReqOrderInsert:报单录入请求.
本函数由会员系统的应用主线程调用,通过对话流发送到V1.
5交易系统前置机.
交易系统报单处理:报单系统编号为1;由于此时撮合队列中无对手,报单状态为"未成交还在队列中".
V1.
5交易系统的前置机发出报单响应给交易员A的对话流;发出报单回报给交易员A的私有流和交易员A所属会员的私有流.
响应和回报的报文由TraderAPI工作线程处理并调用Spi对象的方法.
CFfexFtdcTraderSpi::OnRsqOrderInsert:交易所的交易前置给出请求的应答,内容为:录入成功,本地编号为1的报单的系统编号为1.
本函数由TraderAPI工作线程在收到交易前置应答后调用.
CFfexFtdcTraderSpi::OnRtnOrder:交易所的交易前置立即在交易员A所属会员的私有流中或者交易员A的私有流中给出报单回报,因其他席位无法获得报单的具体信息,为保持信息同步,因此回报内容包括报单的状态等报单的全部内容.
本函数由TraderAPI工作线程在收到交易前置的报单回报后调用.
如果会员A还有其他交易员连接并登录到交易系统,并且接收会员私有流,将收到相同的报单回报(以下同).
2.
交易员B报单,IF0911,卖,5手,450000元;CFfexFtdcTraderApi::ReqOrderInsert:报单录入请求.
交易系统报单处理:报单系统编号为2;由于此时撮合队列中无对手,报单状态为"未成交还在队列中".
交易系统报单处理:报单系统编号为2;尝试撮合并能成交,因此报单状态为"完全成交".
V1.
5交易系统的前置机发出报单响应给交易员B的对话流;发出报单回报给交易员B的私有流和交易员B所属的会员私有流;发出报单回报给交易员A的私有流和交易员A所属会员的私有流,提示系统编号为1的报单状态交易系统已经修改为"部分成交还在队列中",报单的"剩余数量"调整为5手;发出成交回报给交易员B的私有流和交易员B所属的会员私有流;发出成交回报给交易员B的私有流和交易员B所属的会员私有流.
V1.
5交易系统将确保报单的回报在成交回报之前送达会员系统,并且报单回报中的"剩余数量"字段已经反映交易系统报单簿中的最新数量,没有必要再根据成交回报的数量再调整.

CFfexFtdcTraderSpi::OnRsqOrderInsert:交易所的交易前置给出请求的应答,内中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第4页,共139页容为:录入成功,本地编号为1的报单的系统编号为2.
CFfexFtdcTraderSpi::OnRtnOrder:交易所的交易前置立即在交易员B所属会员的私有流中或者交易员B的私有流中给出报单回报,报单状态为"完全成交".
CFfexFtdcTraderSpi::OnRtnOrder:交易所的交易前置立即在交易员A所属会员的私有流中或者交易员A的私有流中给出报单回报,报单状态为"部分成交还在队列中",剩余数量为5手.
CFfexFtdcTraderSpi::OnRtnTrade:交易所的交易前置立即在交易员A所属会员的私有流中或者交易员A的私有流中给出成交回报.
CFfexFtdcTraderSpi::OnRtnTrade:交易所的交易前置立即在交易员B所属会员的私有流中或者交易员B的私有流中给出成交回报.
3.
交易员A撤单;下图说明了会员系统、TraderAPI和交易系统之间的UML交互图.
4.
4与交易所前置系统的连接TraderAPI使用建立在TCP协议之上的FTD协议与交易所的交易/行情前置系统进行通信.
TraderAPI使用CFfexFtdcTraderSpi::RegisterNameServer方法注册NameServer服务器,获取交易所前置系统的网络地址,接入交易前置.
交易所拥有多个交易前置系统,用于负载均衡且互为备份,从而提高系统的性能和可靠性.
为保证交易时通信的可靠性,防止单点故障,TraderAPI会从NameServer获取多个前置地址.
API在初始化后,会从已获取的前置地址中随机挑选一个前置,尝试建立网络连接,如果不成功,则依次逐个尝试其它前置,直中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第5页,共139页到连接成功为止.
如果在交易过程中网络连接出现故障,API依然使用上述过程,尝试连接其它前置.
中国金融期货交易所已启用NameServer,将来只公布NameServer的地址而不公布前置地址,TraderAPI使用CFfexFtdcTraderApi::RegisterNameServer方法注册交易所名字服务器网络地址.
可以多次调用该函数注册多个名字服务器网络地址.
TraderAPI会自动连接NameServer获取一组前置地址然后连接前置.
中国金融期货交易所至少两台NameServer网络地址,因此会员系统应该至少注册两个NameServer的网络地址以防止所连NameServer发生故障从而引发单点隐患.
鉴于FTD协议的带宽要求比较高,建议会员使用128K以上DDN专线或者2MSDH数字专线.
中国金融期货交易所和上海期货交易所将共享会员远程交易网络接入:直接连接中国金融期货交易所的链路可以作为备份链路接入上海期货交易所;反之亦然.
4.
5本地文件交易员API在运行过程中,会将一些数据写入本地文件中.
调用CreateFtdcTraderApi函数,可以传递一个参数,指明存贮本地文件的路径.
该路径必须在运行前已创建好.
本地文件的扩展名都是".
con".
交易API与行情API的本地文件必须分目录存放.
4.
6请求/应答日志文件TraderAPI提供了两个日志接口,用于记录通信日志.
OpenRequestLog用于打开请求日志,OpenResponseLog用于打开应答日志.
日志打开后,所有的业务请求将记入请求日志,所有的业务应答和回报将记入应答日志.
注意,为保密和节约存储空间,登录请求/应答和查询请求/应答不记日志.
请求格式为:日期时间,请求名称,请求结果,[请求参数名,请求参数内容]应答格式为:日期时间,应答名称,响应代码,响应信息,[应答参数名,应答参数内容]中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第6页,共139页回报格式为:日期时间,回报名称,[回报参数名,回报参数内容]4.
7可靠数据流的订阅方式FTD协议中私有流、公共流、行情流等可以保证数据可靠、有序地传送到对方,称为可靠数据流.
可靠数据流对于保证会员系统的数据正确性和完整性非常重要.
例如,会员系统通过交易系统发出的会员私有流中的各种回报,就可以得到足够的信息,从而完成会员端的业务操作.
为了保证会员系统业务的正确性,就需要可靠、有序、唯一地接收私有流中的报文.
可靠数据流是依靠重传来保证数据可靠、有序地传送的.
即客户端负责管理数据流的序号,如果出现传输中断,可以从指定序号开始,重新订阅数据流,来保证数据的完整性.
对话流和查询流不支持重传,是不可靠的数据流.
交易系统接口提供了两种管理可靠数据流的方式:API维护重传报文序号和会员系统维护重传报文的序号.
4.
7.
1可靠数据流的订阅方式每当API收到一个可靠数据流报文,则(a)先调用SPI的回调函数通知会员系统,(b)将该报文的序号记入本地文件中(扩展名为.
con).
如果会员系统退出后再重新订阅数据流,则可以使用本地文件中记录的报文序号来订阅数据流.
CFfexFtdcTraderApi的SubscribePrivateTopic方法、SubscribePublicTopic方法、SubscribeUserTopic方法、SubscribeReqForQuote方法用于订阅可靠数据流.
通过接口参数可以指定重传方式,重传方式有三种:重发(RESTART)、续传(RESUME)和快照(QUICK).
重发(RESTART)方式从数据流中的第一个报文开始传输,这时API将忽略本地文件中记录的数据流报文序号.
续传(RESUME)方式从本地文件中记录的数据流报文序号之后开始传中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第7页,共139页输.
为保持会员交易数据的完整性,对于会员或者交易员私有流,交易所建议使用RESUME重传方式.
快照(QUICK)方式从订阅这一时刻数据流最大序号开始传输.
快照方式主要用于不需要保证数据完整性的场合,对于会员或者交易员私有流,交易所不建议使用QUICK方式.
API维护重传报文的序号存在一定数据一致性的风险,例始,如果(a)完成后,(b)未完成,则会造成同一个报文两次回调到会员系统,从而导致会员系统处理上比较困难.
另外,如果记录数据流序号的本地文件损坏,则不得不重传数据流,可能会影响会员系统的效率.
如果使用API维护重传报文的序号,则API会将上次登录返回的TradingDay和DataCenterID这两个字段记录在文件中(resume.
con);登录时API会使用文件中的值覆盖会员系统所填的这两个字段.
4.
7.
2会员系统维护重传报文的序号每当API收到一个可靠数据流的报文,则(a)先调用SPI的OnPackageStart函数通知会员系统收到一个报文,(b)调用SPI的回调函数通知会员系统业务数据,(c)最后调用SPI的OnPackageEnd函数通知会员系统该报文的回调结束.
在OnPackageStart和OnPackageEnd接口中,会员系统可以得到当前回调的报文的序号.
会员系统可以记录该序号,在重传可靠数据流时,将该序号做为CFfexFtdcTraderApi::ReqSubscribeTopic方法的参数(与RESUME方式类似).
通过CFfexFtdcTraderApi::ReqSubscribeTopic方法,会员系统可以指定数据流重传报文的序号.
如果指定序号为0,则重发整个数据流(与RESTART方式类似);如果指定序号为-1,则从订阅这一时刻数据流最大序号开始传输,(与QUICK方式类似).
会员系统重传维护报文的序号比API维护重传报文的序号有更好的一致性和可靠性,对事务完整性要求高的会员系统应尽量使用这个方法.
注意登录时,TradingDay和DataCenterID应填写为上次登录应答的返回值.
如果是第一次登录或不需要续传,则TradingDay可以填空字符串(""),DataCenterID可以填0或交易所公布的主数据中心代码.
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第8页,共139页4.
8心跳机制会员系统和交易所的前置机之间使用TCP虚链路进行通信.
假设通讯链路发生故障,并且在这段时间内会员系统和前置机没有数据通信,或者更确切地说,双方都没有调用Socketrecv()和Socketsend()函数,则双方无法辨别目前系统的工作状态,需等待Socket超时,一般而言操作系统定义的超时时间较长,不利于通信双方进行监测以提高响应速度和自动恢复处理.
可以通过增加附加的心跳信息来监测通信双方的工作状态,其原理非常简单,并且不会增加双方的通讯成本:在有业务数据传送时,双方能够检测出链路和通信状态;如果没有业务数据传送,则需给对方发送心跳(Heartbeat)信息(此时链路上无传输数据,增加的心跳信息不会对带宽带来压力和成本).
虽然没有增加通讯成本,但对于服务器(比如交易所前置机)而言,随着连接数量增加,其巡检成本(每秒监测是否需要发送心跳信息和维护连接表)也将线性增加.

增设心跳报文用于检测连接是否有效.
连接的一端如果在规定超时时间(timeout)内未收到对方的任何报文,则认为TCP虚链路失效,应主动断开;如果一方在一定的时间间隔(interval)内未向对方发送任何报文,则应向对方发送心跳报文,以维持TCP虚链路的正常状态.
通常,timeout是interval的三倍.
API提供了voidSetHeartbeatTimeout(unsignedinttimeout)方法,用于设定会员系统检测TCP虚链路有效性的超时时间:交易系统在空闲时会每隔(timeout-1)/3秒向API发送心跳报文;若超过timeout/2秒未收到交易系统的任何报文时,将触发回调CFfexFtdcTraderApi::OnHeartBeatWarning();若超过timeout秒未收到交易系统的任何报文时,TCP连接将会中断,并且触发回调CFfexFtdcTraderApi::OnFrontDisconnected().
例如,会员端将心跳超时设置为16秒,则交易系统在空闲时会每5秒向API发送一个心跳报文.
如果API在8秒内未收到交易系统的任何报文,则触发回调CFfexFtdcTraderApi::OnHeartBeatWarning().
如果超过16秒未收到交易系统的任何报文,API会主动断开网络连接,并且触发回调CFfexFtdcTraderApi::OnFrontDisconnected().
此时会员端可以选用备用专线链路重连交易所前置机.
交易所前置机也通过心跳方式监测会员端系统的TCP连接:如果会员系统中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第9页,共139页未调用SetHeartbeatTimeout方法,则心跳超时目前固定设置为120秒;如果会员系统调用SetHeartbeatTimeout方法,timeout参数将同步用于前置机对会员端的监测.
这个机制非常有用:在链路中断后前置机将可在大致可用时间内(timeout参数+5秒左右)主动断开与会员端TCP连接,这样会员可以使用备用线路(不同IP地址)登录,否则前置机将认为原地址的TCP连接仍然有效并拒绝备用地址登录.
若会员系统未调用过SetHeartbeatTimeout方法,在V1.
20之前(不含)版本API的缺省的timeout设置为120秒,缺省的警告时间为80秒.
为加快会员端交易系统监测专线链路中断的速度,从V1.
20版本开始,API将在初始化建立与前置机TCP连接后将主动调用SetHeartbeatTimeOut()方法将timeout设置为10秒.
参数timeout允许的最小值为4.
参数timeout设置过高,发生链路中断情况下会员端系统切换时间将很长;设置过小,将可能发生非预期切换,需要综合考虑会员端应用情况和网络情况合理设置.
交易所建议会员系统将timeout值设置为10至30秒之间.
4.
9前置机列表会员系统连接交易所前置机后方能接入交易系统.
为了容错和负载均衡,交易所将在主用数据中心和备用数据中心部署两组、每组多台前置机.
1.
62版本API之前,API支持会员系统从交易所公布的前置机网络地址列表,随机选出一个尝试与其建立连接;1.
62版本(含)以后,API只支持通过公布的NameServer地址列表接入NameServer从而获取前置地址,接入前置.
会员系统在某一时刻只与一个前置机相连,如果由该前置机出现故障导致连接中断或者超时,则会员系统需尝试连接列表中的其它前置机.
会员系统得到前置列表的方式有两种:交易所公布前置列表,会员系统通过API的RegisterFront接口,将前置机逐一注册进API(1.
62版本交易API取消该方式).
交易系统提供NameServer,其功能是向API公布前置机列表.
交易所首先公布NameServer列表,会员系统通过API的RegisterNameServer接口,将NameServer注册进API.
API先尝试从NameServer中得到前置中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第10页,共139页列表,再尝试根据前置列表来连接前置机.
使用NameServer的优点在于:增加交易所前置机部署的灵活性,可以根据业务需要和负载短期内新增前置机并无需对会员系统做任何修改.
NameServer可以较好地完成主用系统和灾备系统的切换.
NameServer功能单一,结构简单,负载也很低,不用考虑负载均衡,可以灵活部署.
会员系统可以同时使用RegisterFront()方法注册前置机列表(1.
62版本以前支持)和使用RegisterNameServer()方法注册NameServer列表.
API会首先尝试连接已注册的前置,如果连接不成功,再尝试连接NameServer.
TraderAPI连接前置流程图:中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第11页,共139页4.
10灾备接口交易所建有期货大厦(大厦数据中心,使用此接口之前的主用数据中心)和外高桥两个数据中心,两个中心使用高速光纤实现系统的互联互通.
V1.
5交易系统同时在两个数据中心运行,主中心进行业务处理;备中心异步接收主中心的数据并同步业务;备中心处于待命状态.
当主数据中心发生灾难性事件时,可以切换到备中心;备数据中心接管主数据中心工作,在主数据中心处理的业务基础上继续进行业务处理.
数据中心切换可能出现部分业务数据丢失.
会员端系统需要通过API接口,获知要取消的交易.
一、API用户登录请求接口中增加"数据中心代码"字段,标识上次登录的数据中心代码.
在用户登录应答接口中,同样增加"数据中心代码"字段,交易系统返回当前使用的数据中心代码.
会员端系统应保存交易系统返回的数据中心代码,在下次登录时填入登录请求中.
二、API增加"取消交易"(OnRtnFlowMessageCancel)接口,在会员端发出订阅请求后,通知订阅的主题中要取消的报文.
会员端系统可根据该接口,得到被取消的报文的序号,从而找到原始报文.
原始报文的序号可通过OnPackageStart和OnPackageEnd接口获得.
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第12页,共139页第5章TraderAPI接口分类5.
1管理接口管理接口是对API的生命周期和运行参数进行控制.
接口类型接口名称说明生命周期管理接口CFfexFtdcTraderApi::CreateFtdcTraderApi创建TraderApi实例CFfexFtdcTraderApi::GetVersion获取API版本CFfexFtdcTraderApi::Release删除接口实例CFfexFtdcTraderApi::Init初始化CFfexFtdcTraderApi::Join等待接口线程结束运行参数管理接口CFfexFtdcTraderApi::RegisterSpi注册回调接口CFfexFtdcTraderApi::RegisterFront注册前置机网络地址(1.
62版本取消)CFfexFtdcTraderApi::RegisterNameServer注册NameServer网络地址CFfexFtdcTraderApi::RegisterCertificateFile加载证书CFfexFtdcTraderApi::SetHeartbeatTimeout设置心跳超时时间订阅接口CFfexFtdcTraderApi::SubscribePrivateTopic订阅私有流CFfexFtdcTraderApi::SubscribePublicTopic订阅公共流CFfexFtdcTraderApi::SubscribeUserTopic订阅交易员流日志接口CFfexFtdcTraderApi::OpenRequestLog打开请求日志文件CFfexFtdcTraderApi::OpenResponseLog打开应答日志文件通信状态接口CFfexFtdcTraderSpi::OnFrontConnected与交易系统建立起通信连接时(还未登录前),该方法被调用CFfexFtdcTraderSpi::OnFrontDisconnected与交易系统通信连接断开时,该方法被调用CFfexFtdcTraderSpi::OnHeartBeatWarning当长时间未收到报文时,该方法被调用CFfexFtdcTraderSpi::OnPackageStart报文回调开始通知CFfexFtdcTraderSpi::OnPackageEnd报文回调结束通知灾备接口CFfexFtdcTraderSpi::OnRtnFlowMessageCancel数据流回退通知中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第13页,共139页5.
2业务接口业务类型业务请求接口/响应接口数据流登录登录CFfexFtdcTraderApi::ReqUserLoginCFfexFtdcTraderSpi::OnRspUserLoginN/A登出CFfexFtdcTraderApi::ReqUserLogoutCFfexFtdcTraderSpi::OnRspUserLogout对话流修改用户口令CFfexFtdcTraderApi::ReqUserPasswordUpdateCFfexFtdcTraderSpi::OnRspUserPasswordUpdate对话流订阅订阅主题CFfexFtdcTraderApi::ReqSubscribeTopicCFfexFtdcTraderSpi::OnRspSubscribeTopic对话流查询主题CFfexFtdcMduserApi::ReqQryTopicCFfexFtdcMduserSpi::OnRspQryTopic查询流交易报单录入CFfexFtdcTraderApi::ReqOrderInsertCFfexFtdcTraderSpi::OnRspOrderInsert对话流报单操作CFfexFtdcTraderApi::ReqOrderActionCFfexFtdcTraderSpi::OnRspOrderAction对话流组合报单录入CFfexFtdcTraderApi::ReqCombOrderInsertCFfexFtdcTraderSpi::OnRspCombOrderInsert对话流报价录入CFfexFtdcTraderApi::ReqQuoteInsertCFfexFtdcTraderSpi::OnRspQuoteInsert对话流报价操作CFfexFtdcTraderApi::ReqQuoteActionCFfexFtdcTraderSpi::OnRspQuoteAction对话流执行宣告录入CFfexFtdcTraderApi::ReqExecOrderInsertCFfexFtdcTraderSpi::OnRspExecOrderInsert对话流执行宣告操作CFfexFtdcTraderApi::ReqExecOrderActionCFfexFtdcTraderSpi::OnRspExecOrderAction对话流申请组合/拆分操作CFfexFtdcTraderApi::ReqMarginCombActionCFfexFtdcTraderSpi::OnRspMarginCombAction对话流私有回报成交回报CFfexFtdcTraderSpi::OnRtnTrade私有流报单回报CFfexFtdcTraderSpi::OnRtnOrder私有流组合报单回报CFfexFtdcTraderSpi::OnRtnCombOrder私有流报价回报CFfexFtdcTraderSpi::OnRtnQuote私有流执行宣告回报CFfexFtdcTraderSpi::OnRtnExecOrder私有流报单录入错误回报CFfexFtdcTraderSpi::OnErrRtnOrderInsert私有流报单操作错误回报CFfexFtdcTraderSpi::OnErrRtnOrderAction私有流组合报单录入错误回报CFfexFtdcTraderSpi::OnErrRtnCombOrderInsert私有流报价录入错误回报CFfexFtdcTraderSpi::OnErrRtnQuoteInsert私有流报价操作错误回报CFfexFtdcTraderSpi::OnErrRtnQuoteAction私有流执行宣告录入错误回报CFfexFtdcTraderSpi::OnErrRtnExecOrderInsert私有流执行宣告操作错误回报CFfexFtdcTraderSpi::OnErrRtnExecOrderAction私有流申请组合/拆分回报CFfexFtdcTraderSpi::OnRtnMarginCombAction私有流中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第14页,共139页业务类型业务请求接口/响应接口数据流公共通知合约交易状态通知CFfexFtdcTraderSpi::OnRtnInstrumentStatus公共流增加合约通知CFfexFtdcTraderSpi::OnRtnInsInstrument公共流删除合约通知CFfexFtdcTraderSpi::OnRtnDelInstrument公共流增加组合合约单腿通知CFfexFtdcTraderSpi::OnRtnInsCombinationLeg公共流删除组合合约单腿通知CFfexFtdcTraderSpi::OnRtnDelCombinationLeg公共流别名定义通知CFfexFtdcTraderSpi::OnRtnAliasDefine公共流公告通知CFfexFtdcTraderSpi::OnRtnBulletin公共流合约规则通知CFfexFtdcTraderSpi::OnRtnMarginCombinationLeg公共流查询资金查询CFfexFtdcTraderApi::ReqQryPartAccountCFfexFtdcTraderSpi::OnRspQryPartAccount查询流报单查询CFfexFtdcTraderApi::ReqQryOrderCFfexFtdcTraderSpi::OnRspQryOrder查询流组合报单查询CFfexFtdcTraderApi::ReqQryCombOrderCFfexFtdcTraderSpi::OnRspQryCombOrder查询流报价查询CFfexFtdcTraderApi::ReqQryQuoteCFfexFtdcTraderSpi::OnRspQryQuote查询流成交查询CFfexFtdcTraderApi::ReqQryTradeCFfexFtdcTraderSpi::OnRspQryTrade查询流客户查询CFfexFtdcTraderApi::ReqQryClientCFfexFtdcTraderSpi::OnRspQryClient查询流会员持仓查询CFfexFtdcTraderApi::ReqQryPartPositionCFfexFtdcTraderSpi::OnRspQryPartPosition查询流客户持仓查询CFfexFtdcTraderApi::ReqQryClientPositionCFfexFtdcTraderSpi::OnRspQryClientPosition查询流合约查询CFfexFtdcTraderApi::ReqQryInstrumentCFfexFtdcTraderSpi::OnRspQryInstrument查询流合约交易状态查询CFfexFtdcTraderApi::ReqQryInstrumentStatusCFfexFtdcTraderSpi::OnRspQryInstrumentStatus查询流保值额度查询CFfexFtdcTraderApi::ReqQryHedgeVolumeCFfexFtdcTraderSpi::OnRspQryHedgeVolume查询流行情查询CFfexFtdcTraderApi::ReqQryMarketDataCFfexFtdcTraderSpi::OnRspQryMarketData查询流公告查询CFfexFtdcTraderApi::ReqQryBulletinCFfexFtdcTraderSpi::OnRspQryBulletin查询流合约价位查询CFfexFtdcTraderApi::ReqQryMBLMarketDataCFfexFtdcTraderSpi::OnRspQryMBLMarketData查询流组合持仓查询CFfexFtdcTraderApi::ReqQryPartClientCombPositionCFfexFtdcTraderSpi::OnRspQryPartClientCombPosition查询流单腿持仓查询CFfexFtdcTraderApi::ReqQryPartClientLegPositionCFfexFtdcTraderSpi::OnRspQryPartClientLegPosition查询流5.
3当前版本不开放的接口业务类型业务请求接口/响应接口开放情况交易报单录入CFfexFtdcTraderApi::ReqOrderInsertCFfexFtdcTraderSpi::OnRspOrderInsert部分开放报单操作CFfexFtdcTraderApi::ReqOrderActionCFfexFtdcTraderSpi::OnRspOrderAction部分开放中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第15页,共139页业务类型业务请求接口/响应接口开放情况组合报单录入CFfexFtdcTraderApi::ReqCombOrderInsertCFfexFtdcTraderSpi::OnRspCombOrderInsert不开放执行宣告录入CFfexFtdcTraderApi::ReqExecOrderInsertCFfexFtdcTraderSpi::OnRspExecOrderInsert不开放执行宣告操作CFfexFtdcTraderApi::ReqExecOrderActionCFfexFtdcTraderSpi::OnRspExecOrderAction不开放回报组合报单回报CFfexFtdcTraderSpi::OnRtnCombOrder不开放执行宣告回报CFfexFtdcTraderSpi::OnRtnExecOrder不开放组合报单录入错误回报CFfexFtdcTraderSpi::OnErrRtnCombOrderInsert不开放执行宣告录入错误回报CFfexFtdcTraderSpi::OnErrRtnExecOrderInsert不开放执行宣告操作错误回报CFfexFtdcTraderSpi::OnErrRtnExecOrderAction不开放公共通知增加组合合约单腿通知CFfexFtdcTraderSpi::OnRtnInsCombinationLeg不开放删除组合合约单腿通知CFfexFtdcTraderSpi::OnRtnDelCombinationLeg不开放查询组合报单查询CFfexFtdcTraderApi::ReqQryCombOrderCFfexFtdcTraderSpi::OnRspQryCombOrder不开放中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第16页,共139页第6章TraderAPI参考手册6.
1CFfexFtdcTraderSpi接口CFfexFtdcTraderSpi实现了事件通知接口.
用户必需派生CFfexFtdcTraderSpi接口,编写事件处理方法来处理感兴趣的事件.
6.
1.
1OnFrontConnected方法当会员系统与交易系统的交易前置机建立起TCP虚链路(连接)后,该方法被调用.
该连接是由API自动建立的.
函数原型:voidOnFrontConnected();注意:OnFrontConnected被调用仅说明TCP连接成功,会员系统必须自行登录,才能进行后续的业务操作.
登录失败不会回调该方法.
6.
1.
2OnFrontDisconnected方法当会员系统与交易系统的交易前置机的TCP虚链路断开时,该方法被调用.
当发生这个情况后,API会自动重新连接,客户端可不做处理.
自动重连地址,可能是原来注册的地址,也可能是系统支持的其它可用的通信地址,它由程序自动选择.
函数原型:voidOnFrontDisconnected(intnReason);参数:nReason:连接断开原因0x1001网络读失败0x1002网络写失败中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第17页,共139页0x2001接收心跳超时0x2002发送心跳失败0x2003收到错误报文6.
1.
3OnHeartBeatWarning方法心跳超时警告.
当长时间未收到报文时,该方法被调用.
缺省超时告警时段设置为80秒.
如果调用过SetHeartbeatTimeout(unsignedinttimeout)自行设定心跳超时,则警告时间为timeout/2.
函数原型:voidOnHeartBeatWarning(intnTimeLapse);参数:nTimeLapse:距离上次接收报文的时间6.
1.
4OnPackageStart方法报文回调开始通知.
当API收到一个报文后,首先调用本方法,然后是各数据域的回调,最后是报文回调结束通知.
函数原型:voidOnPackageStart(intnTopicID,intnSequenceNo);参数:nTopicID:主题代码(如私有流、公共流、行情流等).
nSequenceNo:报文序号.
6.
1.
5OnPackageEnd方法报文回调结束通知.
当API收到一个报文后,首先调用报文回调开始通知,然后是各数据域的回调,最后调用本方法.
函数原形:voidOnPackageEnd(intnTopicID,intnSequenceNo);参数:nTopicID:主题代码(如私有流、公共流、行情流等).
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第18页,共139页nSequenceNo:报文序号.
6.
1.
6OnRspUserLogin方法当客户端发出登录请求之后,交易后台返回响应时,该方法会被调用,通知客户端登录是否成功.
函数原型:参数:pRspUserLogin:返回用户登录信息的地址.
用户登录信息结构:structCFfexFtdcRspUserLoginField{///交易日TFfexFtdcDateTypeTradingDay;///登录成功时间TFfexFtdcTimeTypeLoginTime;///最大本地报单号TFfexFtdcOrderLocalIDTypeMaxOrderLocalID;///交易用户代码TFfexFtdcUserIDTypeUserID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///交易系统名称TFfexFtdcTradingSystemNameTypeTradingSystemName;///数据中心代码TFfexFtdcDataCenterIDTypeDataCenterID;///会员私有流当前长度TFfexFtdcSequenceNoTypePrivateFlowSize;///交易员私有流当前长度TFfexFtdcSequenceNoTypeUserFlowSize;};注意:如果会员系统自行维护重传序号,则应保存好返回的TradingDay和DataCenterID,以便下次登录时填入登录请求中.
pRspInfo:返回用户响应信息的地址.
特别注意在有连续的成功的响应数据时,中间有可能返回NULL,但第一次不会,以下同.
错误代码为0时,表示操作成功,以下同.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};voidOnRspUserLogin(CFfexFtdcRspUserLoginField*pRspUserLogin,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第19页,共139页可能出现的错误:错误代码错误提示可能的原因3会员找不到登录的会员代码错误45结算组初始化状态不对交易系统尚未初始化完毕,可以稍后再重试59用户重复登录该交易用户已经登录过了60用户名或口令错误登录的交易用户代码或口令错误62用户不活跃交易系统不允许该交易员登录64用户不属于此会员登录的会员代码错误65错误的登录IP地址发起登录的计算机没有交易所允许IP地址100错误的用户类型非交易用户登录交易系统nRequestID:返回用户登录请求的ID,该ID由用户在登录时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
7OnRspUserLogout方法当会员系统发出退出请求之后,交易后台返回响应时,该方法会被调用,通知会员系统退出是否成功.
函数原型:参数:pRspUserLogout:返回用户退出信息的地址.
用户登出信息结构:structCFfexFtdcRspUserLogoutField{///交易用户代码TFfexFtdcUserIDTypeUserID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;};pRspInfo:返回用户响应信息的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因66用户尚未登录尚未登录67并没有以此用户登录登出时的交易员和登录时不同voidOnRspUserLogout(CFfexFtdcRspUserLogoutField*pRspUserLogout,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第20页,共139页68并没有以此会员登录登出时的会员和登录时不同nRequestID:返回用户登出请求的ID,该ID由用户在登出时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
8OnRspUserPasswordUpdate方法用户密码修改应答.
当会员系统发出用户密码修改指令后,交易系统返回响应时,该方法会被调用.
函数原型:参数:pUserPasswordUpdate:指向用户密码修改结构的地址,包含了用户密码修改请求的输入数据.
用户密码修改结构:structCFfexFtdcUserPasswordUpdateField{///交易用户代码TFfexFtdcUserIDTypeUserID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///旧密码TFfexFtdcPasswordTypeOldPassword;///新密码TFfexFtdcPasswordTypeNewPassword;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因58用户不匹配要修改口令的交易员和登录时不同60用户名或口令错误原口令错误66用户尚未登录尚未登录68并没有以此会员登录修改口令的会员号与登录时不同voidOnRspUserPasswordUpdate(CFfexFtdcUserPasswordUpdateField*pUserPasswordUpdate,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第21页,共139页nRequestID:返回用户密码修改请求的ID,该ID由用户在密码修改时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
9OnRspSubscribeTopic方法订阅主题应答.
当会员系统发出订阅主题指令后,交易系统返回响应时,该方法会被调用.
函数原形:参数:pDissemination:指向订阅主题结构的地址,包含了要订阅的主题和起始报文的序号.
订阅主题结构:pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因66用户尚未登录尚未登录nRequestID:返回订阅主题请求的ID,该ID由用户在订阅主题时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
10OnRspQryTopic方法查询主题应答.
当会员系统发出查询主题指令后,交易系统返回响应时,该方法会被调用.
函数原形:voidOnRspSubscribeTopic(CFfexFtdcDisseminationField*pDissemination,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);structCFfexFtdcDisseminationField{///序列系列号TFfexFtdcSequenceSeriesTypeSequenceSeries;///序列号TFfexFtdcSequenceNoTypeSequenceNo;};中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第22页,共139页参数:pDissemination:指向查询主题结构的地址,包含了要查询的主题和该主题报文个数.
查询主题结构:structCFfexFtdcDisseminationField{///序列系列号TFfexFtdcSequenceSeriesTypeSequenceSeries;///序列号TFfexFtdcSequenceNoTypeSequenceNo;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因66用户尚未登录尚未登录nRequestID:返回查询主题请求的ID,该ID由用户在订阅主题时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
11OnRspError方法针对用户请求的出错通知.
函数原型:参数:pRspInfo:返回用户响应信息的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息voidOnRspQryTopic(CFfexFtdcDisseminationField*pDissemination,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);voidOnRspError(CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast)中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第23页,共139页TFfexFtdcErrorMsgTypeErrorMsg;};nRequestID:返回用户操作请求的ID,该ID由用户在操作请求时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
12OnRspOrderInsert方法报单录入应答.
当会员系统发出过报单录入指令后,交易后台返回响应时,该方法会被调用.
函数原型:参数:pInputOrder:指向报单录入结构的地址,包含了提交报单录入时的输入数据,和交易系统返回的报单编号.
注意:结构中的某些字段与报单录入时不同,交易系统返回为空值.
输入报单结构:structCFfexFtdcInputOrderField{///报单编号,该字段由交易系统返回.
TFfexFtdcOrderSysIDTypeOrderSysID;///会员代码,未使用1TFfexFtdcParticipantIDTypeParticipantID;///客户代码,未使用TFfexFtdcClientIDTypeClientID;///交易用户代码,未使用TFfexFtdcUserIDTypeUserID;///合约代码,未使用TFfexFtdcInstrumentIDTypeInstrumentID;///报单价格条件,未使用TFfexFtdcOrderPriceTypeTypeOrderPriceType;///买卖方向,未使用TFfexFtdcDirectionTypeDirection;///组合开平标志,未使用TFfexFtdcCombOffsetFlagTypeCombOffsetFlag;///组合投机套保标志,未使用TFfexFtdcCombHedgeFlagTypeCombHedgeFlag;///价格,未使用TFfexFtdcPriceTypeLimitPrice;///数量,未使用TFfexFtdcVolumeTypeVolumeTotalOriginal;///有效期类型,未使用1为保持与后续的V1.
5交易系统的版本兼容,保留此数据项,但其内容无含义.
会员系统不应对其内容有任何假设.
在网络底层通信的实现中,TraderAPI通过压缩算法以基本抵消通信带宽的开销,但保持了协议和TraderAPI的兼容性和可扩展性.
以下同.
voidOnRspOrderInsert(CFfexFtdcInputOrderField*pInputOrder,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第24页,共139页TFfexFtdcTimeConditionTypeTimeCondition;///GTD日期,未使用TFfexFtdcDateTypeGTDDate;///成交量类型,未使用TFfexFtdcVolumeConditionTypeVolumeCondition;///最小成交量,未使用TFfexFtdcVolumeTypeMinVolume;///触发条件,未使用TFfexFtdcContingentConditionTypeContingentCondition;///止损价,未使用TFfexFtdcPriceTypeStopPrice;///强平原因,未使用TFfexFtdcForceCloseReasonTypeForceCloseReason;///本地报单编号TFfexFtdcOrderLocalIDTypeOrderLocalID;///自动挂起标志,未使用TFfexFtdcBoolTypeIsAutoSuspend;///业务单元,未使用TFfexFtdcBusinessUnitTypeBusinessUnit;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因2合约找不到找不到报单中的合约3会员找不到找不到报单中的会员4客户找不到找不到报单中的客户6报单字段错误报单中有字段值不合法(枚举值越界)或发现非强平单中设置了强平原因12重复的报单报单中的本地报单号重复15客户没有在该会员开户报单中的客户并没有在指定的会员中开户16IOC需在连续交易阶段在非连续交易阶段企图报入IOC单17GFA需在集合竞价阶段在非集合竞价阶段企图报入GFA的报单18市价单不能排队市价单的时间条件不是IOC19数量约束应在IOC单上数量约束不是任意数量的报单的时间条件不是IOC20GTD报单过期了GTD报单中的GTD日期已经过期了21最小数量大于报单数量有最小数量条件的报单的最小数量大于报单数量22交易所数据没有同步交易系统尚未初始化完毕,可以稍后再重试23结算组数据没有同步交易系统尚未初始化完毕,可以稍后再重试26当前状态禁止此项操作合约交易状态不是连续交易、集合竞价报单或者集合竞价平衡31平仓时客户持仓不足报入平仓报单时,客户的持仓不足32超出客户限仓报入开仓报单时,超过了客户的投机限仓34超出会员限仓报入开仓报单时,超过了会员限仓35找不到帐号找不到报单使用的资金帐号36资金不足资金帐号中没有足够的资金37不合法的数量报单数量不是最小报单数量要求的正整数倍,或者超过最大报单数量48价格非最小单位的倍数报单的价格不是合约的最小变动单位的整数倍49价格超出涨停板报单的价格高于合约的涨停板50价格跌破跌停板报单的价格低于合约的跌停板中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第25页,共139页51没有交易权限对指定合约、或者客户对指定的合约、或者交易员没有的交易权限52只能平仓会员对指定合约、或者客户对指定的合约、或者交易员只有平仓的权限53没有此项交易角色会员在指定合约上不具有该客户对应的交易角色57不能为其他会员操作交易员给非其所属的会员进行操作58用户不匹配报单中的交易员和登录时的交易员不匹配66用户尚未登录用户尚未登录78GTD报单没有设定日期GTD报单没有指定GTD日期79不被支持的报单类型交易所不支持此种报单类型83止损单仅用于连续交易在非连续交易阶段报入止损单84止损单需是IOC或GFD止损单时的时间条件既不是IOC,也不是GFD95止损报单需说明止损价止损单没有指定止损价96保值额度不足报入保值报单时,客户的套期保值额度不足103当日套保仓位不能平仓套保仓位不应使用平今仓报单进行平仓114最优价单不能排队最优价单的时间条件不是IOCnRequestID:返回报单录入操作请求的ID,该ID由用户在报单录入时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
注意:CFfexFtdcRspInfoField.
ErrorID为零(意味着本次报单录入成功),CFfexFtdcInputOrderField*pInputOrder中仅报单编号(交易系统给出的系统编号)和本地报单编号有意义,用于交易系统与会员系统之间报单的关联.
该报单的具体内容需要从私有流获得.
CFfexFtdcInputOrderField各数据字段的说明请参阅OnRtnOrder方法.
6.
1.
13OnRspOrderAction方法当前版本不开放报单修改功能.
报单操作应答.
报单操作包括报单的撤销、报单的挂起、报单的激活、报单的修改.
当客户端发出过报单操作指令后,交易后台返回响应时,该方法会被调用.
函数原型:参数:pOrderAction:指向报单操作结构的地址,包含了提交报单操作的输入数据,和交易系统返回的报单编号.
voidOnRspOrderAction(CFfexFtdcOrderActionField*pOrderAction,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第26页,共139页报单操作结构:structCFfexFtdcOrderActionField{///报单编号,该字段由交易系统返回.
TFfexFtdcOrderSysIDTypeOrderSysID;///本地报单编号TFfexFtdcOrderLocalIDTypeOrderLocalID;///报单操作标志TFfexFtdcActionFlagTypeActionFlag;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///价格,未使用的保留字段,其值为空TFfexFtdcPriceTypeLimitPrice;///数量变化,未使用的保留字段,其值为空TFfexFtdcVolumeTypeVolumeChange;///操作本地编号TFfexFtdcOrderLocalIDTypeActionLocalID;///业务单元,未使用的保留字段,其值为空TFfexFtdcBusinessUnitTypeBusinessUnit;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因3会员找不到报单操作中的会员找不到4客户找不到报单操作中的客户找不到8报单操作字段错误报单操作中有字段值不合法(枚举值越界)15客户没有在该会员开户客户并没有在指定的会员中开户22交易所数据没有同步交易系统尚未初始化完毕,可以稍后再重试23结算组数据没有同步交易系统尚未初始化完毕,可以稍后再重试24报单找不到找不到要操作的报单26当前状态禁止此项操作对于激活操作,合约交易状态不是连续交易、集合竞价报单或者集合竞价平衡对于其他操作,交易状态不是连续交易或者集合竞价报单28报单已经全部成交报单已经全部成交了29报单已经撤销报单已经撤销了32超出客户限仓修改报单时,超过了客户的投机限仓34超出会员限仓修改报单时,超过了会员限仓35找不到帐号找不到应当使用的资金帐号36资金不足资金帐号中没有足够的资金37不合法的数量修改后报单的数量不是最小报单数量要求的正整数倍,或者超过最大报单数量48价格非最小单位的倍数修改后报单的价格不是合约的最小变动单位的整数倍49价格超出涨停板修改后报单的价格价格高于合约的涨停板50价格跌破跌停板修改后报单的价格价格低于合约的跌停板中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第27页,共139页57不能为其他会员操作交易员给非其所属的会员进行操作58用户不匹配报单操作中的交易员和登录时的交易员不匹配66用户尚未登录用户尚未登录76报单已经被挂起在报单挂起时,报单已经被挂起了77报单已经被激活在报单激活时,报单已经被激活了96保值额度不足修改后报单时,客户的套期保值额度不足97重复的操作报单操作的本地操作号重复99不能为其他用户操作非授权交易员操作同会员的其他交易员报入的报单nRequestID:返回用户报单操作请求的ID,该ID由用户在报单操作时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
14OnRspQuoteInsert方法报价录入应答.
当会员系统发出过报价录入指令后,交易系统返回响应时,该方法会被调用.
函数原型:参数:pInputQuote:指向输入报价结构的地址,包含了报价录入操作的输入数据,和交易系统返回的报价编号.
输入报价结构:structCFfexFtdcInputQuoteField{///报价编号,该字段由交易后台返回.
TFfexFtdcQuoteSysIDTypeQuoteSysID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///买入数量TFfexFtdcVolumeTypeBidVolume;///卖出数量TFfexFtdcVolumeTypeAskVolume;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///本地报价编号TFfexFtdcQuoteLocalIDTypeQuoteLocalID;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;///买方组合开平标志TFfexFtdcCombOffsetFlagTypeBidCombOffsetFlag;///买方组合套保标志TFfexFtdcCombHedgeFlagTypeBidCombHedgeFlag;voidOnRspQuoteInsert(CFfexFtdcInputQuoteField*pInputQuote,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第28页,共139页///买方价格TFfexFtdcPriceTypeBidPrice;///卖方组合开平标志TFfexFtdcCombOffsetFlagTypeAskCombOffsetFlag;///卖方组合套保标志TFfexFtdcCombHedgeFlagTypeAskCombHedgeFlag;///卖方价格TFfexFtdcPriceTypeAskPrice;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因2合约找不到找不到报价中的合约3会员找不到找不到报价中的会员4客户找不到找不到报价中的客户7报价字段错误报价中有字段值不合法(枚举值越界)或13重复的报价报价中的本地报价号重复15客户没有在该会员开户报价中的客户并没有在指定的会员中开户22交易所数据没有同步交易系统尚未初始化完毕,可以稍后再重试23结算组数据没有同步交易系统尚未初始化完毕,可以稍后再重试26当前状态禁止此项操作合约交易状态不是连续交易、集合竞价报单或者集合竞价平衡31平仓时客户持仓不足客户的持仓不足32超出客户限仓该报价导致客户的投机持仓超过了限仓34超出会员限仓该报价导致会员的持仓超过了限仓35找不到帐号找不到报价使用的资金帐号36资金不足资金帐号中没有足够的资金37不合法的数量报价数量不是最小报单数量要求的正整数倍,或者超过最大报单数量48价格非最小单位的倍数报价的价格不是合约的最小变动单位的整数倍49价格超出涨停板报价的价格高于合约的涨停板50价格跌破跌停板报价的价格低于合约的跌停板51没有交易权限对指定合约、或者客户对指定的合约、或者交易员没有的交易权限52只能平仓会员对指定合约、或者客户对指定的合约、或者交易员只有平仓的权限53没有此项交易角色会员在指定合约上不具有该客户对应的交易角色57不能为其他会员操作交易员给非其所属的会员进行操作58用户不匹配报价中的交易员和登录时的交易员不匹配66用户尚未登录用户尚未登录79不被支持的报单类型交易所不支持此种报单类型96保值额度不足报入保值报价时,客户的套期保值额度不足103当日套保仓位不能平仓套保仓位不应使用平今仓报价进行平仓121没有报价权限做市商报价所用的客户没有报价权限nRequestID:返回用户报价录入操作请求的ID,该ID由用户在报价录入时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第29页,共139页6.
1.
15OnRspQuoteAction方法当前版本不开放本方法.
报价操作应答.
包括报价的撤销、报价的挂起、报价的激活、报价的修改.

当会员系统发出过报价操作指令后,交易系统返回响应时,该方法会被调用.

函数原型:参数:pQuoteAction:指向报价操作结构的地址,包含了报价操作请求的输入数据,和交易系统返回的报价编号.
报价操作结构:structCFfexFtdcQuoteActionField{///报价编号,该字段由交易系统返回.
TFfexFtdcQuoteSysIDTypeQuoteSysID;///本地报价编号TShfeFtdcOrderLocalIDTypeQuoteLocalID;///报单操作标志TFfexFtdcActionFlagTypeActionFlag;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///操作本地编号TFfexFtdcOrderLocalIDTypeActionLocalID;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因3会员找不到报价操作中的会员找不到4客户找不到报价操作中的客户找不到8报单操作字段错误报价操作中有字段值不合法(枚举值越界)15客户没有在该会员开户客户并没有在指定的会员中开户voidOnRspQuoteAction(CFfexFtdcQuoteActionField*pQuoteAction,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第30页,共139页22交易所数据没有同步交易系统尚未初始化完毕,可以稍后再重试23结算组数据没有同步交易系统尚未初始化完毕,可以稍后再重试25报价找不到找不到要操作的报价26当前状态禁止此项操作对于激活操作,合约交易状态不是连续交易、集合竞价报单或者集合竞价平衡对于其他操作,交易状态不是连续交易或者集合竞价报单28报单已经全部成交报价派生的报单已经全部成交了29报单已经撤销报价派生的报单已经撤销了35找不到帐号找不到应当使用的资金帐号36资金不足资金帐号中没有足够的资金57不能为其他会员操作交易员给非其所属的会员进行操作58用户不匹配报价操作中的交易员和登录时的交易员不匹配66用户尚未登录用户尚未登录70报价已经被取消报价已经被取消97重复的操作报价操作的本地操作号重复99不能为其他用户操作非授权交易员操作同会员的其他交易员报入的报价nRequestID:返回用户报价操作请求的ID,该ID由用户在报价操作时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
16OnRspExecOrderInsert方法当前版本不开放该方法.
执行宣告录入应答.
当会员系统执行宣告录入后,交易系统返回响应时,该方法会被调用.
函数原型:参数:pInputExecOrder:指向宣告录入结构的地址.
输入执行宣告结构:structCFfexFtdcInputExecOrderField{///合约编号TFfexFtdcInstrumentIDTypeInstrumentID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///本地执行宣告编号TFfexFtdcOrderLocalIDTypeExecOrderLocalID;///数量TFfexFtdcVolumeTypeVolume;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;voidOnRspExecOrderInsert(CFfexFtdcInputExecOrderField*pInputExecOrder,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第31页,共139页};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因2合约找不到找不到执行宣告中的合约3会员找不到执行宣告中的会员找不到4客户找不到执行宣告中的客户找不到15客户没有在该会员开户执行宣告中的客户并没有在指定的会员中开户22交易所数据没有同步交易系统尚未初始化完毕,可以稍后再重试23结算组数据没有同步交易系统尚未初始化完毕,可以稍后再重试26当前状态禁止此项操作合约交易状态处于收市状态51没有交易权限对指定合约、或者客户对指定的合约、或者交易员没有的交易权限53没有此项交易角色会员在指定合约上不具有该客户对应的交易角色57不能为其他会员操作交易员给非其所属的会员进行操作58用户不匹配执行宣告中的交易员和登录时的交易员不匹配66用户尚未登录用户尚未登录79不被支持的报单类型交易所不支持此种报单类型89执行宣告字段错误执行宣告中有字段值不合法(枚举值越界)91重复的执行宣告执行宣告中的本地执行宣告号重复94执行宣告只能用于期权执行宣告中的合约是非期权合约nRequestID:返回执行宣告录入请求的ID,该ID由用户在执行宣告录入时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
17OnRspExecOrderAction方法当前版本不开放本方法.
执行宣告操作应答.
当客户端执行宣告操作后,交易后台返回响应时,该方法会被调用.
函数原型:参数:pInputExecAction:指向宣告操作结构的地址.
voidOnRspExecOrderAction(CFfexFtdcExecOrderActionField*pExecOrderAction,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第32页,共139页宣告操作结构:structCFfexFtdcExecOrderActionField{///执行宣告编号TFfexFtdcExecOrderSysIDTypeExecOrderSysID;///本地执行宣告编号TFfexFtdcOrderLocalIDTypeExecOrderLocalID;///报单操作标志TFfexFtdcActionFlagTypeActionFlag;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///操作本地编号TFfexFtdcOrderLocalIDTypeActionLocalID;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因2合约找不到找不到执行宣告中的合约3会员找不到执行宣告中的会员找不到4客户找不到执行宣告中的客户找不到15客户没有在该会员开户执行宣告中的客户并没有在指定的会员中开户22交易所数据没有同步交易系统尚未初始化完毕,可以稍后再重试23结算组数据没有同步交易系统尚未初始化完毕,可以稍后再重试26当前状态禁止此项操作合约交易状态处于收市状态51没有交易权限对指定合约、或者客户对指定的合约、或者交易员没有的交易权限53没有此项交易角色会员在指定合约上不具有该客户对应的交易角色57不能为其他会员操作交易员给非其所属的会员进行操作58用户不匹配执行宣告中的交易员和登录时的交易员不匹配66用户尚未登录用户尚未登录79不被支持的报单类型交易所不支持此种报单类型90执行宣告操作字段错误执行宣告操作中有字段值不合法(枚举值越界)92执行宣告已经取消要操作的执行宣告已经取消93执行宣告找不到要操作的执行宣告没有找到97重复的操作执行宣告操作的本地操作号重复nRequestID:返回执行宣告操作请求的ID,该ID由用户在执行宣告操作时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第33页,共139页6.
1.
18OnRspQryPartAccount方法会员资金查询应答.
当客户端发出会员资金查询指令后,交易后台返回响应时,该方法会被调用.
函数原型:参数:pRspPartAccount:指向会员资金应答结构的地址.
会员资金应答结构:structCFfexFtdcRspPartAccountField{///交易日TFfexFtdcDateTypeTradingDay;///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号TFfexFtdcSettlementIDTypeSettlementID;///上次结算准备金TFfexFtdcMoneyTypePreBalance;///当前保证金总额TFfexFtdcMoneyTypeCurrMargin;///平仓盈亏TFfexFtdcMoneyTypeCloseProfit;///期权权利金收支TFfexFtdcMoneyTypePremium;///入金金额TFfexFtdcMoneyTypeDeposit;///出金金额TFfexFtdcMoneyTypeWithdraw;///期货结算准备金TFfexFtdcMoneyTypeBalance;///可提资金TFfexFtdcMoneyTypeAvailable;///资金帐号TFfexFtdcAccountIDTypeAccountID;///冻结的保证金TFfexFtdcMoneyTypeFrozenMargin;///冻结的权利金TFfexFtdcMoneyTypeFrozenPremium;///基本准备金TFfexFtdcMoneyTypeBaseReserve;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;voidOnRspQryPartAccount(CFfexFtdcRspPartAccountField*pRspPartAccount,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第34页,共139页///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因80用户无此权限只能查询本会员下的情况57不能为其他会员操作不能查询其它会员下的情况nRequestID:返回用户资金查询请求的ID,该ID由用户在资金查询时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
19OnRspQryOrder方法报单查询请求.
当会员系统发出报单查询指令后,交易系统返回响应时,该方法会被调用.
函数原型:参数:pOrder:指向报单信息结构的地址.
报单信息结构:structCFfexFtdcOrderField{///交易日TFfexFtdcDateTypeTradingDay;///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号TFfexFtdcSettlementIDTypeSettlementID;///报单编号TFfexFtdcOrderSysIDTypeOrderSysID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///报单价格条件TFfexFtdcOrderPriceTypeTypeOrderPriceType;///买卖方向TFfexFtdcDirectionTypeDirection;///组合开平标志TFfexFtdcCombOffsetFlagTypeCombOffsetFlag;///组合投机套保标志TFfexFtdcCombHedgeFlagTypeCombHedgeFlag;///价格voidOnRspQryOrder(CFfexFtdcOrderField*pOrder,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第35页,共139页TFfexFtdcPriceTypeLimitPrice;///数量TFfexFtdcVolumeTypeVolumeTotalOriginal;///有效期类型TFfexFtdcTimeConditionTypeTimeCondition;///GTD日期,未使用TFfexFtdcDateTypeGTDDate;///成交量类型TFfexFtdcVolumeConditionTypeVolumeCondition;///最小成交量TFfexFtdcVolumeTypeMinVolume;///触发条件TFfexFtdcContingentConditionTypeContingentCondition;///止损价,未使用TFfexFtdcPriceTypeStopPrice;///强平原因TFfexFtdcForceCloseReasonTypeForceCloseReason;///本地报单编号TFfexFtdcOrderLocalIDTypeOrderLocalID;///自动挂起标志TFfexFtdcBoolTypeIsAutoSuspend;///报单来源TFfexFtdcOrderSourceTypeOrderSource;///报单状态TFfexFtdcOrderStatusTypeOrderStatus;///报单类型TFfexFtdcOrderTypeTypeOrderType;///今成交数量TFfexFtdcVolumeTypeVolumeTraded;///剩余数量TFfexFtdcVolumeTypeVolumeTotal;///报单日期TFfexFtdcDateTypeInsertDate;///插入时间TFfexFtdcTimeTypeInsertTime;///激活时间TFfexFtdcTimeTypeActiveTime;///挂起时间TFfexFtdcTimeTypeSuspendTime;///最后修改时间TFfexFtdcTimeTypeUpdateTime;///撤销时间TFfexFtdcTimeTypeCancelTime;///最后修改交易用户代码TFfexFtdcUserIDTypeActiveUserID;///优先权,未使用TFfexFtdcPriorityTypePriority;///按时间排队的序号,未使用TFfexFtdcTimeSortIDTypeTimeSortID;///结算会员编号,未使用TFfexFtdcParticipantIDTypeClearingPartID;///业务单元,未使用TFfexFtdcBusinessUnitTypeBusinessUnit;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第36页,共139页///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因80用户无此权限只能查询本会员下的情况57不能为其他会员操作不能查询其它会员下的情况nRequestID:返回用户报单查询请求的ID,该ID由用户在报单查询时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
20OnRspQryQuote方法当前版本不开放本方法.
报价查询应答.
当会员系统发出报价查询指令后,交易系统返回响应时,该方法会被调用.
函数原型:参数:pQuote:指向报价信息结构的地址.
报价信息结构:structCFfexFtdcQuoteField{///交易日TFfexFtdcDateTypeTradingDay;///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号TFfexFtdcSettlementIDTypeSettlementID;///报价编号TFfexFtdcQuoteSysIDTypeQuoteSysID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///数量TFfexFtdcVolumeTypeVolume;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///本地报价编号TFfexFtdcQuoteLocalIDTypeQuoteLocalID;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;///买方组合开平标志TFfexFtdcCombOffsetFlagTypeBidCombOffsetFlag;voidOnRspQryQuote(CFfexFtdcQuoteField*pQuote,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第37页,共139页///买方组合套保标志TFfexFtdcCombHedgeFlagTypeBidCombHedgeFlag;///买方价格TFfexFtdcPriceTypeBidPrice;///卖方组合开平标志TFfexFtdcCombOffsetFlagTypeAskCombOffsetFlag;///卖方组合套保标志TFfexFtdcCombHedgeFlagTypeAskCombHedgeFlag;///卖方价格TFfexFtdcPriceTypeAskPrice;///插入时间TFfexFtdcTimeTypeInsertTime;///撤销时间TFfexFtdcTimeTypeCancelTime;///成交时间TFfexFtdcTimeTypeTradeTime;///买方报单编号TFfexFtdcOrderSysIDTypeBidOrderSysID;///卖方报单编号TFfexFtdcOrderSysIDTypeAskOrderSysID;///结算会员编号TFfexFtdcParticipantIDTypeClearingPartID;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因80用户无此权限只能查询本会员下的情况57不能为其他会员操作不能查询其它会员下的情况nRequestID:返回用户报价查询请求的ID,该ID由用户在报价查询时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
21OnRspQryTrade方法成交单查询应答.
当会员系统发出成交单查询指令后,交易系统返回响应时,该方法会被调用.
函数原型:参数:voidOnRspQryTrade(CFfexFtdcTradeField*pTrade,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第38页,共139页pTrade:指向成交信息结构的地址.
成交信息结构:structCFfexFtdcTradeField{///交易日TFfexFtdcDateTypeTradingDay;///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号TFfexFtdcSettlementIDTypeSettlementID;///成交编号TFfexFtdcTradeIDTypeTradeID;///买卖方向TFfexFtdcDirectionTypeDirection;///报单编号TFfexFtdcOrderSysIDTypeOrderSysID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易角色TFfexFtdcTradingRoleTypeTradingRole;///资金帐号TFfexFtdcAccountIDTypeAccountID;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///开平标志TFfexFtdcOffsetFlagTypeOffsetFlag;///投机套保标志TFfexFtdcHedgeFlagTypeHedgeFlag;///价格TFfexFtdcPriceTypePrice;///数量TFfexFtdcVolumeTypeVolume;///成交时间TFfexFtdcTimeTypeTradeTime;///成交类型TFfexFtdcTradeTypeTypeTradeType;///成交价来源TFfexFtdcPriceSourceTypePriceSource;///交易用户代码TFfexFtdcUserIDTypeUserID;///本地报单编号TFfexFtdcOrderLocalIDTypeOrderLocalID;///结算会员编号TFfexFtdcParticipantIDTypeClearingPartID;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第39页,共139页可能出现的错误:错误代码错误提示可能的原因80用户无此权限只能查询本会员下的情况57不能为其他会员操作不能查询其它会员下的情况nRequestID:返回用户成交单请求的ID,该ID由用户在成交单查询时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
22OnRspForQuote方法询价请求应答.
当会员系统发出询价请求指令后,交易系统返回响应时,该方法会被调用.
函数原型:参数:pInputReqForQuote:指向询价信息结构的地址.
询价信息结构:structCFfexFtdcInputReqForQuoteField{///询价编号TFfexFtdcQuoteSysIDTypeReqForQuoteID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///交易日期TFfexFtdcTradingDayTypeTradingDay;///询价时间TFfexFtdcTimeTypeReqForQuoteTime;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因2合约找不到询价合约不存在voidOnRspForQuote(CFfexFtdcInputReqForQuoteField*pInputReqForQuote,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第40页,共139页26当前状态禁止此项操作只能在合约状态为连续交易时发起询价请求57不能为其他会员操作不能为其他会员下的客户询价123询价客户字段不能为空询价请求时必须填写客户编码nRequestID:返回用户成交单请求的ID,该ID由用户在成交单查询时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
23OnRspQryClient方法会员客户查询应答.
当会员系统发出会员客户查询指令后,交易系统返回响应时,该方法会被调用.
函数原型:参数:pClient:指向客户信息结构的地址.
客户信息结构:structCFfexFtdcRspClientField{///客户代码TFfexFtdcClientIDTypeClientID;///客户名称TFfexFtdcPartyNameTypeClientName;///证件类型TFfexFtdcIdCardTypeTypeIdentifiedCardType;///原证件号码TFfexFtdcIdentifiedCardNoV1TypeUseLess;///交易角色TFfexFtdcTradingRoleTypeTradingRole;///客户类型TFfexFtdcClientTypeTypeClientType;///是否活跃TFfexFtdcBoolTypeIsActive;///会员号TFfexFtdcParticipantIDTypeParticipantID;///证件号码TFfexFtdcIdentifiedCardNoTypeIdentifiedCardNo;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;voidOnRspQryClient(CFfexFtdcRspClientField*pClient,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第41页,共139页};可能出现的错误:错误代码错误提示可能的原因80用户无此权限只能查询本会员下的情况57不能为其他会员操作不能查询其它会员下的情况nRequestID:返回会员客户查询请求的ID,该ID由用户在会员客户查询时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
24OnRspQryPartPosition方法会员持仓查询应答.
当会员系统发出会员持仓查询指令后,后交易系统返回响应时,该方法会被调用.
函数原型:参数:pRspPartPosition:指向会员持仓应答结构的地址.
会员持仓应答结构:structCFfexFtdcRspPartPositionField{///交易日TFfexFtdcDateTypeTradingDay;///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号TFfexFtdcSettlementIDTypeSettlementID;///投机套保标志TFfexFtdcHedgeFlagTypeHedgeFlag;///持仓多空方向TFfexFtdcPosiDirectionTypePosiDirection;///上日持仓TFfexFtdcVolumeTypeYdPosition;///今日持仓TFfexFtdcVolumeTypePosition;///多头冻结TFfexFtdcVolumeTypeLongFrozen;///空头冻结TFfexFtdcVolumeTypeShortFrozen;///昨日多头冻结TFfexFtdcVolumeTypeYdLongFrozen;///昨日空头冻结TFfexFtdcVolumeTypeYdShortFrozen;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///会员代码voidOnRspQryPartPosition(CFfexFtdcRspPartPositionField*pRspPartPosition,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第42页,共139页TFfexFtdcParticipantIDTypeParticipantID;///交易角色TFfexFtdcTradingRoleTypeTradingRole;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因80用户无此权限只能查询本会员下的情况57不能为其他会员操作不能查询其它会员下的情况nRequestID:返回会员持仓查询请求的ID,该ID由用户在会员持仓查询时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
25OnRspQryClientPosition方法客户持仓查询应答.
当会员系统发出客户持仓查询指令后,交易系统返回响应时,该方法会被调用.
函数原型:参数:pRspClientPosition:指向客户持仓应答结构的地址.
客户持仓应答结构:structCFfexFtdcRspClientPositionField{///交易日TFfexFtdcDateTypeTradingDay;///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号TFfexFtdcSettlementIDTypeSettlementID;///投机套保标志TFfexFtdcHedgeFlagTypeHedgeFlag;///持仓多空方向TFfexFtdcPosiDirectionTypePosiDirection;///上日持仓voidOnRspQryClientPosition(CFfexFtdcRspClientPositionField*pRspClientPosition,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第43页,共139页TFfexFtdcVolumeTypeYdPosition;///今日持仓TFfexFtdcVolumeTypePosition;///多头冻结TFfexFtdcVolumeTypeLongFrozen;///空头冻结TFfexFtdcVolumeTypeShortFrozen;///昨日多头冻结TFfexFtdcVolumeTypeYdLongFrozen;///昨日空头冻结TFfexFtdcVolumeTypeYdShortFrozen;///当日买成交量TFfexFtdcVolumeTypeBuyTradeVolume;///当日卖成交量TFfexFtdcVolumeTypeSellTradeVolume;///持仓成本TFfexFtdcMoneyTypePositionCost;///昨日持仓成本TFfexFtdcMoneyTypeYdPositionCost;///占用的保证金TFfexFtdcMoneyTypeUseMargin;///冻结的保证金TFfexFtdcMoneyTypeFrozenMargin;///多头冻结的保证金TFfexFtdcMoneyTypeLongFrozenMargin;///空头冻结的保证金TFfexFtdcMoneyTypeShortFrozenMargin;///冻结的权利金TFfexFtdcMoneyTypeFrozenPremium;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因80用户无此权限只能查询本会员下的情况57不能为其他会员操作不能查询其它会员下的情况nRequestID:返回客户持仓查询请求的ID,该ID由用户在客户持仓查询时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第44页,共139页6.
1.
26OnRspQryInstrument方法合约查询应答.
当会员系统发出合约查询指令后,交易系统返回响应时,该方法会被调用.
函数原型:参数:pRspInstrument:指向合约结构的地址.
黄色高亮字段已弃用,返回值无业务参考意义.
合约结构:structCFfexFtdcRspInstrumentField{///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///产品代码TFfexFtdcProductIDTypeProductID;///产品组代码(此字段弃用)TFfexFtdcProductGroupIDTypeProductGroupID;///基础商品代码TFfexFtdcInstrumentIDTypeUnderlyingInstrID;///产品类型TFfexFtdcProductClassTypeProductClass;///持仓类型TFfexFtdcPositionTypeTypePositionType;///执行价TFfexFtdcPriceTypeStrikePrice;///期权类型TFfexFtdcOptionsTypeTypeOptionsType;///合约数量乘数TFfexFtdcVolumeMultipleTypeVolumeMultiple;///合约基础商品乘数TFfexFtdcUnderlyingMultipleTypeUnderlyingMultiple;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///合约名称TFfexFtdcInstrumentNameTypeInstrumentName;///交割年份TFfexFtdcYearTypeDeliveryYear;///交割月TFfexFtdcMonthTypeDeliveryMonth;///提前月份TFfexFtdcAdvanceMonthTypeAdvanceMonth;///当前是否交易TFfexFtdcBoolTypeIsTrading;///创建日TFfexFtdcDateTypeCreateDate;///上市日TFfexFtdcDateTypeOpenDate;///到期日voidOnRspQryInstrument(CFfexFtdcRspInstrumentField*pRspInstrument,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第45页,共139页TFfexFtdcDateTypeExpireDate;///开始交割日(此字段弃用)TFfexFtdcDateTypeStartDelivDate;///最后交割日(此字段弃用)TFfexFtdcDateTypeEndDelivDate;///挂牌基准价TFfexFtdcPriceTypeBasisPrice;///市价单最大下单量TFfexFtdcVolumeTypeMaxMarketOrderVolume;///市价单最小下单量TFfexFtdcVolumeTypeMinMarketOrderVolume;///限价单最大下单量TFfexFtdcVolumeTypeMaxLimitOrderVolume;///限价单最小下单量TFfexFtdcVolumeTypeMinLimitOrderVolume;///最小变动价位TFfexFtdcPriceTypePriceTick;///交割月自然人开仓(此字段弃用)TFfexFtdcMonthCountTypeAllowDelivPersonOpen;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};nRequestID:返回合约查询请求的ID,该ID由用户在合约查询时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
27OnRspQryInstrumentStatus方法合约交易状态查询应答.
当会员系统发出合约交易状态查询指令后,交易系统返回响应时,该方法会被调用.
函数原型:参数:pInstrumentStatus:指向合约交易状态结构的地址.
合约交易状态结构:voidOnRspQryInstrumentStatus(CFfexFtdcInstrumentStatusField*pInstrumentStatus,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第46页,共139页pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};nRequestID:返回合约交易状态查询请求的ID,该ID由用户在合约交易状态查询时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
28OnRspQryBulletin方法交易所公告查询请求应答.
当会员系统发出交易所公告查询指令后,交易系统返回响应时,该方法会被调用.
函数原型:参数:pBulletin:指向交易所公告结构的地址.
交易所公告结构:structCFfexFtdcBulletinField{///交易日TFfexFtdcDateTypeTradingDay;///公告编号TFfexFtdcBulletinIDTypeBulletinID;structCFfexFtdcInstrumentStatusField{///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///合约交易状态TFfexFtdcInstrumentStatusTypeInstrumentStatus;///交易阶段编号TFfexFtdcTradingSegmentSNTypeTradingSegmentSN;///进入本状态时间TFfexFtdcTimeTypeEnterTime;///进入本状态原因TFfexFtdcInstStatusEnterReasonTypeEnterReason;};voidOnRspQryBulletin(CFfexFtdcBulletinField*pBulletin,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第47页,共139页///序列号TFfexFtdcSequenceNoTypeSequenceNo;///公告类型TFfexFtdcNewsTypeTypeNewsType;///紧急程度TFfexFtdcNewsUrgencyTypeNewsUrgency;///发送时间TFfexFtdcTimeTypeSendTime;///消息摘要TFfexFtdcAbstractTypeAbstract;///消息来源TFfexFtdcComeFromTypeComeFrom;///消息正文TFfexFtdcContentTypeContent;///WEB地址TFfexFtdcURLLinkTypeURLLink;///市场代码TFfexFtdcMarketIDTypeMarketID;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};nRequestID:返回交易所公告查询请求的ID,该ID由用户在交易所公告查询时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
29OnRspQryMarketData方法普通行情查询应答,当客户端发出过普通行情查询,交易后台返回响应时,该方法会被调用.
函数原型:参数:pMarketData:返回的市场行情信息的地址.
市场行情信息结构:structCFfexFtdcMarketDataField{///交易日voidOnRspQryMarketData(CFfexFtdcMarketDataField*pMarketData,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第48页,共139页TFfexFtdcDateTypeTradingDay;///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号TFfexFtdcSettlementIDTypeSettlementID;///最新价TFfexFtdcPriceTypeLastPrice;///昨结算TFfexFtdcPriceTypePreSettlementPrice;///昨收盘TFfexFtdcPriceTypePreClosePrice;///昨持仓量TFfexFtdcLargeVolumeTypePreOpenInterest;///今开盘TFfexFtdcPriceTypeOpenPrice;///最高价TFfexFtdcPriceTypeHighestPrice;///最低价TFfexFtdcPriceTypeLowestPrice;///数量TFfexFtdcVolumeTypeVolume;///成交金额TFfexFtdcMoneyTypeTurnover;///持仓量TFfexFtdcLargeVolumeTypeOpenInterest;///今收盘TFfexFtdcPriceTypeClosePrice;///今结算TFfexFtdcPriceTypeSettlementPrice;///涨停板价TFfexFtdcPriceTypeUpperLimitPrice;///跌停板价TFfexFtdcPriceTypeLowerLimitPrice;///昨虚实度TFfexFtdcRatioTypePreDelta;///今虚实度TFfexFtdcRatioTypeCurrDelta;///最后修改时间TFfexFtdcTimeTypeUpdateTime;///最后修改毫秒TFfexFtdcMillisecTypeUpdateMillisec;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;};pRspInfo:返回用户响应信息的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};nRequestID:返回用户登出请求的ID,该ID由用户在登出时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第49页,共139页6.
1.
30OnRspQryMBLMarketData方法合约价位查询应答.
当会员系统合约价位查询指令后,交易系统返回响应时,该方法会被调用.
函数原型:参数:pMBLMarketData:指向分价表结构的地址.
分价表结构:structCFfexFtdcMBLMarketDataField{///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///买卖方向TFfexFtdcDirectionTypeDirection;///价格TFfexFtdcPriceTypePrice;///数量TFfexFtdcVolumeTypeVolume;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};nRequestID:返回合约价位查询请求的ID,该ID由用户在合约价位查询时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
31OnRspQryHedgeVolume方法保值额度应答.
当会员系统执行保值额度查询操作后,交易系统返回响应时,该方法会被调用.
voidOnRspQryMBLMarketData(CFfexFtdcMBLMarketDataField*pMBLMarketData,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第50页,共139页函数原型:参数:pHedgeVolume:指向保值额度量结构的地址.
保值额度量结构:structCFfexFtdcHedgeVolumeField{///交易日TFfexFtdcDateTypeTradingDay;///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号TFfexFtdcSettlementIDTypeSettlementID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///多头保值额度最初申请量,单位为手.
TFfexFtdcVolumeTypeLongVolumeOriginal;///空头保值额度最初申请量,单位为手.
TFfexFtdcVolumeTypeShortVolumeOriginal;///多头保值额度,单位为手.
TFfexFtdcVolumeTypeLongVolume;///空头保值额度,单位为手.
TFfexFtdcVolumeTypeShortVolume;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};可能出现的错误:错误代码错误提示可能的原因80用户无此权限只能查询本会员下的情况57不能为其他会员操作不能查询其它会员下的情况nRequestID:返回执行保值额度查询的ID,该ID由用户在执行保值额度查询时指定.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
voidOnRspQryHedgeVolume(CFfexFtdcHedgeVolumeField*pHedgeVolume,CFfexFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第51页,共139页6.
1.
32OnRtnTrade方法成交回报.
当发生成交时交易系统会通知会员系统,该方法会被调用.
函数原型:voidOnRtnTrade(CFfexFtdcTradeField*pTrade);参数:pTrade:指向成交信息结构的地址.
注意:成交回报中的某些字段未使用,交易系统返回为空值.
成交信息结构:structCFfexFtdcTradeField{///交易日TFfexFtdcDateTypeTradingDay;///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号TFfexFtdcSettlementIDTypeSettlementID;///成交编号TFfexFtdcTradeIDTypeTradeID;///买卖方向TFfexFtdcDirectionTypeDirection;///报单编号TFfexFtdcOrderSysIDTypeOrderSysID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易角色,未使用TFfexFtdcTradingRoleTypeTradingRole;///资金帐号,未使用TFfexFtdcAccountIDTypeAccountID;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///开平标志TFfexFtdcOffsetFlagTypeOffsetFlag;///投机套保标志TFfexFtdcHedgeFlagTypeHedgeFlag;///价格TFfexFtdcPriceTypePrice;///数量TFfexFtdcVolumeTypeVolume;///成交时间TFfexFtdcTimeTypeTradeTime;///成交类型,未使用TFfexFtdcTradeTypeTypeTradeType;///成交价来源,未使用TFfexFtdcPriceSourceTypePriceSource;///交易用户代码TFfexFtdcUserIDTypeUserID;///本地报单编号TFfexFtdcOrderLocalIDTypeOrderLocalID;///结算会员编号,未使用TFfexFtdcParticipantIDTypeClearingPartID;///业务单元,未使用中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第52页,共139页TFfexFtdcBusinessUnitTypeBusinessUnit;};6.
1.
33OnRtnOrder方法报单回报.
当会员系统进行报单录入、报单操作及其它原因(如部分成交)导致报单状态发生变化时,交易系统会主动通知客户端,该方法会被调用.

函数原型:voidOnRtnOrder(CFfexFtdcOrderField*pOrder);参数:pOrder:指向报单信息结构的地址.
注意:报单回报中的某些字段未使用,交易系统返回为空值.
报单信息结构:structCFfexFtdcOrderField{///交易日,未使用TFfexFtdcDateTypeTradingDay;///结算组代码,未使用TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号,未使用TFfexFtdcSettlementIDTypeSettlementID;///报单编号TFfexFtdcOrderSysIDTypeOrderSysID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///报单价格条件TFfexFtdcOrderPriceTypeTypeOrderPriceType;///买卖方向TFfexFtdcDirectionTypeDirection;///组合开平标志TFfexFtdcCombOffsetFlagTypeCombOffsetFlag;///组合投机套保标志TFfexFtdcCombHedgeFlagTypeCombHedgeFlag;///价格TFfexFtdcPriceTypeLimitPrice;///数量TFfexFtdcVolumeTypeVolumeTotalOriginal;///有效期类型TFfexFtdcTimeConditionTypeTimeCondition;///GTD日期TFfexFtdcDateTypeGTDDate;///成交量类型TFfexFtdcVolumeConditionTypeVolumeCondition;///最小成交量TFfexFtdcVolumeTypeMinVolume;///触发条件TFfexFtdcContingentConditionTypeContingentCondition;中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第53页,共139页///止损价TFfexFtdcPriceTypeStopPrice;///强平原因TFfexFtdcForceCloseReasonTypeForceCloseReason;///本地报单编号TFfexFtdcOrderLocalIDTypeOrderLocalID;///自动挂起标志TFfexFtdcBoolTypeIsAutoSuspend;///报单来源,未使用TFfexFtdcOrderSourceTypeOrderSource;///报单状态TFfexFtdcOrderStatusTypeOrderStatus;///报单类型,未使用TFfexFtdcOrderTypeTypeOrderType;///今成交数量,未使用TFfexFtdcVolumeTypeVolumeTraded;///剩余数量TFfexFtdcVolumeTypeVolumeTotal;///报单日期TFfexFtdcDateTypeInsertDate;///插入时间,未使用TFfexFtdcTimeTypeInsertTime;///激活时间,未使用TFfexFtdcTimeTypeActiveTime;///挂起时间,未使用TFfexFtdcTimeTypeSuspendTime;///最后修改时间TFfexFtdcTimeTypeUpdateTime;///撤销时间,未使用TFfexFtdcTimeTypeCancelTime;///最后修改交易用户代码TFfexFtdcUserIDTypeActiveUserID;///优先权,未使用TFfexFtdcPriorityTypePriority;///按时间排队的序号,未使用TFfexFtdcTimeSortIDTypeTimeSortID;///结算会员编号,未使用TFfexFtdcParticipantIDTypeClearingPartID;///业务单元,未使用TFfexFtdcBusinessUnitTypeBusinessUnit;};6.
1.
34OnRtnQuote方法报价回报.
当会员系统进行报价录入、报价操作导致报价状态发生变化时,由交易系统服务主动通知客户端,该方法会被调用.
函数原型:voidOnRtnQuote(CFfexFtdcQuoteField*pQuote);参数:pQuote:指向报价结构的地址.
报价结构:structCFfexFtdcQuoteField{///交易日中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第54页,共139页TFfexFtdcDateTypeTradingDay;///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号TFfexFtdcSettlementIDTypeSettlementID;///报价编号TFfexFtdcQuoteSysIDTypeQuoteSysID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///买入数量TFfexFtdcVolumeTypeBidVolume;///卖出数量TFfexFtdcVolumeTypeAskVolume;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///本地报价编号TFfexFtdcOrderLocalIDTypeQuoteLocalID;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;///买方组合开平标志TFfexFtdcCombOffsetFlagTypeBidCombOffsetFlag;///买方组合套保标志TFfexFtdcCombHedgeFlagTypeBidCombHedgeFlag;///买方价格TFfexFtdcPriceTypeBidPrice;///卖方组合开平标志TFfexFtdcCombOffsetFlagTypeAskCombOffsetFlag;///卖方组合套保标志TFfexFtdcCombHedgeFlagTypeAskCombHedgeFlag;///卖方价格TFfexFtdcPriceTypeAskPrice;///插入时间TFfexFtdcTimeTypeInsertTime;///撤销时间TFfexFtdcTimeTypeCancelTime;///成交时间TFfexFtdcTimeTypeTradeTime;///买方报单编号TFfexFtdcOrderSysIDTypeBidOrderSysID;///卖方报单编号TFfexFtdcOrderSysIDTypeAskOrderSysID;///结算会员编号TFfexFtdcParticipantIDTypeClearingPartID;};6.
1.
35OnRtnForQuote方法询价通知.
当客户发送询价请求到交易系统时,由交易系统服务主动通知客户端,该方法会被调用.
交易系统仅通知调用SubscribeForQuote方法订阅询价流的客户端.
函数原型:中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第55页,共139页voidOnRtnForQuote(CFfexFtdcInputReqForQuoteField*pReqForQuote);参数:pReqForQuote:指向询价结构的地址.
询价结构:structCFfexFtdcInputReqForQuoteField{///询价编号TFfexFtdcQuoteSysIDTypeReqForQuoteID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///交易日期TFfexFtdcTradingDayTypeTradingDay;///询价时间TFfexFtdcTimeTypeReqForQuoteTime;};6.
1.
36OnRtnExecOrder方法执行宣告回报.
由交易系统主动通知会员系统,该方法会被调用.
函数原型:voidOnRtnExecOrder(CFfexFtdcExecOrderField*pExecOrder);参数:pExecOrder:指向执行宣告结构的地址.
执行宣告结构:structCFfexFtdcExecOrderField{///交易日TFfexFtdcDateTypeTradingDay;///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号TFfexFtdcSettlementIDTypeSettlementID;///合约编号TFfexFtdcInstrumentIDTypeInstrumentID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///本地执行宣告编号TFfexFtdcOrderLocalIDTypeExecOrderLocalID;///数量TFfexFtdcVolumeTypeVolume;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;///执行宣告编号TFfexFtdcExecOrderSysIDTypeExecOrderSysID;中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第56页,共139页///报单日期TFfexFtdcDateTypeInsertDate;///插入时间TFfexFtdcTimeTypeInsertTime;///撤销时间TFfexFtdcTimeTypeCancelTime;///执行结果TFfexFtdcExecResultTypeExecResult;///结算会员编号TFfexFtdcParticipantIDTypeClearingPartID;};6.
1.
37OnRtnInstrumentStatus方法合约交易状态改变回报.
当合约交易状态发生变化时,交易系统会主动通知会员系统,该方法会被调用.
函数原型:voidOnRtnInstrumentStatus(CFfexFtdcInstrumentStatusField*pInstrumentStatus);参数:pInstrumentStatus:指向合约状态结构的地址.
合约状态结构:structCFfexFtdcInstrumentStatusField{///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///合约交易状态TFfexFtdcInstrumentStatusTypeInstrumentStatus;///交易阶段编号TFfexFtdcTradingSegmentSNTypeTradingSegmentSN;///进入本状态时间TFfexFtdcTimeTypeEnterTime;///进入本状态原因TFfexFtdcInstStatusEnterReasonTypeEnterReason;};6.
1.
38OnRtnInsInstrument方法增加合约通知.
当会员系统登录成功后时,交易系统会把系统中的增加的合约通过公共流通知给客户端.
函数原型:voidOnRtnInsInstrument(CFfexFtdcInstrumentField*pInstrument);参数:pInstrument:指向合约结构的地址.
合约结构:中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第57页,共139页structCFfexFtdcInstrumentField{///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///产品代码TFfexFtdcProductIDTypeProductID;///产品组代码TFfexFtdcProductGroupIDTypeProductGroupID;///基础商品代码TFfexFtdcInstrumentIDTypeUnderlyingInstrID;///产品类型TFfexFtdcProductClassTypeProductClass;///持仓类型TFfexFtdcPositionTypeTypePositionType;///执行价TFfexFtdcPriceTypeStrikePrice;///期权类型TFfexFtdcOptionsTypeTypeOptionsType;///合约数量乘数TFfexFtdcVolumeMultipleTypeVolumeMultiple;///合约基础商品乘数TFfexFtdcUnderlyingMultipleTypeUnderlyingMultiple;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///合约名称TFfexFtdcInstrumentNameTypeInstrumentName;///交割年份TFfexFtdcYearTypeDeliveryYear;///交割月TFfexFtdcMonthTypeDeliveryMonth;///提前月份TFfexFtdcAdvanceMonthTypeAdvanceMonth;///当前是否交易TFfexFtdcBoolTypeIsTrading;};6.
1.
39OnRtnDelInstrument方法删除合约通知.
当会员系统登录成功后时,交易系统会把系统中删除的合约通过公共流通知给会员系统.
函数原型:voidOnRtnDelInstrument(CFfexFtdcInstrumentField*pInstrument);参数:pInstrument:指向合约结构的地址.
合约结构:structCFfexFtdcInstrumentField{///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///产品代码TFfexFtdcProductIDTypeProductID;///产品组代码TFfexFtdcProductGroupIDTypeProductGroupID;///基础商品代码中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第58页,共139页TFfexFtdcInstrumentIDTypeUnderlyingInstrID;///产品类型TFfexFtdcProductClassTypeProductClass;///持仓类型TFfexFtdcPositionTypeTypePositionType;///执行价TFfexFtdcPriceTypeStrikePrice;///期权类型TFfexFtdcOptionsTypeTypeOptionsType;///合约数量乘数TFfexFtdcVolumeMultipleTypeVolumeMultiple;///合约基础商品乘数TFfexFtdcUnderlyingMultipleTypeUnderlyingMultiple;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///合约名称TFfexFtdcInstrumentNameTypeInstrumentName;///交割年份TFfexFtdcYearTypeDeliveryYear;///交割月TFfexFtdcMonthTypeDeliveryMonth;///提前月份TFfexFtdcAdvanceMonthTypeAdvanceMonth;///当前是否交易TFfexFtdcBoolTypeIsTrading;};6.
1.
40OnRtnInsCombinationLeg方法当前版本不支持该方法.
增加合约单腿通知.
会员系统登录成功后时,交易系统会把系统中的增加组合合约的单腿通过公共流通知给会员系统.
函数原型:voidOnRtnInsCombinationLeg(CFfexFtdcCombinationLegField*pCombinationLeg);参数:pCombinationLeg:指向组合交易合约单腿结构的地址.
组合交易合约单腿结构:structCFfexFtdcCombinationLegField{///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///组合合约代码TFfexFtdcInstrumentIDTypeCombInstrumentID;///单腿编号TFfexFtdcLegIDTypeLegID;///单腿合约代码TFfexFtdcInstrumentIDTypeLegInstrumentID;///买卖方向TFfexFtdcDirectionTypeDirection;///单腿乘数TFfexFtdcLegMultipleTypeLegMultiple;///推导层数TFfexFtdcImplyLevelTypeImplyLevel;中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第59页,共139页};6.
1.
41OnRtnDelCombinationLeg方法当前版本不支持该方法.
删除合约单腿通知.
会员系统登录成功后时,交易系统会把系统中的删除组合合约的单腿通过公共流通知给会员系统.
函数原型:voidOnRtnDelCombinationLeg(CFfexFtdcCombinationLegField*pCombinationLeg);参数:pCombinationLeg:指向组合交易合约单腿结构的地址.
组合交易合约单腿结构:structCFfexFtdcCombinationLegField{///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///组合合约代码TFfexFtdcInstrumentIDTypeCombInstrumentID;///单腿编号TFfexFtdcLegIDTypeLegID;///单腿合约代码TFfexFtdcInstrumentIDTypeLegInstrumentID;///买卖方向TFfexFtdcDirectionTypeDirection;///单腿乘数TFfexFtdcLegMultipleTypeLegMultiple;///推导层数TFfexFtdcImplyLevelTypeImplyLevel;};6.
1.
42OnRtnBulletin方法公告通知.
交易所通过交易系统发布公告时,由交易系统主动通知会员系统,该方法会被调用.
函数原型:voidOnRtnBulletin(CFfexFtdcBulletinField*pBulletin);参数:pBulletin:指向公告结构的地址.
公告结构:structCFfexFtdcBulletinField{///交易日TFfexFtdcDateTypeTradingDay;///公告编号中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第60页,共139页TFfexFtdcBulletinIDTypeBulletinID;///序列号TFfexFtdcSequenceNoTypeSequenceNo;///公告类型TFfexFtdcNewsTypeTypeNewsType;///紧急程度TFfexFtdcNewsUrgencyTypeNewsUrgency;///发送时间TFfexFtdcTimeTypeSendTime;///消息摘要TFfexFtdcAbstractTypeAbstract;///消息来源TFfexFtdcComeFromTypeComeFrom;///消息正文TFfexFtdcContentTypeContent;///WEB地址TFfexFtdcURLLinkTypeURLLink;///市场代码TFfexFtdcMarketIDTypeMarketID;};6.
1.
43OnRtnAliasDefine方法别名定义通知.
由交易系统主动通知会员系统,该方法会被调用.
函数原型:voidOnRtnAliasDefine(CFfexFtdcAliasDefineField*pAliasDefine);参数:pAliasDefine:指向别名定义结构的地址.
别名定义结构:structCFfexFtdcAliasDefineField{///起始位置TFfexFtdcStartPosTypeStartPos;///别名TFfexFtdcAliasTypeAlias;///原文TFfexFtdcOriginalTextTypeOriginalText;};6.
1.
44OnRtnFlowMessageCancel方法数据流回退通知.
由交易系统发生灾备切换之后,用户重新登录交易系统并订阅某个数据流(私有流或公共流)时,交易系统主动通知会员系统该数据流某些报文被取消了,该方法会被调用.
函数原型:voidOnRtnFlowMessageCancel(CFfexFtdcFlowMessageCancelField*pFlowMessageCancel);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第61页,共139页参数:pFlowMessageCancel:指向数据流回退结构的地址.
别名定义结构:6.
1.
45OnErrRtnOrderInsert方法报单录入错误回报.
由交易系统主动通知会员系统,该方法会被调用.
函数原型:参数:pInputOrder:指向报单录入结构的地址,包含了提交报单录入时的输入数据,和后台返回的报单编号.
输入报单结构:structCFfexFtdcInputOrderField{///报单编号,该字段由交易后台返回.
TFfexFtdcOrderSysIDTypeOrderSysID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///报单价格条件TFfexFtdcOrderPriceTypeTypeOrderPriceType;///买卖方向TFfexFtdcDirectionTypeDirection;///组合开平标志TFfexFtdcCombOffsetFlagTypeCombOffsetFlag;///组合投机套保标志TFfexFtdcCombHedgeFlagTypeCombHedgeFlag;///价格TFfexFtdcPriceTypeLimitPrice;structCFfexFtdcFlowMessageCancelField{///序列系列号TFfexFtdcSequenceSeriesTypeSequenceSeries;///交易日TFfexFtdcDateTypeTradingDay;///数据中心代码TFfexFtdcDataCenterIDTypeDataCenterID;///回退起始序列号TFfexFtdcSequenceNoTypeStartSequenceNo;///回退结束序列号TFfexFtdcSequenceNoTypeEndSequenceNo;};SequenceSeries:发生回退的数据流代码(私有流或公共流)回退的报文区间为:(StartSequenceNo,EndSequenceNo]voidOnErrRtnOrderInsert(CFfexFtdcInputOrderField*pInputOrder,CFfexFtdcRspInfoField*pRspInfo);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第62页,共139页///数量TFfexFtdcVolumeTypeVolumeTotalOriginal;///有效期类型TFfexFtdcTimeConditionTypeTimeCondition;///GTD日期TFfexFtdcDateTypeGTDDate;///成交量类型TFfexFtdcVolumeConditionTypeVolumeCondition;///最小成交量TFfexFtdcVolumeTypeMinVolume;///触发条件TFfexFtdcContingentConditionTypeContingentCondition;///止损价TFfexFtdcPriceTypeStopPrice;///强平原因TFfexFtdcForceCloseReasonTypeForceCloseReason;///本地报单编号TFfexFtdcOrderLocalIDTypeOrderLocalID;///自动挂起标志TFfexFtdcBoolTypeIsAutoSuspend;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};6.
1.
46OnErrRtnOrderAction方法报单操作错误回报.
由交易系统主动通知会员系统,该方法会被调用.
函数原型:参数:pOrderAction:指向报单操作结构的地址,包含了提交报单操作的输入数据,和交易系统返回的报单编号.
报单操作结构:structCFfexFtdcOrderActionField{///报单编号,该字段由交易后台返回.
TFfexFtdcOrderSysIDTypeOrderSysID;///报单操作标志TFfexFtdcActionFlagTypeActionFlag;///会员代码voidOnErrRtnOrderAction(CFfexFtdcOrderActionField*pOrderAction,CFfexFtdcRspInfoField*pRspInfo);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第63页,共139页TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///价格TFfexFtdcPriceTypeLimitPrice;///数量变化TFfexFtdcVolumeTypeVolumeChange;///操作本地编号TFfexFtdcOrderLocalIDTypeActionLocalID;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};6.
1.
47OnErrRtnQuoteInsert方法当前版本不支持该方法.
报价录入错误回报.
由交易系统主动通知会员系统,该方法会被调用.
函数原型:参数:pInputQuote:指向输入报价结构的地址,包含了报价录入操作的输入数据,和交易系统返回的报价编号.
输入报价结构:structCFfexFtdcInputQuoteField{///报价编号,该字段由交易后台返回.
TFfexFtdcQuoteSysIDTypeQuoteSysID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///数量TFfexFtdcVolumeTypeVolume;///合约代码TFfexFtdcInstrumentIDTypeInstrumentID;///本地报价编号voidOnErrRtnQuoteInsert(CFfexFtdcInputQuoteField*pInputQuote,CFfexFtdcRspInfoField*pRspInfo);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第64页,共139页TFfexFtdcQuoteLocalIDTypeQuoteLocalID;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;///买方组合开平标志TFfexFtdcCombOffsetFlagTypeBidCombOffsetFlag;///买方组合套保标志TFfexFtdcCombHedgeFlagTypeBidCombHedgeFlag;///买方价格TFfexFtdcPriceTypeBidPrice;///卖方组合开平标志TFfexFtdcCombOffsetFlagTypeAskCombOffsetFlag;///卖方组合套保标志TFfexFtdcCombHedgeFlagTypeAskCombHedgeFlag;///卖方价格TFfexFtdcPriceTypeAskPrice;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};6.
1.
48OnErrRtnQuoteAction方法当前版本不支持该方法.
报价操作错误回报.
由交易系统主动通知会员系统,该方法会被调用.
函数原型:参数:pQuoteAction:指向报价操作结构的地址,包含了报价操作请求的输入数据,和交易系统返回的报价编号.
报价操作结构:voidOnErrRtnQuoteAction(CFfexFtdcQuoteActionField*pQuoteAction,CFfexFtdcRspInfoField*pRspInfo);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第65页,共139页pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};6.
1.
49OnErrRtnExecOrderInsert方法当前版本不支持该方法.
执行宣告录入错误回报.
由交易系统主动通知会员系统,该方法会被调用.

函数原型:参数:pInputExecOrder:指向宣告录入结构的地址.
输入执行宣告结构:structCFfexFtdcInputExecOrderField{///合约编号TFfexFtdcInstrumentIDTypeInstrumentID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///本地执行宣告编号structCFfexFtdcQuoteActionField{///报价编号,该字段由交易后台返回.
TFfexFtdcQuoteSysIDTypeQuoteSysID;///本地报价编号TFfexFtdcOrderLocalIDTypeQuoteLocalID;///报单操作标志TFfexFtdcActionFlagTypeActionFlag;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///操作本地编号TFfexFtdcOrderLocalIDTypeActionLocalID;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;};voidOnErrRtnExecOrderInsert(CFfexFtdcInputExecOrderField*pInputExecOrder,CFfexFtdcRspInfoField*pRspInfo);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第66页,共139页TFfexFtdcOrderLocalIDTypeExecOrderLocalID;///数量TFfexFtdcVolumeTypeVolume;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};6.
1.
50OnErrRtnExecOrderAction方法当前版本不支持该方法.
执行宣告操作错误回报.
由交易系统主动通知会员系统,该方法会被调用.

函数原型:参数:pInputExecAction:指向宣告操作结构的地址.
宣告操作结构:structCFfexFtdcExecOrderActionField{///执行宣告编号TFfexFtdcExecOrderSysIDTypeExecOrderSysID;///本地执行宣告编号TFfexFtdcOrderLocalIDTypeExecOrderLocalID;///报单操作标志TFfexFtdcActionFlagTypeActionFlag;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///操作本地编号TFfexFtdcOrderLocalIDTypeActionLocalID;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{voidOnErrRtnExecOrderAction(CFfexFtdcExecOrderActionField*pExecOrderAction,CFfexFtdcRspInfoField*pRspInfo);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第67页,共139页///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};6.
1.
51OnRspQryCombOrder方法当前版本不支持该方法.
非常规组合报单查询应答.
由交易系统主动通知会员系统,该方法会被调用.
函数原型:参数:pCombOrder:指向非常规组合报单结构的地址,非常规组合报单结构:structCFfexFtdcCombOrderField{///交易日TFfexFtdcDateTypeTradingDay;///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号TFfexFtdcSettlementIDTypeSettlementID;///组合报单编号TFfexFtdcOrderSysIDTypeCombOrderSysID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///价格TFfexFtdcPriceTypeLimitPrice;///数量TFfexFtdcVolumeTypeVolumeTotalOriginal;///本地报单编号TFfexFtdcOrderLocalIDTypeCombOrderLocalID;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;///合约代码1TFfexFtdcInstrumentIDTypeInstrumentID1;///买卖方向1TFfexFtdcDirectionTypeDirection1;///分腿乘数1TFfexFtdcLegMultipleTypeLegMultiple1;///开平标志1TFfexFtdcOffsetFlagTypeOffsetFlag1;///投机套保标志1TFfexFtdcHedgeFlagTypeHedgeFlag1;///合约代码2TFfexFtdcInstrumentIDTypeInstrumentID2;///买卖方向2TFfexFtdcDirectionTypeDirection2;voidOnRspCombOrderInsert(CShfeFtdcCombOrderField*pCombOrder,CShfeFtdcRspInfoField*pRspInfo,intnRequestID,boolbIsLast);中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第68页,共139页///分腿乘数2TFfexFtdcLegMultipleTypeLegMultiple2;///开平标志2TFfexFtdcOffsetFlagTypeOffsetFlag2;///投机套保标志2TFfexFtdcHedgeFlagTypeHedgeFlag2;///合约代码3TFfexFtdcInstrumentIDTypeInstrumentID3;///买卖方向3TFfexFtdcDirectionTypeDirection3;///分腿乘数3TFfexFtdcLegMultipleTypeLegMultiple3;///开平标志3TFfexFtdcOffsetFlagTypeOffsetFlag3;///投机套保标志3TFfexFtdcHedgeFlagTypeHedgeFlag3;///合约代码4TFfexFtdcInstrumentIDTypeInstrumentID4;///买卖方向4TFfexFtdcDirectionTypeDirection4;///分腿乘数4TFfexFtdcLegMultipleTypeLegMultiple4;///开平标志4TFfexFtdcOffsetFlagTypeOffsetFlag4;///投机套保标志4TFfexFtdcHedgeFlagTypeHedgeFlag4;///报单来源TFfexFtdcOrderSourceTypeOrderSource;///今成交数量TFfexFtdcVolumeTypeVolumeTraded;///剩余数量TFfexFtdcVolumeTypeVolumeTotal;///报单日期TFfexFtdcDateTypeInsertDate;///插入时间TFfexFtdcTimeTypeInsertTime;///结算会员编号TFfexFtdcParticipantIDTypeClearingPartID;};pRspInfo:指向响应信息结构的地址.
响应信息结构:structCFfexFtdcRspInfoField{///错误代码TFfexFtdcErrorIDTypeErrorID;///错误信息TFfexFtdcErrorMsgTypeErrorMsg;};nRequestID:非常规组合报单查询请求的ID,该ID由用户指定,管理.
bIsLast:指示该次返回是否为针对nRequestID的最后一次返回.
6.
1.
52OnRtnCombOrder方法当前版本不支持该方法.
非常规组合报单回报.
由交易系统主动通知会员系统,该方法会被调用.
中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第69页,共139页函数原形:voidOnRtnCombOrder(CShfeFtdcCombOrderField*pCombOrder);参数:pCombOrder:指向非常规组合报单结构的地址,非常规组合报单结构:structCFfexFtdcCombOrderField{///交易日TFfexFtdcDateTypeTradingDay;///结算组代码TFfexFtdcSettlementGroupIDTypeSettlementGroupID;///结算编号TFfexFtdcSettlementIDTypeSettlementID;///组合报单编号TFfexFtdcOrderSysIDTypeCombOrderSysID;///会员代码TFfexFtdcParticipantIDTypeParticipantID;///客户代码TFfexFtdcClientIDTypeClientID;///交易用户代码TFfexFtdcUserIDTypeUserID;///价格TFfexFtdcPriceTypeLimitPrice;///数量TFfexFtdcVolumeTypeVolumeTotalOriginal;///本地报单编号TFfexFtdcOrderLocalIDTypeCombOrderLocalID;///业务单元TFfexFtdcBusinessUnitTypeBusinessUnit;///合约代码1TFfexFtdcInstrumentIDTypeInstrumentID1;///买卖方向1TFfexFtdcDirectionTypeDirection1;///分腿乘数1TFfexFtdcLegMultipleTypeLegMultiple1;///开平标志1TFfexFtdcOffsetFlagTypeOffsetFlag1;///投机套保标志1TFfexFtdcHedgeFlagTypeHedgeFlag1;///合约代码2TFfexFtdcInstrumentIDTypeInstrumentID2;///买卖方向2TFfexFtdcDirectionTypeDirection2;///分腿乘数2TFfexFtdcLegMultipleTypeLegMultiple2;///开平标志2TFfexFtdcOffsetFlagTypeOffsetFlag2;///投机套保标志2TFfexFtdcHedgeFlagTypeHedgeFlag2;///合约代码3TFfexFtdcInstrumentIDTypeInstrumentID3;///买卖方向3TFfexFtdcDirectionTypeDirection3;///分腿乘数3TFfexFtdcLegMultipleTypeLegMultiple3;///开平标志3TFfexFtdcOffsetFlagTypeOffsetFlag3;///投机套保标志3TFfexFtdcHedgeFlagTypeHedgeFlag3;///合约代码4TFfexFtdcInstrumentIDTypeInstrumentID4;中国金融期货交易所技术文档交易员应用程序接口版权所有中国金融期货交易所第70页,共139页///买卖方向4TFfexFtdcDirectionTypeDirection4;///分腿乘数4TFfexFtdcLegMultipleTypeLegMultiple4;///开平标志4TFfexFtdcOffsetFlagTypeOffsetFlag4;///投机套保标志4TFfexFtdcHedgeFlagTypeHedgeFlag4;///报单来源TFfexFtdcOrderSourceTypeOrderSource;///今成交数量TFfexFtdcVolumeTypeVolumeTraded;///剩余数量TFfexFtdcVolumeTypeVolumeTotal;///报单日期TFfexFtdcDateTypeInsertDate;///插入时间TFfexFtdcTimeTypeInsertTime;///结算会员编号TFfexFtdcParticipantIDTypeClearingPartID;};6.
1.
53OnErrRtnCombOrderInsert方法当前版本不支持该方法.
报单录入组合错误回报.
由交易系统主动通知会员系统,该方法会被调用.

香港云服务器 1核 256M 19.9元/月 Mineserver Ltd

Mineserver(ASN142586|UK CompanyNumber 1351696),已经成立一年半。主营香港日本机房的VPS、物理服务器业务。Telegram群组: @mineserver1 | Discord群组: https://discord.gg/MTB8ww9GEA7折循环优惠:JP30(JPCN2宣布产品可以使用)8折循环优惠:CMI20(仅1024M以上套餐可以使用)9折循...

港云网络(¥1/月活动机器),香港CN2 4核4G 1元/月 美国CN2

港云网络官方网站商家简介港云网络成立于2016年,拥有IDC/ISP/云计算资质,是正规的IDC公司,我们采用优质硬件和网络,为客户提供高速、稳定的云计算服务。公司拥有一流的技术团队,提供7*24小时1对1售后服务,让您无后顾之忧。我们目前提供高防空间、云服务器、物理服务器,高防IP等众多产品,为您提供轻松上云、安全防护。点击进入港云网络官方网站港云网络中秋福利1元领【每人限量1台】,售完下架,活...

raksmart:全新cloud云服务器系列测评,告诉你raksmart新产品效果好不好

2021年6月底,raksmart开发出来的新产品“cloud-云服务器”正式上线对外售卖,当前只有美国硅谷机房(或许以后会有其他数据中心加入)可供选择。或许你会问raksmart云服务器怎么样啊、raksm云服务器好不好、网络速度快不好之类的废话(不实测的话),本着主机测评趟雷、大家受益的原则,先开一个给大家测评一下!官方网站:https://www.raksmart.com云服务器的说明:底层...

www.77vcd.com为你推荐
外挂购买外挂什么意思外挂购买空闲很多,想找个挂金打金的游戏,哪位朋友能给点建议啊?外挂购买朋友,您好。我想请问一下,我在网络上购买了一个手游辅助器,他需要敬汉卿姓名被抢注身份证号码被别人抢注了12306帐号怎么办12306崩溃12306是不是瘫痪了?杨紫别祝我生日快乐一个人过生日的伤感说说有什么李子柒年入1.6亿宋朝鼎盛时期 政府财政收入有将近1亿贯铜钱,那么GDP是多少呢?www.7160.com电影网站有那些rawtools闪迪32Gsd卡,无法格式化,显示只有30M,并且是raw格式。如何恢复?同ip站点查询如何查看几个站是不是同IP
瓦工 linode日本 香港vps99idc 博客主机 512m 表格样式 国内php空间 韩国网名大全 本网站在美国维护 上海域名 电子邮件服务器 1g空间 服务器合租 美国独立日 域名与空间 带宽租赁 服务器维护 photobucket 服务器防火墙 德讯 更多