跳到主要内容

CQdpFtdcTraderSpi接口

CQdpFtdcTraderSpi实现了事件通知接口。用户必需派生CQdpFtdcTraderSpi接口,编写事件处理方法来处理感兴趣的事件。

OnFrontConnected方法

当客户端与QDP系统建立起通信连接时(还未登录前),该方法被调用。

函数原形:

void OnFrontConnected();

本方法在完成初始化后调用,可以在其中完成用户登录任务。

OnFrontDisconnected方法

当客户端与QDP系统通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。自动重连地址,可能是原来注册的地址,也可能是系统支持的其它可用的通信地址,它由程序自动选择。

函数原形:

void OnFrontDisconnected(int nReason);

参数:

nReason: 连接断开原因

0x1001: 网络读失败

0x1002: 网络写失败

0x2001: 接收心跳超时

0x2002: 发送心跳失败

0x2003: 收到错误报文

OnHeartBeatWarning方法

心跳超时警告。当长时间未收到报文时,该方法被调用。

函数原形:

void OnHeartBeatWarning(int nTimeLapse);

参数:

nTimeLapse: 距离上次接收报文的时间

OnPackageStart方法

报文回调开始通知。当API收到一个报文后,首先调用本方法,然后是各数据域的回调,最后是报文回调结束通知。

函数原形:

void OnPackageStart(int nTopicID, int nSequenceNo);

参数:

nTopicID: 主题代码(如私有流、公共流、行情流等)

nSequenceNo: 报文序号

OnPackageEnd方法

报文回调结束通知。当API收到一个报文后,首先调用报文回调开始通知,然后是各数据域的回调,最后调用本方法。

函数原形:

void OnPackageStart(int nTopicID, int nSequenceNo);

参数:

nTopicID: 主题代码(如私有流、公共流、行情流等)

nSequenceNo: 报文序号

OnRspError方法

针对用户请求的出错通知。

函数原形:

