资源描述
交易托管系统 交 易 员 应 用 程 序 接 口交易托管系统TradeAPI 接口1.文件属性文件属性内容文件名称交易托管系统_ TradeAPI接口文件编号文件版本号V0.1文件状态草稿作 者上海期货信息技术有限公司文档编写日期2008-8-25文档发布日期2.文件变更历史清单文件版本号修正日期修正人备注1.12008-1-11托管平台开发组1、增加银期转账接口2、增加接收合约状态接口1.1.12008-1-29托管平台开发组1、增加查询客户通知功 能;1.22008-3-4托管平台开发组1、增加查询历史结算单 的功能(使用查询结 算单接口)。2、增加查询结算确认接 口。3、修改资金密码修改接 口。4、删除行情接口中查询 深度行情的接口,交 易接口中的深度行情 查询可以使用。5、增加行情客户端开发 示例。1.32008-5-23托管平台开发组1、持仓记录中增加了三 个字段,查询需要做 处理。2、持仓明细中增加了两 个字段查询需要做处版权所有上海期货信息技术有限公司第I页,共132页交易托管系统TradeAPI 接口理。3、根据OrderRef撤单的 接口增加了合约代码 字段。4、允许客户报套利单,套利单的价格可以为 0或者负数,这在单一 报单是不允许的,需 要客户端处理。5、转帐报文头中增加 RequestI D字段,需要填 写,内容与API中的 Reques 11 D相同,用于支 持异步交易的处理。2.1.2a2008-7-28托管平台开发组在 CThos t Ft dcTr ader Api 接口中增加了 16种方法:资金账户口令更新请求、查询最大报单数量、投资 者结算结果确认、请求银 行资金转期货、请求期货 资金转银行、请求查询银 行资金、请求查询银行交 易明细、请求查询资金账 户、请求查询交易编码、请求查询交易所、请求查 询合约、请求查询行情、请求查询投资者结算结 果、请求查询转帐银行、请求查询投资者持仓明 细、请求查询客户、请求 查询签约银行通知。在 CThos tFtdcTraderSpi 接口中增加了对以上16 中方法的响应方法。版权所有上海期货信息技术有限公司第2页,共132页交易托管系统TradeAPI 接口总共新增32个方法。2.1.2a2008-8-25托管平台开发组将CThos t Ft dcTr ans f er Qr y Det ai 1 ReqFi e 1 d 的TradeCode 从2 14008 更新 为 204999。在 CThos t Ft de Tr a de r Api 接口中增加了 7种方法:请求查询预埋单、请求查 询预埋撤单、请求查询投 资者持仓明细、预埋单录 入请求、预埋撤单录入请 求、请求删除预埋单、请 求删除预埋撤单。在 CThos tFtdcTraderSpi 接口中增加了对以上7种 方法的响应方法。3.本次修改变更说明序号变更内容简述1.2.3.4.5.6.7.8.9.10.11.版权所有上海期货信息技术有限公司第3页,共132页交易托管系统TradeAPI 接口12.13.版权所有上海期货信息技术有限公司第4页,共132页交易托管系统TradeAPI 接口目录1.介绍.82.体系结构.12.1.通讯模式.12.2.数据流.23.接口模式.13.1.对话流和查询流编程接口.13.2.私有流编程接口.24.运行模式.24.1.工作线程.24.2.本地文件.35.业务与接口对照.46.开发接口.56.1.通用规则.56.2.托管服务地址设置要求.56.3.经纪公司代码设置要求.56.4.CThostFtdcTraderSpi 接 口.56.4.1.OnFrontConnected 方法.66.4.2.OnFrontDisconnected 方法.66.4.3.OnHeartBeatWarning 方法.66.4.4.OnRspUserLogin 方法.76.4.5.OnRspUserLogout 方法.86.4.6.OnRspUserPasswordUpdate 方法.96.4.7.OnRspTradingAccountPasswordUpdate 方法.106.4.8.OnRspError 方法.116.4.9.OnRspOrderlnsert 方法.116.4.10.OnRspOrderAction 方法.136.4.11.OnRspQueryMaxOrderVolume 方法.156.4.12.OnRspSettlementlnfoConfirm 方法.166.4.13.OnRspTransferBankToFuture 方法.176.4.14.OnRspTransferFutureToBank 方法.186.4.15.OnRspTransferQryBank 方法.196.4.16.OnRspTransferQryDetail 方法.206.4.17.OnRspQryOrder 方法.226.4.18.OnRspQryTrade 方法.256.4.19.OnRspQrylnvestor 方法.276.4.20.OnRspQrylnvestorPosition 方法.286.4.21.OnRspQryTradingAccount 方法.306.4.22.OnRspQryTradingCode 方法.336.4.23.OnRspQryExchange 方法.346.4.24.OnRspQrylnstrument 方法.356.4.25.OnRspQryDepthMarketData 方法.386.4.26.OnRspQrySettlementlnfo 方法.42版权所有上海期货信息技术有限公司第5页,共132页交易托管系统 TradeAPI 接口6.4.27.OnRspQryTransferBank 方法.436.4.28.OnRspQrylnvestorPositionDetail 方法.446.4.29.OnRspQryNotice 方法.466.4.30.OnRspQrylnstrument 方法.476.4.31.OnRtnTrade 方法.496.4.32.OnRtnOrder 方法.506.4.33.OnErrRtnOrderlnsert 方法.536.4.34.OnErrRtnOrderAction 方法.556.4.35.OnRspQrySettlementlnfoConfirm 方法.566.4.36.OnRspQryContractBank 方法.576.4.37.RspQryParkedOrder 方法.586.4.38.RspQryParkedOrderAction 方法.606.4.39.RspQrylnvestorPositionCombineDetail 方法.616.4.40.RspParkedOrderlnsert 方法.636.4.41.RspParkedOrderAction 方法.656.4.42.RspRemoveParkedOrder 方法.666.4.43.RspRemoveParkedOrderAction 方法.676.5.CThostFtdcTraderApi 接口.686.5.1.CreateFtdcTraderApi 方法.686.5.2.Release 方法.686.5.3.I nit 方法.696.5.4.J oin 方法.696.5.5.GetTradingDay 方法.696.5.6.RegisterSpi 方法.696.5.7.RegisterFront 方法.706.5.8.SubscribePrivateTopic 方法.706.5.9.SubscribePublicTopic 方法.706.5.10.ReqUserLogin 方法.716.5.11.ReqUserLogout 方法.726.5.12.ReqUserPasswordUpdate 方法.736.5.13.ReqTradingAccountPasswordUpdate 方法.736.5.14.ReqOrderlnsert 方法.746.5.15.ReqOrderAction 方法.766.5.16.ReqQueryMaxOrderVolume 方法.786.5.17.ReqSettlementlnfoConfirm 方法.796.5.18.ReqTransferBankToFuture 方法.806.5.19.ReqTransferFutureToBank 方法.816.5.20.ReqTransferQryBank 方法.836.5.21.ReqTransferQryDetail 方法.856.5.22.ReqQryOrder 方法.866.5.23.ReqQryTrade 方法.876.5.24.ReqQry I nvestor 方法.886.5.25.ReqQrylnvestorPosition 方法.886.5.26.ReqQryTradingAccount 方法.89版权所有上海期货信息技术有限公司第6页,共132页交易托管系统TradeAPI 接口6.5.27.ReqQryTradingCode 方法.906.5.28.ReqQryExchange 方法.916.5.29.ReqQrylnstrument 方法.926.5.30.ReqQryDepthMarketData 方法.926.5.31.ReqQrySettlementlnfo 方法.936.5.32.ReqQryTransferBank 方法.946.5.33.ReqQrylnvestorPositionDetail 方法.956.5.34.ReqQryNotice 方法.966.5.35.ReqQrySettlementlnfoConfirm 方法.966.5.36.ReqQryContractBank 方法.976.5.37.ReqQryParkedOrder 方法.986.5.38.ReqQryParkedOrderAction 方法.996.5.39.ReqQrylnvestorPositionCombineDetail 方法.1006.5.40.ReqParkedOrderlnsert 方法.1016.5.41.ReqParkedOrderAction 方法.1036.5.42.ReqRemoveParkedOrder 方法.1056.5.43.ReqRemoveParkedOrderAction 方法.1067.开发示例.1077.1 交易API开发示例.1077.2 行情API开发示例.116版权所有上海期货信息技术有限公司第7页,共132页交易托管系统TradeAPI 接口1.介绍交易托管系统API是一个基于C+的类库,通过使用和扩展类库提供的接口 来实现相关交易功能,包括报单与报价的录入、报单与报价的撤销、报单与报价 的挂起、报单与报价的激活、报单与报价的修改、报单与报价的查询、成交单查 询、投资者查询、投资者持仓查询、合约查询、交易日获取等。该类库包含以下 5个文件:文件名版本文件大小文件描述FtdcTraderApi.hV1.06,600字节交易接口头文件FtdcUserApiStruct.hV1.045,500字节定义了 API所需的一系列数据类型的头文件FtdcUser ApiDataType.hV1.036,509字节定义了一系列业务相关的数据结构的头文件thosttraderapi.dllV1.0331,776 字节动态链接库二进制文件thostraderapi.libV1.03,562字节导入库文件thostmduserapi.dllV1.0376,832 字节动态链接库二进制文件thostmduserapi.libV1.01,792字节导入库文件支持MS VC 6.0,MS VC.NET 2003编译器。需要打开多线程编译选项/MT。版权所有上海期货信息技术有限公司第8页,共132页交易托管系统 TradeAPI 接口2.体系结构交易员API使用建立在TCP协议之上FTD协议与交易托管系统进行通讯,交易托管系统负责投资者的交易业务处理。2.1.通讯模式FTD协议中的所有通讯都基于某个通讯模式。通讯模式实际上就是通讯双 方协同工作的方式。FTD涉及的通讯模式共有三种:I 对话通讯模式I私有通讯模式I广播通讯模式对话通讯模式是指由会员端主动发起的通讯请求。该请求被交易所端接收和 处理,并给予响应。例如报单、查询等。这种通讯模式与普通的客户/服务器模 式相同。私有通讯模式是指交易所端主动,向某个特定的会员发出的信息。例如成交 回报等。广播通讯模式是指交易所端主动,向市场中的所有会员都发出相同的信息。例如公告、市场公共信息等。通讯模式和网络的连接不一定存在简单的一对一的关系。也就是说,一个网 络连接中可能传送多种不同通讯模式的报文,一种通讯模式的报文也可以在多个 不同的连接中传送。无论哪种通讯模式,其通讯过程都如图1所示:版权所有上海期货信息技术有限公司第I页,共132页交易托管系统TradeAPI 接口交易托管系统交易所系统一连接请求-连接确认_身份认证请求-身份认证响应一一发送请求(如果在对话模式下)-给出响应(如果在对话模式下)一 发出私有信息(如果在私有模式下)一 发出市场公告(如果在市场模式下)一一断开请求-断开确认一图1)各通讯模式的工作过程本接口暂时没有使用广播通信方式。22数据流交易托管系统支持对话通讯模式、私有通讯模式、广播通讯模式:对话通讯模式下支持对话数据流和查询数据流:对话数据流是一个双向数据流,交易托管系统发送交易请求,交易系统反馈 版权所有上海期货信息技术有限公司第2页,共132页交易托管系统TradeAPI 接口应答。交易系统不维护对话流的状态。系统故障时,对话数据流会重置,通讯途 中的数据可能会丢失。查询数据流是一个双向数据流,交易托管系统发送查询请求,交易系统反馈 应答。交易系统不维护查询流的状态。系统故障时,查询数据流会重置,通讯途 中的数据可能会丢失。私有通讯模式下支持私有数据流:私有流是一个单向数据流,由交易系统发向交易托管系统,用于传送交易员 私有的通知和回报信息。私有流是一个可靠的数据流,交易系统维护每个交易托 管系统的私有流,在一个交易日内,交易托管系统断线后恢复连接时,可以请求 交易系统发送指定序号之后的私有流数据。私有数据流向交易托管系统提供报单 状态报告、成交回报更等信息。广播通讯模式下支持公共数据流:公共数据流是一个单向数据流,由交易系统发向交易托管系统,用于发送市 场公共信息;公共数据流也是一个可靠的数据流,交易系统维护整个系统的公共 数据流,在一个交易日内,交易托管系统断线恢复连接时,可以请求交易系统发 送指定序号之后的公共数据流数据。版权所有上海期货信息技术有限公司第3页,共132页交易托管系统TradeAPI 接口3.接口模式交易员 API提供了二个接口,分别为CThostFtdcTraderApi和 CThostFtdcTraderSpio这两个接口对FTD协议进行了封装,方便客户端应用程序 的开发。客户端应用程序可以通过CThostFtdcTraderApi发出操作请求,通继承 CThostFtdcTraderSpi并重载回调函数来处理后台服务的响应。3.1.对话流和查询流编程接口通过对话流进行通讯的编程接口通常如下:请求:int CThostFtdcTraderApi:ReqXXX(CThostFtdcXXXField*pReqXXX,int nRequestI D)响应:void CThostFtdcTraderSpi二OnRspXXX(CThostFtdcXXXField*pRspXXX,CThostFtdcRspI nfoField*pRspI nfo,int nRequestI D,bool bisLast)其中请求接口第一个参数为请求的内容,不能为空。第二个参数为请求号。请求号由客户端应用程序负责维护,正常情况下每个 请求的请求号不要重复。在接收交易托管系统的响应时,可以得到当时发出请求 时填写的请求号,从而可以将响应与请求对应起来。当收到后台服务应答时,CThostFtdcTraderSpi的回调函数会被调用。如果响 应数据不止一个,则回调函数会被多次调用。回调函数的第一个参数为响应的具体数据,如果出错或没有结果有可能为 NULLo第二个参数为处理结果,表明本次请求的处理结果是成功还是失败。在发生 多次回调时,除了第一次回调,其它的回调该参数都可能为NULL。第三个参数为请求号,即原来发出请求时填写的请求号。版权所有上海期货信息技术有限公司第I页,共I32页交易托管系统 TradeAPI 接口笫四个参数为响应结束标志,表明是否是本次响应的最后一次回调。3.2.私有流编程接口私有流中的数据中会员的私有信息,包括报单回报、成交回报等。通过私有流接收回报的编程接口通常如下:void CThostFtdcTraderSpi:OnRtnXXX(CThostFtdcXXXField*pXXX)或void CThostFtdcTraderSpi:OnErrRtnXXX(CThostFtdcXXXField*pXXX,CThostFtdcRspI nfoField*pRspI nfo)当收到交易托管系统通过私有流发布的回报数据时,CThostFtdcTraderSpi 的回调函数会被调用。回调函数的参数为回报的具体内容。4.运行模式4.1.工作线程交易员客户端应用程序至少由两个线程组成,一个是应用程序主线程,一个 是交易员API工作线程。应用程序与交易系统的通讯是由API工作线程驱动的。CThostFtdcTraderApi提供的接U是线程安全的,可以有多个应用程序线程同 时发出请求。CThostFtdcTraderSpi提供的接口回调是由API工作线程驱动,通过实现SPI 中的接口方法,可以从交易托管系统收取所需数据。如果重载的某个回调函数阻塞,则等于阻塞了 API工作线程,API与交易系 统的通讯会停止。因此,在CThostFtdcTraderSpi派生类的回调函数中,通常应 迅速返回,可以利用将数据放入缓冲区或通过Windows的消息机制来实现。版权所有上海期货信息技术有限公司第2页,共I32页交易托管系统TradeAPI 接口42本地文件交易员API在运行过程中,会将一些数据写入本地文件中。调用 CreateFtdcTraderApi函数,可以传递一个参数,指明存贮本地文件的路径。该路 径必须在运行前已创建好。本地文件的扩展名都是“.con”。版权所有上海期货信息技术有限公司第3页,共132页交易托管系统TradeAPI 接口5.业务与接口对照业务类型业务请求接口响应接口数据流登录登录CThostFtdcTraderApi:ReqUserLoginCThostFtdcTraderSpi:OnRspUserLogin对话流登出CThostFtdcTraderApi:ReqUserLogoutCThostFtdcTraderS pi:OnRspUserLogout对话流修改用户口令CThostFtdcTraderApi:Req U serPassword U pdateCThostFtdcTraderSpi:OnRspUserPasswordUpdate对话流交易报单录入CThostFtdcTraderApi:ReqOrderI nsertCThostFtdcTraderS pi:OnRspOrderI nsert对话流报单操作CThostFtdcTraderApi:ReqOrder ActionCThostFtdcTraderS pi:O nRs pOrder Acti o n对话流报价录入CThostFtdcTraderApi:ReqQuoteI nsertCThostFtdcTraderS pi:O nRs pQuotel ns ert对话流报价操作CThostFtdcTraderApi:ReqQuoteActionCThostFtdcTraderS pi:OnRspQuote Action对话流私有回报成交回报N/ACThostFtdcTraderS pi:OnRtnTrade私有流报单回报N/ACThostFtdcTraderS pi:O nRtnOrder私有流报单录入错误回报N/ACThostFtdcTraderSpi:OnErrRtnOrderI nsert私有流报单操作错误回报N/ACThostFtdcTraderSpi:OnErrRtnOrderAction私有流查询报单查询CThostFtdcTraderApi:ReqQryOrderCThostFtdcTraderS pi:OnRspQryOrder查询流成交查询CThostFtdcTraderApi:ReqQryTradeCThostFtdcTraderS pi:OnRspQryTrade查询流投资者查询CThostFtdcTraderApi:ReqQry I nvestorCThostFtdcTraderSpi:OnRspQry I nvestor查询流投资者持仓查询CThostFtdcTraderApi:ReqQry I nvestor PositionCThostFtdcTraderSpi:OnRspQry I nvestor Position查询流合约查询CThostFtdcTraderApi:ReqQryI nstrumentCThostFtdcTraderS pi:O nRspQrylnstrume nt查询流交易接口和私有流接口会有相互关联,如用户报单录入ReqOrderlnsert,马上会收到报单响应OnRspOrderlnsert,说明交易系统已 经收到报单。报单进入交易系统后,如果报单的交易状态发生变化,就会收到报单回报OnRtnOrder。如果报单被撮合(部分)成交,就 会收到成交回报OnRtnTrade。其中,一个用户的报单回报和成交回报也会被所属会员下其他的用户接受到。版权所有上海期货信息技术有限公司第4页,共132页交易托管系统TradeAPI 接口6.开发接口6.1.通用规则客户端和交易托管系统的通讯过程分为2个阶段:初始化阶段和功能调用阶 段。在初始化阶段,程序必须完成如下步骤(具体代码请参考开发实例):1,产生一个 CThostFtdcTraderApi 实例2,产生一个事件处理的实例3,注册一个事件处理的实例4,订阅私有流5,订阅公共流6,设置交易托管服务的地址在功能调用阶段,程序可以任意调用交易接口中的请求方法,如 ReqOrderlnsert等。同时按照需要响应回调接口中的。其他注意事项:1,API请求的输入参数不能为NULLo2,API请求的返回参数,。表示正确,其他表示错误,详细错误编码请查表。6.2,托管服务地址设置要求1.交易系统现在提供多个接入地址。详细地址参见托管交易主机地址列表.txt2.客户端需要注册地址列表中的所有地址,A P I会根据具体情况自动选择一个合适 的主机进行连接。6.3.经纪公司代码设置要求1.托管系统提供经纪公司代码列表.X1S文件,客户端需要使用最新的地址列表 文件,显示经纪公司简称,由客户选择。2.客户端需要保存客户选择的经纪公司代码。6.4.CThostFtdcTraderSpi 接口CThostFtdcTraderSpi实现了事件通知接口。用户必需派生CThostFtdcTraderSpi接口,编写事件处理方法来处理感兴趣的事件。版权所有上海期货信息技术有限公司第5页,共132页交易托管系统 TradeAPI 接口6.4.1.OnFrontConnected 方法当客户端与交易托管系统建立起通信连接时(还未登录前),该方法被调用。函数原形:void OnFrontConnected();本方法在完成初始化后调用,可以在其中完成用户登录任务。6.4.2.OnFrontDisconnected 方法当客户端与交易托管系统通信连接断开时,该方法被调用。当发生这个情况 后,API会自动重新连接,客户端可不做处理。自动重连地址,可能是原来注册 的地址,也可能是系统支持的其它可用的通信地址,它由程序自动选择。函数原形:void OnFrontDisconnected(int nReason);参数:nReason:连接断开原因0 x1001网络读失败0 x1002网络写失败0 x2001接收心跳超时0 x2002发送心跳失败0 x2003收到错误报文6.4.3.OnHeartB eat Warning 方法心跳超时警告。当长时间未收到报文时,该方法被调用。函数原形:void OnHeartBeatWarning(int nTimeLapse);参数:nTimeLapse:距离上次接收报文的时间版权所有上海期货信息技术有限公司第6页,共132页交易托管系统 TradeAPI 接口6.4.4.OnRspUserLogin 方法当客户端发出登录请求之后,交易托管系统返回响应时,该方法会被调用,通知客户端登录是否成功。函数原形:void OnRspUserLogin(CThostFtdcRspUserLoginField*pRspUserLogin,CThostFtdcRspI nfoField*pRsp!nfo,int nRequestlD,bool bisLast);参数:pRspUserLogin:返回用户登录信息的地址。用户登录信息结构:struct CThostFtdcRspUserLoginField(/交易日TThostFtdcDateType TradingDay;/登录成功时间TThostFtdcTi meTy pe LoginTime;/经纪公司代码TThostFtdcBrokerlDType BrokerlD;/用户代码TThostFtdcUserlDType UserI D;/交易系统名称TThostFtdcSystemNameTypeSystemName;);pRspInfo:返回用户响应信息的地址。特别注意在有连续的成功的响应数据 时,中间有可能返回NULL,但第一次不会,以下同。错误代码为。时,表示操 作成功,以下同。响应信息结构;struct CThostFtdcRspI nfoField(/错误代码TThostFtdcErrorlDTy pe ErrorlD;/错误信息TThostFtdcErrorMsgType ErrorMsg;版权所有上海期货信息技术有限公司第7页,共132页交易托管系统TradeAPI 接口);nRequestID:返回用户登录请求的I D,该I D由用户在登录时指定。bisLast:指示该次返回是否为针对nRequestI D的最后一次返回。6.4.5.OnRspUserLogout 方法当客户端发出退出请求之后,交易托管系统返回响应时,该方法会被调用,通知客户端退出是否成功。函数原形:void OnRspUserLogout(CThostFtdcUserLogoutField*pUserLogout,CThostFtdcRspI nfoField*pRspI nfo,int nRequestI D,bool bisLast);参数:pRspUserLogout:返回用户退出信息的地址。用户登出信息结构:struct CThostFtdcUserLogoutField(/经纪公司代码TThostFtdcBrokerlDType BrokerlD;/用户代码TThostFtdcUserlDType UserI D;);pRspInfo:返回用户响应信息的地址。响应信息结构:struct CThostFtdcRspI nfoField(/错误代码TThostFtdcErrorlDType ErrorlD;/错误信息TThostFtdcErrorMsgType ErrorMsg;);版权所有上海期货信息技术有限公司第8页,共132页交易托管系统TradeAPI 接口nRequestID:返回用户登出请求的I D,该I D由用户在登出时指定。bisLast:指示该次返回是否为针对nRequestI D的最后一次返回。6.4.6.OnRspUserPasswordUpdate 方法用户密码修改应答。当客户端发出用户密码修改指令后,交易托管系统返回 响应时,该方法会被调用。函数原形:void OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField*pUserPasswordUpdate,CThostFtdcRspI nfoField*pRspI nfo,int nRequestI D,bool bisLast);参数:pUserPasswordUpdate:指向用户密码修改结构的地址,包含了用户密码修 改请求的输入数据。用户密码修改结构:struct CThostFtdcUserPasswordUpdateField(/经纪公司代码TThostFtdcBrokerlDType BrokerlD;/用户代码TThostFtdcUserlDType UserI D;/原来的口令TThostFtdcPasswordType OldPassword;/新的口令TThostFtdcPasswordType NewPassword;);pRspInfo:指向响应信息结构的地址。响应信息结构:struct CThostFtdcRspI nfoField(/错误代码TThostFtdcErrorlDType ErrorlD;/错误信息TThostFtdcErrorMsgType ErrorMsg;);版权所有上海期货信息技术有限公司第9页,共132页交易托管系统 TradeAPI 接口nRequestID:返回用户密码修改请求的I D,该I D由用户在密码修改时指定。bisLast:指示该次返回是否为针对nRequestI D的最后一次返回。6.4.7.OnRspTradingAccountPasswordUpdate 方法资金账户口令更新应答。当客户端发出资金账户口令更新指令后,交易托管 系统返回响应时,该方法会被调用。函数原形:void OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField*pTradingAccountPasswordUpdate,CThostFtdcRspI nfoField*pRspI nfo,int nRequestI D,bool bisLast);参数:pTradingAccountPasswordUpdate:指向资金账户口令变更域结构的地址,包含了用户密码修改请求的输入数据。资金账户口令变更域结构:struct CThostFtdcTradingAccountPasswordUpdateField(/经纪公司代码TThostFtdcBrokerlDType BrokerlD;/投资者帐号TThostFtdcAccountI DType AccountI D;/原来的口令TThostFtdcPasswordType OldPassword;/新的口令TThostFtdcPasswordType);NewPassword;pRspInfo:指向响应信息结构的地址。响应信息结构:struct CThostFtdcRspI nfoField(/错误代码TThostFtdcErrorlDTy pe ErrorlD;/错误信息TThostFtdcErrorMsgType ErrorMsg;);版权所有上海期货信息技术有限公司第10页,共132页交易托管系统 TradeAPI 接口nRequestID:返回用户密码修改请求的I D,该I D由用户在密码修改时指定。bisLast:指示该次返回是否为针对nRequestI D的最后一次返回。6.4.8.OnRspError 方法针对用户请求的出错通知。函数原形:void OnRspError(CThostFtdcRspI nfoField*pRspI nfo,int nRequestI D,bool bisLast)参数:pRspInfo:返回用户响应信息的地址。响应信息结构:struct CThostFtdcRspI nfoField(/错误代码TThostFtdcErrorlDType ErrorlD;/错误信息TThostFtdcErrorMsgType ErrorMsg;);nRequestID:返回用户操作请求的I D,该I D由用户在操作请求时指定。bisLast:指示该次返回是否为针对nRequestI D的最后一次返回。6.4.9.OnRspOrderlnsert 方法报单录入应答。当客户端发出过报单录入指令后,交易托管系统返回响应时,该方法会被调用。函数原形:void OnRspOrderI nsert(CThostFtdcI nputOrderField*pI nputOrder,CThostFtdcRspI nfoField*pRsplnfo,int nRequestI D,bool bisLast);版权所有上海期货信息技术有限公司第11页,共132页交易托管系统 TradeAPI 接口参数:plnputOrder:指向报单录入结构的地址,包含了提交报单录入时的输入数 据,和后台返回的报单编号。输入报单结构:struct CThostFtdcI nputOrderField(/经纪公司代码TThostFtdcBrokerlDType BrokerlD;/投资者代码TThostFtdcI nvestorlDType I nvestorlD;/合约代码TThostFtdcI nstrumentI DType I nstrumentI D;/报单引用TThostFtdcOrderRefType OrderRef;/用户代码TThostFtdcUserlDType UserI D;/报单价格条件TThostFtdcOrderPriceTypeType OrderPriceType;/买卖方向TThostFtdcDirectionType Direction;/组合开平标志TThostFtdcCombOffsetFlagType CombOffsetFlag;/组合投机套保标志TThostFtdcCombHedgeFlagType CombHedgeFlag;/价格TThostFtdcPriceType LimitPrice;/数量TThostFtdcVblumeType VolumeTotalOriginal;/有效期类型TThostFtdcTimeConditionType TimeCondition;/GTD日期TThostFtdcDateType GTDDate;/成交量类型TThostFtdcVblumeConditionType VblumeCondition;/最小成交量TThostFtdc VolumeType Min Volume;/触发条件TThostFtdcContingentConditionType ContingentCondition;/止损价TThostFtdcPriceType StopPrice;/强平原因TThostFtdcForceCloseReasonType ForceCloseReason;版权所有上海期货信息技术有限公司第12页,共132页交易托管系统 TradeAPI 接口/自动挂起标志TThostFtdcB oolType I sAutoSuspend;/业务单元TThostFtdcB usinessUnitTypeBusinessUnit;/请求编号TThostFtdcRequestI DType RequestI D;);pRspInfo:指向响应信息结构的地址。响应信息结构:struct CThos
展开阅读全文