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响应消息结构与此相同。
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
ErrorID | Int | 是 | 错误代码 |
ErrorMsg | Char(81) | 是 | 错误信息 |
nRequestID: 返回用户操作请求的ID,该ID 由用户在操作请求时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspUserLogin方法
当客户端发出登录请求之后,QDP返回响应时,该方法会被调用,通知客户端登录是否成功。
函数原形:
void OnRspUserLogin(CQdpFtdcRspUserLoginField *pRspUserLogin, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pRspUserLogin: 返回用户登录信息的地址。
用户登录应答信息CQdpFtdcRspUserLoginField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
TradingDay | Char(9) | 是 | 交易日 |
BrokerID | Char(11) | 是 | 经纪公司编号 |
UserID | Char(16) | 是 | 登录账号 |
LoginTime | Char(9) | 是 | 登录时间,格式hh:mm:ss |
MaxOrderLocalID | Char(23) | 否 | 用户最大本地报单号,登录成功时返回的都是空值 |
TradingSystemName | Char(61) | 否 | 交易系统名称 |
DataCenterID | Int | 否 | 保留字段,目前没什么用 |
PrivateFlowSize | Int | 有 | 用户私有流当前长度 |
UserFlowSize | Int | 有 | 保留字段,目 前没什么用 |
DataCenterID | Int | 否 | 保留字段,目前没什么用 |
SessionID | Int | 有 | 当前连接的会话编号 |
FrontID | Int | 有 | 当前连接的前置编号 |
pRspInfo: 返回用户响应信息的地址。特别注意在有连续的成功的响应数据时,中间有可能返回NULL,但第一次不会,以下同。错误代码为0时,表示操作成功,以下同。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回用户登录请求的ID,该ID 由用户在登录时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspUserLogout方法
当客户端发出退出请求之后,QDP返回响应时,该方法会被调用,通知客户端退出是否成功。
函数原形:
void OnRspUserLogout(CQdpFtdcRspUserLogoutField *pRspUserLogout, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pRspUserLogout: 返回用户退出信息的地址。
用户登出应答信息CQdpFtdcRspUserLogoutField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
UserID | Char(16) | 是 | 登录账号 |
LogoutReason | Int | 是 | Session退出原因 |
pRspInfo: 返回用户响应信息的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回用户登出请求的ID,该ID 由用户在登出时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspUserPasswordUpdate方法
用户密码修改应答。当客户端发出用户密码修改指令后,QDP返回响应时,该方法会被调用。
函数原形:
void OnRspUserPasswordUpdate(CQdpFtdcUserPasswordUpdateField *pUserPasswordUpdate, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pUserPasswordUpdate: 指向用户密码修改结构的地址,包含了用户密码修改请求的输入数据。
用户密码修改应答信息CQdpFtdcUserPasswordUpdateField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
UserID | Char(16) | 是 | 登录账号 |
OldPassword | Char(41) | 是 | 旧密码 |
NewPassword | Char(41) | 是 | 新密码 |
pRspInfo: 返回用户响应信息的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回用户密码修改请求的ID,该ID由用户在密码修改时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspOrderInsert方法
报单录入应答。当客户端发出过报单录入指令后,QDP返回响应时,该方法会被调用。
函数原形:
void OnRspOrderInsert(CQdpFtdcInputOrderField *pInputOrder, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pInputOrder: 指向报单录入结构的地址,包含了提交报单录入时的输入数据,和后台返回的报单编号。
用户报单应答信息CQdpFtdcInputOrderField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
ExchangeID | Char(11) | 是 | 交易所代码 |
OrderSysID | Char(31) | 是 | 交易所报单号(报单成功交易所会返回) |
InvestorID | Char(19) | 是 | 投资者代码 |
UserID | Char(16) | 是 | 登录账号 |
InstrumentID | Char(31) | 是 | 合约代码 |
UserOrderLocalID | Int | 是 | 用户本地报单号 |
OrderPriceType | Char(1) | 是 | 报单类型 |
Direction | Char(1) | 是 | 买卖方向 |
OffsetFlag | Char(1) | 是 | 开平仓标识 |
HedgeFlag | Char(1) | 是 | 投机套保标志 |
LimitPrice | Double | 是 | 价格 |
Volume | Int | 是 | 数量 |
TimeCondition | Char(1) | 是 | 报单有效期类型 |
GTDDate | Char(9) | 否 | GTD日期 |
VolumeCondition | Char(1) | 是 | 成交量类型 |
MinVolume | Int | 否 | 最小成交量 |
StopPrice | Double | 否 | 止损价 |
ForceCloseReason | Char(1) | 是 | 强平原因 |
IsAutoSuspend | Int | 否 | 自动挂起标志 |
BusinessUnit | Char(21) | 否 | 业务单元 |
UserCustom | Char(65) | 否 | 用户自定义域 |
BranchID | Char(7) | 否 | 营业部代码 |
RecNum | Int | 否 | 记录编号 |
BusinessType | Char(1) | 否 | 业务类别 |
pRspInfo: 返回用户响应信息的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回报单录入操作请求的ID,该ID由用户在报单录入时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspOrderAction方法
报单操作应答。报单操作包括报单的撤销、报单的挂起(暂不支持)、报单的激活(暂不支持)、报单的修改(暂不支持)。当客户端发出过报单操作指令后,QDP返回响应时,该方法会被调用。
函数原形:
void OnRspOrderAction(CQdpFtdcOrderActionField *pOrderAction, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pOrderAction: 指向报单操作结构的地址,包含了提交报单操作的输入数据,和后台返回的报单编号。
用户撤单应答信息CQdpFtdcOrderActionField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
ExchangeID | Char(11) | 是 | 交易所代码 |
OrderSysID | Char(31) | 是 | 交易所报单号 |
BrokerID | Char(11) | 是 | 经纪公司编号 |
InvestorID | Char(19) | 是 | 投资者编号 |
UserID | Char(16) | 是 | 登录账号 |
InstrumentID | Char(31) | 否 | 合约代码 |
UserOrderActionLocalID | Int | 是 | 此次撤单操作的用户本地报单号,和报单请求的UserOrderLocalID一样递增 |
UserOrderLocalID | Int | 是 | 用户本地报单号(撤单操作是QDP的报单,否则该字段没有值) |
ActionFlag | Char(1) | 是 | 报单操作标志,撤单正常填写QDP_FTDC_AF_Delete |
LimitPrice | Double | 否 | 价格 |
VolumeChange | Int | 否 | 数量变化 |
RecNum | Int | 否 | 记录编号 |
FrontID | Int | 否 | 前置编号 |
SessionID | Int | 否 | 会话编号 |
pRspInfo: 返回用户响应信息的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回用户报单操作请求的ID,该ID由用户在报单操作时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRtnFlowMessageCancel方法
数据流回退通知(暂未启用)。
函数原形:
void OnRtnFlowMessageCancel(CQdpFtdcFlowMessageCancelField *pFlowMessageCancel);
参数:
pFlowMessageCancel: 数据流回退。
数据流回退通知信息CQdpFtdcFlowMessageCancelField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
SequenceSeries | Int | 是 | 序列系列号 |
TradingDay | Char(9) | 是 | 交易日 |
DataCenterID | Int | 否 | 数据中心代码 |
StartSequenceNo | Int | 是 | 回退起始序列号 |
EndSequenceNo | Int | 是 | 回退结束序列号 |
OnRtnTrade方法
成交回报。当发生成交时QDP会通知客户端,该方法会被调用。
函数原形:
void OnRtnTrade(CQdpFtdcTradeField *pTrade);
参数:
pTrade: 指向成交信息结构的地址。
成交信息CQdpFtdcTradeField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
TradingDay | Char(9) | 是 | 委托日期,为交易日,不是当前的自然日 |
BrokerID | Char(11) | 是 | 经纪公司编号 |
ExchangeID | Char(11) | 是 | 交易所代码 |
ParticipantID | Char(11) | 是 | 会员号 |
SeatID | Char(13) | 是 | 席位号 |
InvestorID | Char(19) | 是 | 投资者代码 |
UserID | Char(16) | 是 | 登录账号 |
TradeID | Char(21) | 是 | 成交编号 |
OrderSysID | Char(31) | 是 | 交易所报单号 |
InstrumentID | Char(31) | 是 | 合约代码 |
UserOrderLocalID | Int | 是 | 用户本地报单号 |
Direction | Char(1) | 是 | 买卖方向 |
OffsetFlag | Char(1) | 是 | 开平仓标识 |
HedgeFlag | Char(1) | 是 | 投机套保标志 |
TradePrice | Double | 是 | 成交价格 |
TradeVolume | Int | 是 | 成交数量 |
TradeTime | Char(9) | 是 | 成交时间,该时间由交易所提供 |
OnRtnOrder方法
报单回报。当客户端进行报单录入、报单操作及其它原因(如部分成交、成交、撤单)导致报单状态发生变化时,QDP会主动通知客户端,该方法会被调用。
函数原形:
void OnRtnOrder(CQdpFtdcOrderField *pOrder);
参数:
pOrder: 指向报单信息结构的地址。
用户报单请求信息CQdpFtdcOrderField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
ExchangeID | Char(11) | 是 | 交易所代码 |
OrderSysID | Char(31) | 是 | 交易所报单号 |
InvestorID | Char(19) | 是 | 投资者代码 |
UserID | Char(16) | 是 | 登录账号 |
InstrumentID | Char(31) | 是 | 合约代码 |
UserOrderLocalID | Int | 是 | 用户本地报单号 |
OrderPriceType | Char(1) | 是 | 报单类型 |
Direction | Char(1) | 是 | 买卖方向 |
OffsetFlag | Char(1) | 是 | 开平仓标识 |
HedgeFlag | Char(1) | 是 | 投机套保标志 |
LimitPrice | Double | 是 | 价格 |
Volume | Int | 是 | 数量 |
TimeCondition | Char(1) | 是 | 报单有效期类型 |
VolumeCondition | Char(1) | 是 | 成交量类型 |
TradingDay | Char(9) | 是 | 委托日期,为交易日,不是当前的自然日 |
InsertTime | Char(9) | 是 | 委托时间,该时间是交易所提供的 |
OrderStatus | Char(1) | 是 | 委托状态, QDP_FTDC_OS_AllTraded –全部成交 QDP_FTDC_OS_PartTradedQueueing –部分成交 QDP_FTDC_OS_NoTradeQueueing –未成交 QDP_FTDC_OS_Canceled –撤单 |
CancelTime | Char(9) | 否 | 撤单时间,该时间由交易所提供 |
VolumeTraded | Int | 是 | 该笔委托的总成交数量 |
VolumeRemain | Int | 是 | 该笔委托剩余的未成交数量 |
FrontID | Int | 是 | 前置编号 |
SessionID | Int | 是 | 会话编号 |
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说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
ExchangeID | Char(11) | 是 | 交易所代码 |
ProductID | Char(13) | 是 | 品种代码 |
ProductName | Char(41) | 是 | 品种名称 |
InstrumentID | Char(31) | 是 | 合约代码 |
InstrumentName | Char(21) | 是 | 合约名称 |
DeliveryYear | Int | 是 | 交割年份 |
DeliveryMonth | Int | 是 | 交割月 |
MaxLimitOrderVolume | Int | 是 | 限价单最大下单量 |
MinLimitOrderVolume | Int | 是 | 限价单最小下单量 |
MaxMarketOrderVolume | Int | 是 | 市价单最大下单量 |
MinMarketOrderVolume | Int | 是 | 市价单最小下单量 |
VolumeMultiple | Int | 是 | 数量乘数 |
PriceTick | Double | 是 | 报价单位 |
Currency | Char | 是 | 币种 ‘1’-人民币 |
LongPosLimit | Int | 是 | 多头限仓 |
ShortPosLimit | Int | 是 | 空头限仓 |
LowerLimitPrice | Double | 是 | 跌停板价 |
UpperLimitPrice | Double | 是 | 涨停板价 |
PreSettlementPrice | Double | 是 | 昨结算 |
InstrumentStatus | Char | 是 | 合 约交易状态 ‘0’-开盘前 ‘1’-非交易 ‘2’-连续交易 ‘3’-集合竞价报单 ‘4’-集合竞价价格平衡 ‘5’-集合竞价撮合 ‘6’-收盘 ‘b’-大商所自动转换报警 |
CreateDate | Char(9) | 是 | 创建日 |
OpenDate | Char(9) | 是 | 上市日 |
ExpireDate | Char(9) | 是 | 到期日 |
StartDelivDate | Char(9) | 是 | 开始交割日 |
EndDelivDate | Char(9) | 是 | 最后交割日 |
BasisPrice | Double | 是 | 挂牌基准价 |
IsTrading | Int | 是 | 当前是否交易 |
UnderlyingInstrID | Char(31) | 是 | 基础商品代码 |
UnderlyingMultiple | Int | 是 | 基础商品乘数 |
PositionType | Char | 是 | 持仓类型 ‘1’-净持仓(目前只有apex版本支持) ‘2’-综合持仓 |
StrikePrice | Double | 是 | 执行价 |
OptionsType | Char | 是 | 期权类型 ‘0’-非期权 ‘1’-看涨 ‘2’-看跌 |
ProductClass | Char | 是 | 产品类型 ‘0’-未知类型 ‘1’-期货 ‘2’-期权 ‘3’-组合 ‘4’-即期 ‘8’-股票期权 |
OptionsMode | Char | 是 | 期权行权方式 ‘0’-不行权 ‘E’-欧式行权 ‘A’-美式行权 |
OnRtnInvestorAccountDeposit方法
出入金结果回报。由QDP主动通知客户端,该方法会被调用。
函数原形:
void OnRtnInvestorAccountDeposit(CQdpFtdcInvestorAccountDepositResField *pInvestorAccountDepositRes);
参数:
pInvestorAccountDepositRes: 指向出入金结果回报结构的地址。
出入金结果回报信息CQdpFtdcInvestorAccountDepositResField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
InvestorID | Char(19) | 是 | 投资者编号 |
AccountID | Char(13) | 是 | 资金帐号 |
AccountSeqNo | Char(21) | 是 | 资金流水号 |
AccountInsideSeqNo | Char(21) | 是 | 连续递增的总资金流水号 |
Amount | Double | 是 | 金额 |
AmountDirection | Char | 是 | 出入金方向 ‘1’-入金 ‘2’-出金 |
Available | Double | 是 | 可用资金 |
Balance | Double | 是 | 结算准备金 |
UserID | Char(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说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
UserID | Char(16) | 是 | 交易用户代码 |
InvestorID | Char(19) | 是 | 投资者编号 |
pRspInfo: 指向响应信息结构的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回可用投资者账户请求的ID,该ID 由用户在可用投资者账户查询时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspQryInvestorAccount方法
投资者资金账户查询。当客户端发出投资者资金账户查询指令后,QDP返回响应时,该方法会被调用。
函数原形:
void OnRspQryInvestorAccount(CQdpFtdcRspInvestorAccountField *pRspInvestorAccount, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pRspInvestorAccount: 指向投资者资金账户信息的地址。
投资者资金账户查询返回信息CQdpFtdcRspInvestorAccountField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
InvestorID | Char(19) | 是 | 投资者编号 |
AccountID | Char(13) | 是 | 资金帐号 |
PreBalance | Double | 是 | 上次结算准备金 |
PreAvailable | Double | 是 | 上日可用资金 |
Deposit | Double | 是 | 入金金额 |
Withdraw | Double | 是 | 出金金额 |
Margin | Double | 是 | 占用保证金 |
Premium | Double | 是 | 期权权利金收支 |
Fee | Double | 是 | 手续费 |
FrozenMargin | Double | 是 | 冻结的保证金 |
FrozenPremium | Double | 是 | 冻结权利金 |
FrozenFee | Double | 是 | 冻结手续费 |
CloseProfit | Double | 否 | 平仓盈亏 |
PositionProfit | Double | 是 | 持仓盈亏 |
Available | Double | 是 | 可用资金 |
Balance | Double | 是 | 结算准备金 |
LongMargin | Double | 是 | 多头占用保证金 |
ShortMargin | Double | 是 | 空头占用保证金 |
LongFrozenMargin | Double | 是 | 多头冻结的保证金 |
ShortFrozenMargin | Double | 是 | 空头冻结的保证金 |
DynamicRights | Double | 是 | 动态权益 |
Risk | Double | 是 | 风险度 |
OtherFee | Double | 是 | 其他费用 |
Mortgage | Double | 是 | 质押金额 |
Currency | Double | 是 | 币种 |
pRspInfo: 指向响应信息结构的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回投资者资金账户查询请求的ID,该ID由用户在 投资者资金账户查询时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspQryInstrument方法
合约信息查询应答。当客户端发出合约信息查询指令后,QDP返回响应时,该方法会被调用。
函数原形:
void OnRspQryQdpInstrument(CQdpFtdcRspInstrumentField *pRspInstrument, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pRspInstrument: 指向合约信息结构的地址。
合约信息查询返回信息CQdpFtdcRspInstrumentField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
ExchangeID | Char(11) | 是 | 交易所代码 SHFE表示上期所 |
ProductID | Char(13) | 是 | 品种代码 |
ProductName | Char(41) | 是 | 品种名称 |
InstrumentID | Char(31) | 是 | 合约代码 |
InstrumentName | Char(21) | 是 | 合约名称 |
DeliveryYear | Int | 是 | 交割年份 |
DeliveryMonth | Int | 是 | 交割月 |
MaxLimitOrderVolume | Int | 是 | 限价单最大下单量 |
MinLimitOrderVolume | Int | 是 | 限价单最小下单量 |
MaxMarketOrderVolume | Int | 是 | 市价单最大下单量 |
MinMarketOrderVolume | Int | 是 | 市价单最小下单量 |
VolumeMultiple | Int | 是 | 数量乘数 |
PriceTick | Double | 是 | 报价单位 |
Currency | Char | 是 | 币种 ‘1’-人民币 |
LongPosLimit | Int | 是 | 多头限仓 |
ShortPosLimit | Int | 是 | 空头限仓 |
LowerLimitPrice | Double | 是 | 跌停板价 |
UpperLimitPrice | Double | 是 | 涨停板价 |
PreSettlementPrice | Double | 是 | 昨结算 |
InstrumentStatus | Char | 是 | 合约交易状态 ‘0’-开盘前 ‘1’-非交易 ‘2’-连续交易 ‘3’-集合竞价报单 ‘4’-集合竞价价格平衡 ‘5’- 集合竞价撮合 ‘6’-收盘 ‘b’-大商所自动转换报警 |
CreateDate | Char(9) | 是 | 创建日 |
OpenDate | Char(9) | 是 | 上市日 |
ExpireDate | Char(9) | 是 | 到期日 |
StartDelivDate | Char(9) | 是 | 开始交割日 |
EndDelivDate | Char(9) | 是 | 最后交割日 |
BasisPrice | Double | 是 | 挂牌基准价 |
IsTrading | Int | 是 | 当前是否交易 |
UnderlyingInstrID | Char(31) | 是 | 基础商品代码 |
UnderlyingMultiple | Int | 是 | 基础商品乘数 |
PositionType | Char | 是 | 持仓类型 ‘1’-净持仓(目前只有apex版本支持) ‘2’-综合持仓 |
StrikePrice | Double | 是 | 执行价 |
OptionsType | Char | 是 | 期权类型 ‘0’-非期权 ‘1’-看涨 ‘2’-看跌 |
ProductClass | Char | 是 | 产品类型 ‘0’-未知类型 ‘1’-期货 ‘2’-期权 ‘3’-组合 ‘4’-即期 ‘8’-股票期权 |
OptionsMode | Char | 是 | 期权行权方式 ‘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说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
TradingDay | Char(9) | 是 | 交易日 |
ExchangeID | Char(11) | 是 | 交易所代码 |
InstrumentID | Char(31) | 是 | 合约代码 |
OpenPrice | Double | 是 | 今开盘 |
HighestPrice | Double | 是 | 最高价 |
LowestPrice | Double | 是 | 最低价 |
LastPrice | Double | 是 | 最新价 |
Volume | Int | 是 | 数量 |
Turnover | Double | 是 | 成交金额 |
LowerLimitPrice | Double | 是 | 跌停板价 |
UpperLimitPrice | Double | 是 | 涨停板价 |
OpenInterest | Int | 是 | 持仓量 |
PreClosePrice | Double | 是 | 昨收盘 |
PreOpenInterest | Int | 是 | 昨持仓量 |
PreSettlementPrice | Double | 是 | 昨结算 |
SettlementPrice | Double | 是 | 今结算 |
UpdateMillisec | Int | 是 | 最后修改毫秒 |
UpdateTime | Char(9) | 是 | 最后修改时间 |
pRspInfo: 指向响应信息结构的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回合约行情查询请求的ID,该ID 由用户在合约行情查询时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspQryExchange方法
交易所查询。当客户端发出交易所查询指令后,QDP返回响应时,该方法会被调用。
函数原形:
void OnRspQryExchange(CQdpFtdcRspExchangeField *pExchange, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pExchange: 指向交易所结构的地址。
交易所查询返回信息CQdpFtdcRspExchangeField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
TradingDay | Char(9) | 是 | 交易日 |
ExchangeID | Char(11) | 是 | 交易所代码 |
ExchangeName | Char(31) | 是 | 交易所名称 |
pRspInfo: 指向响应信息结构的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回交易所查询请求的ID,该ID 由用户在交易所查询时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspQryInvestorPosition方法
投资者持仓查询应答。当客户端发出投资者持仓查询指令后,QDP返回响应时,该方法会被调用。
函数原形:
void OnRspQryInvestorPosition(CQdpFtdcRspInvestorPositionField *pInvestorPosition, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pInvestorPosition: 指向投资者持仓结构的地址。
投资者持仓查询应答信息CQdpFtdcRspInvestorPositionField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
ExchangeID | Char(11) | 是 | 交易所代码 |
InvestorID | Char(19) | 是 | 投资者代码 |
ParticipantID | Char(11) | 是 | 会员编号 |
ClientID | Char(19) | 是 | 客户代码 |
InstrumentID | Char(31) | 是 | 合约代码 |
Direction | Char | 是 | 买卖方向 '0'-买,1'-卖 |
HedgeFlag | Char | 是 | 投机套保标志 ‘1’-投机,2’-套利,’3’-套保 |
UsedMargin | Double | 是 | 占用保证金 |
Position | Int | 是 | 总持仓量 |
PositionCost | Double | 是 | 今日持仓成本 |
YdPosition | Int | 是 | 昨持仓量(不变值) |
YdPositionCost | Double | 是 | 昨日持仓成本 |
FrozenMargin | Double | 是 | 冻结的保证金 |
FrozenPosition | Int | 否 | 开仓冻结持仓 |
FrozenClosing | Int | 否 | 平仓冻结持仓 |
FrozenPremium | Double | 是 | 冻结的权利金 |
LastTradeID | Char(21) | 否 | 最后一笔成交编号 |
LastOrderLocalID | Char(33) | 否 | 最后一笔本地报单编号 |
Currency | Char(4) | 是 | 币种 |
PositionProfit | Double | 是 | 持仓盈亏 |
TodayPosition | Int | 是 | 今持仓量 |
FrozenTodayClosing | Int | 否 | 今仓平仓冻结 |
pRspInfo: 指向响应信息结构的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回投资者持仓查询请求的ID,该ID 由用户在投资者持仓查询查询时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspSubscribeTopic方法
订阅主题应答。
函数原形:
void OnRspSubscribeTopic(CQdpFtdcDisseminationField *pDissemination, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pDissemination: 指向主题结构的地址。
订阅主题信息CQdpFtdcDisseminationField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
SequenceSeries | Int | 是 | 序列系列号 |
SequenceNo | Int | 是 | 序列号 |
pRspInfo: 指向响应信息结构的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回用户订阅主题请求的ID,该ID 由用户在订阅主题时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspQryTopic方法
主题查询应答。
函数原形:
void OnRspQryTopic(CQdpFtdcDisseminationField *pDissemination, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pDissemination: 指向主题结构的地址。
主题信息CQdpFtdcDisseminationField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
SequenceSeries | Int | 是 | 序列系列号 |
SequenceNo | Int | 是 | 序列号 |
pRspInfo: 指向响应信息结构的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回用户主题查询请求的ID,该ID 由用户在主题查询时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspQryInvestorFee方法
投资者手续费率查询应答。当客户端发出投资者手续费率查询指令后,QDP返回响应时,该方法会被调用。
函数原形:
void OnRspQryInvestorFee(CQdpFtdcInvestorFeeField *pInvestorFee, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pInvestorFee: 指向投资者手续费率结构的地址。
投资者手续费率查询应答信息CQdpFtdcInvestorFeeField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
ExchangeID | Char(11) | 是 | 交易所代码 |
InvestorID | Char(19) | 是 | 投资者代码 |
InstrumentID | Char(31) | 是 | 合约代码 |
HedgeFlag | Char | 是 | 投机套保标志 ‘1’-投机,2’-套利,’3’-套保 |
OpenFeeRate | Double | 是 | 开仓手续费按比例 |
OpenFeeAmt | Double | 是 | 开仓手续费按手数 |
OffsetFeeRate | Double | 是 | 平仓手续费按比例 |
OffsetFeeAmt | Double | 是 | 平仓手续费按手数 |
OTFeeRate | Double | 是 | 平今仓手续费按比例 |
OTFeeAmt | Double | 是 | 平今仓手续费按手数 |
pRspInfo: 指向响应信息结构的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回投资者手续费请求的ID,该ID 由用户在投资者手续费查询时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspQryInvestorOptionFee方法
投资者期权手续费率查询应答。当客户端发出投资者期权手续费率查询指令后,QDP返回响应时,该方法会被调用。
函数原形:
void OnRspQryInvestorOptionFee(CQdpFtdcRspInvestorOptionFeeField *pRspInvestorOptionFee, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pRspInvestorOptionFee: 指向投资者期权手续费率结构的地址。
投资者期权手续费率查询应答信息CQdpFtdcRspInvestorOptionFeeField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
ExchangeID | Char(11) | 是 | 交易所代码 |
InvestorID | Char(19) | 是 | 投资者代码 |
InstrumentID | Char(31) | 是 | 合约代码 |
OpenFeeRate | Double | 是 | 开仓手续费按比例 |
OpenFeeAmt | Double | 是 | 开仓手续费按手数 |
OffsetFeeRate | Double | 是 | 平仓手续费按比例 |
OffsetFeeAmt | Double | 是 | 平仓手续费按手数 |
OTFeeRate | Double | 是 | 平今仓手续费按比例 |
OTFeeAmt | Double | 是 | 平今仓手续费按手数 |
StrikeFeeRate | Double | 是 | 执行手续费按比例 |
StrikeFeeAmt | Double | 是 | 执行手续费按手数 |
pRspInfo: 指向响应信息结构的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回投资者期权手续费率查询请求的ID,该ID由用户在投资者期权手续费率查询时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspQryInvestorMargin方法
投资者保证金率查询应答。当客户端发出投资者保证金率查询指令后,QDP返回响应时,该方法会被调用。
函数原形:
void OnRspQryInvestorMargin(CQdpFtdcInvestorMarginField *pInvestorMargin, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pInvestorMargin: 指向投资者保证金率结构的地址。
投资者保证金率查询应答信息CQdpFtdcInvestorMarginField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
ExchangeID | Char(11) | 是 | 交易所代码 |
InvestorID | Char(19) | 是 | 投资者代码 |
InstrumentID | Char(31) | 是 | 合约代码 |
HedgeFlag | Char | 是 | 投机套保标志 ‘1’-投机,2’-套利,’3’-套保 |
LongMarginRate | Double | 是 | 多头占用保证金按比例 |
LongMarginAmt | Double | 是 | 多头保证金按手数 |
ShortMarginRate | Double | 是 | 空头占用保证金按比例 |
ShortMarginAmt | Double | 是 | 空头保证金按手数 |
pRspInfo: 指向响应信息结构的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回投资者保证金率查询请求的ID,该ID由用户在投资者保证金率查询时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRtnForQuote方法
询价回报。当交易所发生询价通知时QDP会通知客户端,该方法会被调用。
函数原形:
void OnRtnForQuote(CQdpFtdcForQuoteRspField *pForQuoteRsp);
参数:
pForQuoteRsp: 指向询价流通知结构的地址。
询价回报通知CQdpFtdcForQuoteRspField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
TradingDay | Char(9) | 是 | 交易日 |
InstrumentID | Char(31) | 是 | 合约代码 |
OrderSysID | Char(31) | 是 | 交易所报单号 |
ExchangeID | Char(11) | 是 | 交易所代码 |
InsertTime | Char(9) | 是 | 插入时间 |
OnRtnQuote方法
报价回报。当发生报价回报时QDP会通知客户端,该方法会被调用。
函数原形:
void OnRtnQuote(CQdpFtdcQuoteField *pQuote);
参数:
pForQuoteRsp: 指向报价通知结构的地址。
报价回报信息CQdpFtdcQuoteField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
InvestorID | Char(19) | 是 | 投资者代码 |
UserID | Char(16) | 是 | 登录账号 |
UserOrderLocalID | Int | 是 | 用户本地报单号 |
UserCustom | Char(65) | 是 | 用户自定义域 |
ExchangeID | Char(11) | 是 | 交易所代码 |
InstrumentID | Char(31) | 是 | 合约代码 |
OrderSysID | Char(31) | 是 | 交易所报单号 |
ForQuoteSysID | Char(31) | 是 | 应价编号 |
AskPrice | Double | 是 | 卖价格 |
AskVolume | Int | 是 | 卖数量 |
AskOffsetFlag | Char(1) | 是 | 卖开平标志 |
AskHedgeFlag | Char(1) | 是 | 卖投机套保标志 |
BidPrice | Double | 是 | 买价格 |
BidVolume | Int | 是 | 买数量 |
BidOffsetFlag | Char(1) | 是 | 买开平标志 |
BidHedgeFlag | Char(1) | 是 | 买投机套保标志 |
BusinessUnit | Char(21) | 是 | 业务单元 |
BranchID | Int | 是 | 营业部代码 |
BidOrderRef | Int | 买方本地报单编号 | |
AskOrderRef | Int | 卖方本地报单编号 | |
TradingDay | Char(9) | 是 | 委托日期,为交易日,不是当前的自然日 |
ParticipantID | Char(11) | 是 | 会员 编号 |
ClientID | Char(19) | 是 | 客户号 |
SeatID | Char(13) | 是 | 下单席位号 |
InsertTime | Char(9) | 是 | 委托时间,该时间是交易所提供的 |
OrderLocalID | Char(33) | 是 | 本地报单编号 |
OrderSource | Char | 是 | 报单来源 |
OrderStatus | Char(1) | 是 | 委托状态, QDP_FTDC_OS_AllTraded –全部成交 QDP_FTDC_OS_PartTradedQueueing –部分成交 QDP_FTDC_OS_NoTradeQueueing –未成交 QDP_FTDC_OS_Canceled –撤单 |
CancelTime | Char(9) | 否 | 撤单时间,该时间由交易所提供 |
CancelUserID | Char(16) | 否 | 撤单用户编号 |
VolumeTraded | Int | 是 | 今成交数量 |
VolumeRemain | Int | 是 | 剩余数量 |
FrontID | Int | 是 | 前置编号 |
SessionID | Int | 是 | 会话编号 |
FrozenFee | Double | 是 | 冻结手续费 |
FrozenMargin | Double | 是 | 冻结的保证金 |
FrozenPremium | Double | 是 | 冻结的权利金 |
AccountID | Char(13) | 是 | 资金帐号 |
OrderUserID | Char(16) | 否 | 下单用户编号 |
TradeType | Char | 是 | 交易类型 ‘1’-普通成交 ‘2’-组合成交 ‘3’-场外成交 |
DealFlag | Char | 否 | 处理标志 ‘1’-已处理,’2’-等待处理 |
TradeCommision | Double | 是 | 已成交佣金 |
TradeAmnt | Double | 是 | 成交金额 |
CancleVolume | Int | 是 | 撤单数量 |
RequestID | Int | 是 | 请求编号 |
APIID | Int | 是 | 通道对应的APIID |
IPAddress | Char(21) | 否 | 下单IP地址 |
MacAddress | Char(21) | 否 | 下单MAC地址 |
BidOrderSysID | Char(31) | 是 | 买方系统报单编号 |
AskOrderSysID | Char(31) | 是 | 卖方系统报单编号 |
OnRspQryForQuote方法
询价查询应答。当客户端发出询价查询指令后,QDP返回响应时,该方法会被调用。
函数原形:
void OnRspQryForQuote(CQdpFtdcForQuoteField *pForQuote, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pForQuote: 指向询价的地址。
询价查询应答消息CQdpFtdcForQuoteField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
InvestorID | Char(19) | 是 | 投资者代码 |
UserID | Char(16) | 是 | 登录账号 |
UserOrderLocalID | Int | 是 | 用户本地报单号 |
UserCustom | Char(65) | 是 | 用户自定义域 |
ExchangeID | Char(11) | 是 | 交易所代码 |
InstrumentID | Char(31) | 是 | 合约代码 |
OrderLocalID | Char(33) | 是 | 本地报单编号 |
ForQuoteStatus | Char | 是 | 询价状态 ‘a’-已经提交 ‘b’-已经接受 ‘c’-已经被拒绝 |
TradingDay | Char(9) | 是 | 交易日 |
InsertTime | Char(9) | 是 | 插入时间 |
pRspInfo: 指向响应信息结构的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回询价查询请求的ID,该ID 由用户在询价查询时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspForQuoteInsert方法
询价录入应答。当客户端发出过询价录入指令后,QDP返回响应时,该方法会被调用。
函数原形:
void OnRspForQuoteInsert(CQdpFtdcInputForQuoteField *pInputForQuote, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pInputForQuote: 指向询价录入结构的地址,包含了提交询价录入时的输入数据,和后台返回的报单编号。
询价录入应答消息CQdpFtdcInputForQuoteField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
InvestorID | Char(19) | 是 | 投资者代码 |
UserID | Char(16) | 是 | 登录账号 |
UserOrderLocalID | Int | 是 | 用户本地报单号 |
UserCustom | Char(65) | 是 | 用户自定义域 |
ExchangeID | Char(11) | 是 | 交易所代码 |
InstrumentID | Char(31) | 是 | 合约代码 |
OrderLocalID | Char(33) | 是 | 本地报单编号 |
pRspInfo: 返回用户响应信息的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回询价录入操作请求的ID,该ID由用户在询价录入时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspQuoteInsert方法
报价录入应答。当客户端发出过报价录入指令后,QDP返回响应时,该方法会被调用。
函数原形:
void OnRspQuoteInsert(CQdpFtdcInputQuoteField *pInputQuote, CQdpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast);
参数:
pInputQuote: 指向报价录入结构的地址,包含了提交报价录入时的输入数据,和后台返回的报单编号。
报价录入应答信息CQdpFtdcInputQuoteField说明
字段名称 | 字段类型 | 返回字段是否有值 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 | 经纪公司编号 |
InvestorID | Char(19) | 是 | 投资者代码 |
UserID | Char(16) | 是 | 登录账号 |
UserOrderLocalID | Int | 是 | 用户本地报单号 |
UserCustom | Char(65) | 是 | 用户自定义域 |
ExchangeID | Char(11) | 是 | 交易所代码 |
InstrumentID | Char(31) | 是 | 合约代码 |
OrderSysID | Char(31) | 是 | 交易所报单号 |
ForQuoteSysID | Char(31) | 是 | 应价编号 |
AskPrice | Double | 是 | 卖价格 |
AskVolume | Int | 是 | 卖数量 |
AskOffsetFlag | Char(1) | 是 | 卖开平标志 |
AskHedgeFlag | Char(1) | 是 | 卖投机套保标志 |
BidPrice | Double | 是 | 买价格 |
BidVolume | Int | 是 | 买数量 |
BidOffsetFlag | Char(1) | 是 | 买开平标志 |
BidHedgeFlag | Char(1) | 是 | 买投机套保标志 |
BusinessUnit | Char(21) | 是 | 业务单元 |
BranchID | Int | 是 | 营业部代码 |
BidOrderRef | Int | 是 | 买方本地报单编号 |
AskOrderRef | Int | 是 | 卖方本地报单编号 |
pRspInfo: 返回用户响应信息的地址。
响应信息CQdpFtdcRspInfoField说明,详见OnRspError方法。
nRequestID: 返回报价录入操作请求的ID,该ID由用户在报价录入时指定。
bIsLast: 指示该次返回是否为针对nRequestID的最后一次返回。
OnRspQuoteAction方法
报价操作应答。报价操作包括报价的撤销。当客户端发出过报价操作指令后,QDP返回响应时,该方法会被调用。