void OnRspError(CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pRspInfo: 返回用户响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,下面的pRspInfo响应消息结构与此相同。

字段名称字段类型返回字段是否有值字段说明
ErrorIDInt错误代码
ErrorMsgChar(81)错误信息

nRequestID: 返回用户操作请求的ID,该ID 由用户在操作请求时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspUserLogin方法

当客户端发出登录请求之后,QDP返回响应时,该方法会被调用,通知客户端登录是否成功。

函数原形:

void OnRspUserLogin(CQdpFtdcRspUserLoginField *pRspUserLogin, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pRspUserLogin: 返回用户登录信息的地址。

用户登录应答信息CQdpFtdcRspUserLoginField说明

字段名称字段类型返回字段是否有值字段说明
TradingDayChar(9)交易日
BrokerIDChar(11)经纪公司编号
UserIDChar(16)登录账号
LoginTimeChar(9)登录时间,格式hh:mm:ss
MaxOrderLocalIDChar(23)用户最大本地报单号,登录成功时返回的都是空值
TradingSystemNameChar(61)交易系统名称
DataCenterIDInt保留字段,目前没什么用
PrivateFlowSizeInt用户私有流当前长度
UserFlowSizeInt保留字段,目前没什么用
DataCenterIDInt保留字段,目前没什么用
SessionIDInt当前连接的会话编号
FrontIDInt当前连接的前置编号

pRspInfo: 返回用户响应信息的地址。特别注意在有连续的成功的响应数据时,中间有可能返回NULL,但第一次不会,以下同。错误代码为0时,表示操作成功,以下同。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回用户登录请求的ID,该ID 由用户在登录时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspUserLogout方法

当客户端发出退出请求之后,QDP返回响应时,该方法会被调用,通知客户端退出是否成功。

函数原形:

void OnRspUserLogout(CQdpFtdcRspUserLogoutField *pRspUserLogout, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pRspUserLogout: 返回用户退出信息的地址。

用户登出应答信息CQdpFtdcRspUserLogoutField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
UserIDChar(16)登录账号
LogoutReasonIntSession退出原因

pRspInfo: 返回用户响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回用户登出请求的ID,该ID 由用户在登出时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspUserPasswordUpdate方法

用户密码修改应答。当客户端发出用户密码修改指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspUserPasswordUpdate(CQdpFtdcUserPasswordUpdateField *pUserPasswordUpdate, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pUserPasswordUpdate: 指向用户密码修改结构的地址,包含了用户密码修改请求的输入数据。

用户密码修改应答信息CQdpFtdcUserPasswordUpdateField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
UserIDChar(16)登录账号
OldPasswordChar(41)旧密码
NewPasswordChar(41)新密码

pRspInfo: 返回用户响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回用户密码修改请求的ID,该ID由用户在密码修改时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspOrderInsert方法

报单录入应答。当客户端发出过报单录入指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspOrderInsert(CQdpFtdcInputOrderField *pInputOrder, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pInputOrder: 指向报单录入结构的地址,包含了提交报单录入时的输入数据,和后台返回的报单编号。

用户报单应答信息CQdpFtdcInputOrderField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
ExchangeIDChar(11)交易所代码
OrderSysIDChar(31)交易所报单号(报单成功交易所会返回)
InvestorIDChar(19)投资者代码
UserIDChar(16)登录账号
InstrumentIDChar(31)合约代码
UserOrderLocalIDInt用户本地报单号
OrderPriceTypeChar(1)报单类型
DirectionChar(1)买卖方向
OffsetFlagChar(1)开平仓标识
HedgeFlagChar(1)投机套保标志
LimitPriceDouble价格
VolumeInt数量
TimeConditionChar(1)报单有效期类型
GTDDateChar(9)GTD日期
VolumeConditionChar(1)成交量类型
MinVolumeInt最小成交量
StopPriceDouble止损价
ForceCloseReasonChar(1)强平原因
IsAutoSuspendInt自动挂起标志
BusinessUnitChar(21)业务单元
UserCustomChar(65)用户自定义域
BranchIDChar(7)营业部代码
RecNumInt记录编号
BusinessTypeChar(1)业务类别

pRspInfo: 返回用户响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回报单录入操作请求的ID,该ID由用户在报单录入时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspOrderAction方法

报单操作应答。报单操作包括报单的撤销、报单的挂起(暂不支持)、报单的激活(暂不支持)、报单的修改(暂不支持)。当客户端发出过报单操作指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspOrderAction(CQdpFtdcOrderActionField *pOrderAction, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pOrderAction: 指向报单操作结构的地址,包含了提交报单操作的输入数据,和后台返回的报单编号。

用户撤单应答信息CQdpFtdcOrderActionField说明

字段名称字段类型返回字段是否有值字段说明
ExchangeIDChar(11)交易所代码
OrderSysIDChar(31)交易所报单号
BrokerIDChar(11)经纪公司编号
InvestorIDChar(19)投资者编号
UserIDChar(16)登录账号
InstrumentIDChar(31)合约代码
UserOrderActionLocalIDInt此次撤单操作的用户本地报单号,和报单请求的UserOrderLocalID一样递增
UserOrderLocalIDInt用户本地报单号(撤单操作是QDP的报单,否则该字段没有值)
ActionFlagChar(1)报单操作标志,撤单正常填写QDP_FTDC_AF_Delete
LimitPriceDouble价格
VolumeChangeInt数量变化
RecNumInt记录编号
FrontIDInt前置编号
SessionIDInt会话编号

pRspInfo: 返回用户响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回用户报单操作请求的ID,该ID由用户在报单操作时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRtnFlowMessageCancel方法

数据流回退通知(暂未启用)

函数原形:

void OnRtnFlowMessageCancel(CQdpFtdcFlowMessageCancelField *pFlowMessageCancel);

参数:

pFlowMessageCancel: 数据流回退。

数据流回退通知信息CQdpFtdcFlowMessageCancelField说明

字段名称字段类型返回字段是否有值字段说明
SequenceSeriesInt序列系列号
TradingDayChar(9)交易日
DataCenterIDInt数据中心代码
StartSequenceNoInt回退起始序列号
EndSequenceNoInt回退结束序列号

OnRtnTrade方法

成交回报。当发生成交时QDP会通知客户端,该方法会被调用。

函数原形:

void OnRtnTrade(CQdpFtdcTradeField *pTrade);

参数:

pTrade: 指向成交信息结构的地址。

成交信息CQdpFtdcTradeField说明

字段名称字段类型返回字段是否有值字段说明
TradingDayChar(9)委托日期,为交易日,不是当前的自然日
BrokerIDChar(11)经纪公司编号
ExchangeIDChar(11)交易所代码
ParticipantIDChar(11)会员号
SeatIDChar(13)席位号
InvestorIDChar(19)投资者代码
UserIDChar(16)登录账号
TradeIDChar(21)成交编号
OrderSysIDChar(31)交易所报单号
InstrumentIDChar(31)合约代码
UserOrderLocalIDInt用户本地报单号
DirectionChar(1)买卖方向
OffsetFlagChar(1)开平仓标识
HedgeFlagChar(1)投机套保标志
TradePriceDouble成交价格
TradeVolumeInt成交数量
TradeTimeChar(9)成交时间,该时间由交易所提供

OnRtnOrder方法

报单回报。当客户端进行报单录入、报单操作及其它原因(如部分成交、成交、撤单)导致报单状态发生变化时,QDP会主动通知客户端,该方法会被调用。

函数原形:

void OnRtnOrder(CQdpFtdcOrderField *pOrder);

参数:

pOrder: 指向报单信息结构的地址。

用户报单请求信息CQdpFtdcOrderField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
ExchangeIDChar(11)交易所代码
OrderSysIDChar(31)交易所报单号
InvestorIDChar(19)投资者代码
UserIDChar(16)登录账号
InstrumentIDChar(31)合约代码
UserOrderLocalIDInt用户本地报单号
OrderPriceTypeChar(1)报单类型
DirectionChar(1)买卖方向
OffsetFlagChar(1)开平仓标识
HedgeFlagChar(1)投机套保标志
LimitPriceDouble价格
VolumeInt数量
TimeConditionChar(1)报单有效期类型
VolumeConditionChar(1)成交量类型
TradingDayChar(9)委托日期,为交易日,不是当前的自然日
InsertTimeChar(9)委托时间,该时间是交易所提供的
OrderStatusChar(1)委托状态, QDP_FTDC_OS_AllTraded –全部成交 QDP_FTDC_OS_PartTradedQueueing –部分成交 QDP_FTDC_OS_NoTradeQueueing –未成交 QDP_FTDC_OS_Canceled –撤单
CancelTimeChar(9)撤单时间,该时间由交易所提供
VolumeTradedInt该笔委托的总成交数量
VolumeRemainInt该笔委托剩余的未成交数量
FrontIDInt前置编号
SessionIDInt会话编号

OnErrRtnOrderInsert方法

报单录入错误回报。由QDP主动通知客户端,该方法会被调用。

函数原形:

void OnErrRtnOrderInsert(CQdpFtdcInputOrderField *pInputOrder, CQdpFtdcRspInfoField *pRspInfo);

参数:

pInputOrder: 指向报单录入结构的地址,包含了提交报单录入时的输入数据,和后台返回的报单编号。

用户报单录入信息CQdpFtdcInputOrderField说明,详见OnRspOrderInsert方法

pRspInfo: 返回用户响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

OnErrRtnOrderAction方法

报价操作错误回报。由QDP主动通知客户端,该方法会被调用。

函数原形:

void OnErrRtnOrderAction(CQdpFtdcOrderActionField *pOrderAction, CQdpFtdcRspInfoField *pRspInfo);

参数:

pOrderAction: 指向报单操作结构的地址,包含了报单操作请求的输入数据。

用户报单操作CQdpFtdcOrderActionField说明,详见OnRspOrderAction方法

pRspInfo: 返回用户响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

OnRtnInstrumentStatus方法

合约交易状态通知。由QDP主动通知客户端,该方法会被调用。

函数原形:

void OnRtnInstrumentStatus(CQdpFtdcInstrumentStatusField *pInstrumentStatus);

参数:

pInstrumentStatus: 指向合约交易状态的地址,包含了后台返回的合约状态数据。

合约交易状态信息CQdpFtdcInstrumentStatusField说明

字段名称字段类型返回字段是否有值字段说明
ExchangeIDChar(11)交易所代码
ProductIDChar(13)品种代码
ProductNameChar(41)品种名称
InstrumentIDChar(31)合约代码
InstrumentNameChar(21)合约名称
DeliveryYearInt交割年份
DeliveryMonthInt交割月
MaxLimitOrderVolumeInt限价单最大下单量
MinLimitOrderVolumeInt限价单最小下单量
MaxMarketOrderVolumeInt市价单最大下单量
MinMarketOrderVolumeInt市价单最小下单量
VolumeMultipleInt数量乘数
PriceTickDouble报价单位
CurrencyChar币种 ‘1’-人民币
LongPosLimitInt多头限仓
ShortPosLimitInt空头限仓
LowerLimitPriceDouble跌停板价
UpperLimitPriceDouble涨停板价
PreSettlementPriceDouble昨结算
InstrumentStatusChar合约交易状态 ‘0’-开盘前 ‘1’-非交易 ‘2’-连续交易 ‘3’-集合竞价报单 ‘4’-集合竞价价格平衡 ‘5’-集合竞价撮合 ‘6’-收盘 ‘b’-大商所自动转换报警
CreateDateChar(9)创建日
OpenDateChar(9)上市日
ExpireDateChar(9)到期日
StartDelivDateChar(9)开始交割日
EndDelivDateChar(9)最后交割日
BasisPriceDouble挂牌基准价
IsTradingInt当前是否交易
UnderlyingInstrIDChar(31)基础商品代码
UnderlyingMultipleInt基础商品乘数
PositionTypeChar持仓类型 ‘1’-净持仓(目前只有apex版本支持) ‘2’-综合持仓
StrikePriceDouble执行价
OptionsTypeChar期权类型 ‘0’-非期权 ‘1’-看涨 ‘2’-看跌
ProductClassChar产品类型 ‘0’-未知类型 ‘1’-期货 ‘2’-期权 ‘3’-组合 ‘4’-即期 ‘8’-股票期权
OptionsModeChar期权行权方式 ‘0’-不行权 ‘E’-欧式行权 ‘A’-美式行权

OnRtnInvestorAccountDeposit方法

出入金结果回报。由QDP主动通知客户端,该方法会被调用。

函数原形:

void OnRtnInvestorAccountDeposit(CQdpFtdcInvestorAccountDepositResField *pInvestorAccountDepositRes);

参数:

pInvestorAccountDepositRes: 指向出入金结果回报结构的地址。

出入金结果回报信息CQdpFtdcInvestorAccountDepositResField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
InvestorIDChar(19)投资者编号
AccountIDChar(13)资金帐号
AccountSeqNoChar(21)资金流水号
AccountInsideSeqNoChar(21)连续递增的总资金流水号
AmountDouble金额
AmountDirectionChar出入金方向 ‘1’-入金 ‘2’-出金
AvailableDouble可用资金
BalanceDouble结算准备金
UserIDChar(16)用户代码

OnRspQryOrder方法

报单查询请求。当客户端发出报单查询指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQryOrder(CQdpFtdcOrderField *pOrder, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pOrder: 指向报单查询的返回结构信息的地址。

委托单查询返回信息CQdpFtdcOrderField说明,详见OnRtnOrder方法

pRspInfo: 返回用户响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回用户报单查询请求的ID,该ID由用户在报单查询时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspQryTrade方法

成交单查询应答。当客户端发出成交单查询指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQryTrade(CQdpFtdcTradeField *pTrade, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pTrade: 指向成交信息结构的地址。

成交单查询返回信息CQdpFtdcTradeField说明,详见OnRtnTrade方法

pRspInfo: 指向响应信息结构的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回用户成交单请求的ID,该ID 由用户在成交单查询时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspQryUserInvestor方法

可用投资者账户查询应答。当客户端发出可用投资者账户查询指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQryUserInvestor(CQdpFtdcRspUserInvestorField *pUserInvestor, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pUserInvestor: 指向用户可用投资者账户结构的地址。

投资者账户查询返回信息CQdpFtdcUserInvestorField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
UserIDChar(16)交易用户代码
InvestorIDChar(19)投资者编号

pRspInfo: 指向响应信息结构的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回可用投资者账户请求的ID,该ID 由用户在可用投资者账户查询时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspQryInvestorAccount方法

投资者资金账户查询。当客户端发出投资者资金账户查询指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQryInvestorAccount(CQdpFtdcRspInvestorAccountField *pRspInvestorAccount, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pRspInvestorAccount: 指向投资者资金账户信息的地址。

投资者资金账户查询返回信息CQdpFtdcRspInvestorAccountField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
InvestorIDChar(19)投资者编号
AccountIDChar(13)资金帐号
PreBalanceDouble上次结算准备金
PreAvailableDouble上日可用资金
DepositDouble入金金额
WithdrawDouble出金金额
MarginDouble占用保证金
PremiumDouble期权权利金收支
FeeDouble手续费
FrozenMarginDouble冻结的保证金
FrozenPremiumDouble冻结权利金
FrozenFeeDouble冻结手续费
CloseProfitDouble平仓盈亏
PositionProfitDouble持仓盈亏
AvailableDouble可用资金
BalanceDouble结算准备金
LongMarginDouble多头占用保证金
ShortMarginDouble空头占用保证金
LongFrozenMarginDouble多头冻结的保证金
ShortFrozenMarginDouble空头冻结的保证金
DynamicRightsDouble动态权益
RiskDouble风险度
OtherFeeDouble其他费用
MortgageDouble质押金额
CurrencyDouble币种

pRspInfo: 指向响应信息结构的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回投资者资金账户查询请求的ID,该ID由用户在投资者资金账户查询时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspQryInstrument方法

合约信息查询应答。当客户端发出合约信息查询指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQryQdpInstrument(CQdpFtdcRspInstrumentField *pRspInstrument, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pRspInstrument: 指向合约信息结构的地址。

合约信息查询返回信息CQdpFtdcRspInstrumentField说明

字段名称字段类型返回字段是否有值字段说明
ExchangeIDChar(11)交易所代码 SHFE表示上期所
ProductIDChar(13)品种代码
ProductNameChar(41)品种名称
InstrumentIDChar(31)合约代码
InstrumentNameChar(21)合约名称
DeliveryYearInt交割年份
DeliveryMonthInt交割月
MaxLimitOrderVolumeInt限价单最大下单量
MinLimitOrderVolumeInt限价单最小下单量
MaxMarketOrderVolumeInt市价单最大下单量
MinMarketOrderVolumeInt市价单最小下单量
VolumeMultipleInt数量乘数
PriceTickDouble报价单位
CurrencyChar币种 ‘1’-人民币
LongPosLimitInt多头限仓
ShortPosLimitInt空头限仓
LowerLimitPriceDouble跌停板价
UpperLimitPriceDouble涨停板价
PreSettlementPriceDouble昨结算
InstrumentStatusChar合约交易状态 ‘0’-开盘前 ‘1’-非交易 ‘2’-连续交易 ‘3’-集合竞价报单 ‘4’-集合竞价价格平衡 ‘5’-集合竞价撮合 ‘6’-收盘 ‘b’-大商所自动转换报警
CreateDateChar(9)创建日
OpenDateChar(9)上市日
ExpireDateChar(9)到期日
StartDelivDateChar(9)开始交割日
EndDelivDateChar(9)最后交割日
BasisPriceDouble挂牌基准价
IsTradingInt当前是否交易
UnderlyingInstrIDChar(31)基础商品代码
UnderlyingMultipleInt基础商品乘数
PositionTypeChar持仓类型 ‘1’-净持仓(目前只有apex版本支持) ‘2’-综合持仓
StrikePriceDouble执行价
OptionsTypeChar期权类型 ‘0’-非期权 ‘1’-看涨 ‘2’-看跌
ProductClassChar产品类型 ‘0’-未知类型 ‘1’-期货 ‘2’-期权 ‘3’-组合 ‘4’-即期 ‘8’-股票期权
OptionsModeChar期权行权方式 ‘0’-不行权 ‘E’-欧式行权 ‘A’-美式行权

pRspInfo: 指向响应信息结构的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回合约查询请求的ID,该ID 由用户在合约查询时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspQryMarketData方法

实时行情查询应答。当客户端发出合约行情查询指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQryMarketData(CQdpFtdcMarketDataField *pMarketData, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pMarketData: 指向合约行情结构的地址。

实时行情查询返回信息CQdpFtdcRspInstrumentField说明

字段名称字段类型返回字段是否有值字段说明
TradingDayChar(9)交易日
ExchangeIDChar(11)交易所代码
InstrumentIDChar(31)合约代码
OpenPriceDouble今开盘
HighestPriceDouble最高价
LowestPriceDouble最低价
LastPriceDouble最新价
VolumeInt数量
TurnoverDouble成交金额
LowerLimitPriceDouble跌停板价
UpperLimitPriceDouble涨停板价
OpenInterestInt持仓量
PreClosePriceDouble昨收盘
PreOpenInterestInt昨持仓量
PreSettlementPriceDouble昨结算
SettlementPriceDouble今结算
UpdateMillisecInt最后修改毫秒
UpdateTimeChar(9)最后修改时间

pRspInfo: 指向响应信息结构的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回合约行情查询请求的ID,该ID 由用户在合约行情查询时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspQryExchange方法

交易所查询。当客户端发出交易所查询指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQryExchange(CQdpFtdcRspExchangeField *pExchange, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pExchange: 指向交易所结构的地址。

交易所查询返回信息CQdpFtdcRspExchangeField说明

字段名称字段类型返回字段是否有值字段说明
TradingDayChar(9)交易日
ExchangeIDChar(11)交易所代码
ExchangeNameChar(31)交易所名称

pRspInfo: 指向响应信息结构的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回交易所查询请求的ID,该ID 由用户在交易所查询时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspQryInvestorPosition方法

投资者持仓查询应答。当客户端发出投资者持仓查询指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQryInvestorPosition(CQdpFtdcRspInvestorPositionField *pInvestorPosition, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pInvestorPosition: 指向投资者持仓结构的地址。

投资者持仓查询应答信息CQdpFtdcRspInvestorPositionField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
ExchangeIDChar(11)交易所代码
InvestorIDChar(19)投资者代码
ParticipantIDChar(11)会员编号
ClientIDChar(19)客户代码
InstrumentIDChar(31)合约代码
DirectionChar买卖方向 '0'-买,1'-卖
HedgeFlagChar投机套保标志 ‘1’-投机,2’-套利,’3’-套保
UsedMarginDouble占用保证金
PositionInt总持仓量
PositionCostDouble今日持仓成本
YdPositionInt昨持仓量(不变值)
YdPositionCostDouble昨日持仓成本
FrozenMarginDouble冻结的保证金
FrozenPositionInt开仓冻结持仓
FrozenClosingInt平仓冻结持仓
FrozenPremiumDouble冻结的权利金
LastTradeIDChar(21)最后一笔成交编号
LastOrderLocalIDChar(33)最后一笔本地报单编号
CurrencyChar(4)币种
PositionProfitDouble持仓盈亏
TodayPositionInt今持仓量
FrozenTodayClosingInt今仓平仓冻结

pRspInfo: 指向响应信息结构的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回投资者持仓查询请求的ID,该ID 由用户在投资者持仓查询查询时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspSubscribeTopic方法

订阅主题应答。

函数原形:

void OnRspSubscribeTopic(CQdpFtdcDisseminationField *pDissemination, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pDissemination: 指向主题结构的地址。

订阅主题信息CQdpFtdcDisseminationField说明

字段名称字段类型返回字段是否有值字段说明
SequenceSeriesInt序列系列号
SequenceNoInt序列号

pRspInfo: 指向响应信息结构的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回用户订阅主题请求的ID,该ID 由用户在订阅主题时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspQryTopic方法

主题查询应答。

函数原形:

void OnRspQryTopic(CQdpFtdcDisseminationField *pDissemination, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pDissemination: 指向主题结构的地址。

主题信息CQdpFtdcDisseminationField说明

字段名称字段类型返回字段是否有值字段说明
SequenceSeriesInt序列系列号
SequenceNoInt序列号

pRspInfo: 指向响应信息结构的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回用户主题查询请求的ID,该ID 由用户在主题查询时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspQryInvestorFee方法

投资者手续费率查询应答。当客户端发出投资者手续费率查询指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQryInvestorFee(CQdpFtdcInvestorFeeField *pInvestorFee, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pInvestorFee: 指向投资者手续费率结构的地址。

投资者手续费率查询应答信息CQdpFtdcInvestorFeeField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
ExchangeIDChar(11)交易所代码
InvestorIDChar(19)投资者代码
InstrumentIDChar(31)合约代码
HedgeFlagChar投机套保标志 ‘1’-投机,2’-套利,’3’-套保
OpenFeeRateDouble开仓手续费按比例
OpenFeeAmtDouble开仓手续费按手数
OffsetFeeRateDouble平仓手续费按比例
OffsetFeeAmtDouble平仓手续费按手数
OTFeeRateDouble平今仓手续费按比例
OTFeeAmtDouble平今仓手续费按手数

pRspInfo: 指向响应信息结构的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回投资者手续费请求的ID,该ID 由用户在投资者手续费查询时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspQryInvestorOptionFee方法

投资者期权手续费率查询应答。当客户端发出投资者期权手续费率查询指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQryInvestorOptionFee(CQdpFtdcRspInvestorOptionFeeField *pRspInvestorOptionFee, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pRspInvestorOptionFee: 指向投资者期权手续费率结构的地址。

投资者期权手续费率查询应答信息CQdpFtdcRspInvestorOptionFeeField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
ExchangeIDChar(11)交易所代码
InvestorIDChar(19)投资者代码
InstrumentIDChar(31)合约代码
OpenFeeRateDouble开仓手续费按比例
OpenFeeAmtDouble开仓手续费按手数
OffsetFeeRateDouble平仓手续费按比例
OffsetFeeAmtDouble平仓手续费按手数
OTFeeRateDouble平今仓手续费按比例
OTFeeAmtDouble平今仓手续费按手数
StrikeFeeRateDouble执行手续费按比例
StrikeFeeAmtDouble执行手续费按手数

pRspInfo: 指向响应信息结构的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回投资者期权手续费率查询请求的ID,该ID由用户在投资者期权手续费率查询时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspQryInvestorMargin方法

投资者保证金率查询应答。当客户端发出投资者保证金率查询指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQryInvestorMargin(CQdpFtdcInvestorMarginField *pInvestorMargin, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pInvestorMargin: 指向投资者保证金率结构的地址。

投资者保证金率查询应答信息CQdpFtdcInvestorMarginField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
ExchangeIDChar(11)交易所代码
InvestorIDChar(19)投资者代码
InstrumentIDChar(31)合约代码
HedgeFlagChar投机套保标志 ‘1’-投机,2’-套利,’3’-套保
LongMarginRateDouble多头占用保证金按比例
LongMarginAmtDouble多头保证金按手数
ShortMarginRateDouble空头占用保证金按比例
ShortMarginAmtDouble空头保证金按手数

pRspInfo: 指向响应信息结构的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回投资者保证金率查询请求的ID,该ID由用户在投资者保证金率查询时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRtnForQuote方法

询价回报。当交易所发生询价通知时QDP会通知客户端,该方法会被调用。

函数原形:

void OnRtnForQuote(CQdpFtdcForQuoteRspField *pForQuoteRsp);

参数:

pForQuoteRsp: 指向询价流通知结构的地址。

询价回报通知CQdpFtdcForQuoteRspField说明

字段名称字段类型返回字段是否有值字段说明
TradingDayChar(9)交易日
InstrumentIDChar(31)合约代码
OrderSysIDChar(31)交易所报单号
ExchangeIDChar(11)交易所代码
InsertTimeChar(9)插入时间

OnRtnQuote方法

报价回报。当发生报价回报时QDP会通知客户端,该方法会被调用。

函数原形:

void OnRtnQuote(CQdpFtdcQuoteField *pQuote);

参数:

pForQuoteRsp: 指向报价通知结构的地址。

报价回报信息CQdpFtdcQuoteField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
InvestorIDChar(19)投资者代码
UserIDChar(16)登录账号
UserOrderLocalIDInt用户本地报单号
UserCustomChar(65)用户自定义域
ExchangeIDChar(11)交易所代码
InstrumentIDChar(31)合约代码
OrderSysIDChar(31)交易所报单号
ForQuoteSysIDChar(31)应价编号
AskPriceDouble卖价格
AskVolumeInt卖数量
AskOffsetFlagChar(1)卖开平标志
AskHedgeFlagChar(1)卖投机套保标志
BidPriceDouble买价格
BidVolumeInt买数量
BidOffsetFlagChar(1)买开平标志
BidHedgeFlagChar(1)买投机套保标志
BusinessUnitChar(21)业务单元
BranchIDInt营业部代码
BidOrderRefInt买方本地报单编号
AskOrderRefInt卖方本地报单编号
TradingDayChar(9)委托日期,为交易日,不是当前的自然日
ParticipantIDChar(11)会员编号
ClientIDChar(19)客户号
SeatIDChar(13)下单席位号
InsertTimeChar(9)委托时间,该时间是交易所提供的
OrderLocalIDChar(33)本地报单编号
OrderSourceChar报单来源
OrderStatusChar(1)委托状态, QDP_FTDC_OS_AllTraded –全部成交 QDP_FTDC_OS_PartTradedQueueing –部分成交 QDP_FTDC_OS_NoTradeQueueing –未成交 QDP_FTDC_OS_Canceled –撤单
CancelTimeChar(9)撤单时间,该时间由交易所提供
CancelUserIDChar(16)撤单用户编号
VolumeTradedInt今成交数量
VolumeRemainInt剩余数量
FrontIDInt前置编号
SessionIDInt会话编号
FrozenFeeDouble冻结手续费
FrozenMarginDouble冻结的保证金
FrozenPremiumDouble冻结的权利金
AccountIDChar(13)资金帐号
OrderUserIDChar(16)下单用户编号
TradeTypeChar交易类型 ‘1’-普通成交 ‘2’-组合成交 ‘3’-场外成交
DealFlagChar处理标志 ‘1’-已处理,’2’-等待处理
TradeCommisionDouble已成交佣金
TradeAmntDouble成交金额
CancleVolumeInt撤单数量
RequestIDInt请求编号
APIIDInt通道对应的APIID
IPAddressChar(21)下单IP地址
MacAddressChar(21)下单MAC地址
BidOrderSysIDChar(31)买方系统报单编号
AskOrderSysIDChar(31)卖方系统报单编号

OnRspQryForQuote方法

询价查询应答。当客户端发出询价查询指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQryForQuote(CQdpFtdcForQuoteField *pForQuote, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pForQuote: 指向询价的地址。

询价查询应答消息CQdpFtdcForQuoteField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
InvestorIDChar(19)投资者代码
UserIDChar(16)登录账号
UserOrderLocalIDInt用户本地报单号
UserCustomChar(65)用户自定义域
ExchangeIDChar(11)交易所代码
InstrumentIDChar(31)合约代码
OrderLocalIDChar(33)本地报单编号
ForQuoteStatusChar询价状态 ‘a’-已经提交 ‘b’-已经接受 ‘c’-已经被拒绝
TradingDayChar(9)交易日
InsertTimeChar(9)插入时间

pRspInfo: 指向响应信息结构的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回询价查询请求的ID,该ID 由用户在询价查询时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspForQuoteInsert方法

询价录入应答。当客户端发出过询价录入指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspForQuoteInsert(CQdpFtdcInputForQuoteField *pInputForQuote, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pInputForQuote: 指向询价录入结构的地址,包含了提交询价录入时的输入数据,和后台返回的报单编号。

询价录入应答消息CQdpFtdcInputForQuoteField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
InvestorIDChar(19)投资者代码
UserIDChar(16)登录账号
UserOrderLocalIDInt用户本地报单号
UserCustomChar(65)用户自定义域
ExchangeIDChar(11)交易所代码
InstrumentIDChar(31)合约代码
OrderLocalIDChar(33)本地报单编号

pRspInfo: 返回用户响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回询价录入操作请求的ID,该ID由用户在询价录入时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspQuoteInsert方法

报价录入应答。当客户端发出过报价录入指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQuoteInsert(CQdpFtdcInputQuoteField *pInputQuote, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pInputQuote: 指向报价录入结构的地址,包含了提交报价录入时的输入数据,和后台返回的报单编号。

报价录入应答信息CQdpFtdcInputQuoteField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
InvestorIDChar(19)投资者代码
UserIDChar(16)登录账号
UserOrderLocalIDInt用户本地报单号
UserCustomChar(65)用户自定义域
ExchangeIDChar(11)交易所代码
InstrumentIDChar(31)合约代码
OrderSysIDChar(31)交易所报单号
ForQuoteSysIDChar(31)应价编号
AskPriceDouble卖价格
AskVolumeInt卖数量
AskOffsetFlagChar(1)卖开平标志
AskHedgeFlagChar(1)卖投机套保标志
BidPriceDouble买价格
BidVolumeInt买数量
BidOffsetFlagChar(1)买开平标志
BidHedgeFlagChar(1)买投机套保标志
BusinessUnitChar(21)业务单元
BranchIDInt营业部代码
BidOrderRefInt买方本地报单编号
AskOrderRefInt卖方本地报单编号

pRspInfo: 返回用户响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回报价录入操作请求的ID,该ID由用户在报价录入时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspQuoteAction方法

报价操作应答。报价操作包括报价的撤销。当客户端发出过报价操作指令后,QDP返回响应时,该方法会被调用。

函数原形:

void OnRspQuoteAction(CQdpFtdcQuoteActionField *pQuoteAction, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pQuoteAction: 指向报价操作结构的地址,包含了提交报价操作的输入数据,和后台返回的报价编号。

用户报价撤单应答信息CQdpFtdcQuoteActionField说明

字段名称字段类型返回字段是否有值字段说明
ExchangeIDChar(11)交易所代码
OrderSysIDChar(31)交易所报单号
BrokerIDChar(11)经纪公司编号
InvestorIDChar(19)投资者编号
UserIDChar(16)登录账号
InstrumentIDChar(31)合约代码
UserOrderActionLocalIDInt此次撤单操作的用户本地报单号,和报单请求的UserOrderLocalID一样递增
UserOrderLocalIDInt用户本地报单号(撤单操作是QDP的报单,否则该字段没有值)
ActionFlagChar(1)报单操作标志,撤单正常填写QDP_FTDC_AF_Delete
LimitPriceDouble价格
VolumeChangeInt数量变化
RecNumInt记录编号
FrontIDInt前置编号
SessionIDInt会话编号

pRspInfo: 返回用户响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回用户报单操作请求的ID,该ID由用户在报单操作时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspAuthenticate方法

当客户端发出登录认证请求之后,QDP返回响应时,该方法会被调用,通知客户端登录认证是否成功。

函数原形:

void OnRspAuthenticate(CQdpFtdcRtnAuthenticateField *pRtnAuthenticate, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pRtnAuthenticate: 返回用户认证系统信息的地址。

用户认证系统应答信息CQdpFtdcRtnAuthenticateField说明

字段名称字段类型返回字段是否有值字段说明
BrokerIDChar(11)经纪公司编号
UserIDChar(16)登录账号
UserProductInfoChar(41)接入版本信息
AppIDChar(33)客户认证appid
SockIDIntSocket编号
AppTypeChar客户接入类型 ‘1’-直连的投资者 ‘2’-为每个投资者都创建连接的中继 ‘3’-所有投资者共享一个操作员连接的中继 ‘4’-未知

pRspInfo: 返回用户认证响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回用户登录认证请求的ID,该ID 由用户在登录认证时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspSubPrdTradeFlow方法

当客户端发出订阅品种交易流水请求之后,QDP返回响应时,该方法会被调用,通知客户端订阅品种交易流水是否成功。

函数原形:

void OnRspSubPrdTradeFlow(CQdpFtdcSpecificInstrumentField *pSpecificInstrument, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pSpecificInstrument: 返回用户订阅品种流水结构的地址。

订阅品种应答信息CQdpFtdcSpecificInstrumentField说明

字段名称字段类型返回字段是否有值字段说明
InstrumentIDChar(31)合约代码

pRspInfo: 返回订阅品种流水响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回用户订阅品种流水请求的ID,该ID 由用户在订阅品种流水时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。

OnRspUnSubPrdTradeFlow方法

当客户端发出退订订阅品种交易流水请求之后,QDP返回响应时,该方法会被调用,通知客户端退订订阅品种交易流水是否成功。

函数原形:

void OnRspUnSubPrdTradeFlow(CQdpFtdcSpecificInstrumentField *pSpecificInstrument, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);

参数:

pSpecificInstrument: 返回用户退订订阅品种流水结构的地址。

退订订阅品种应答信息CQdpFtdcSpecificInstrumentField说明

字段名称字段类型返回字段是否有值字段说明
InstrumentIDChar(31)合约代码

pRspInfo: 返回退订订阅品种流水响应信息的地址。

响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法

nRequestID: 返回用户退订订阅品种流水请求的ID,该ID由用户在退订订阅品种流水时指定。

bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。