跳到主要内容

CQdpFtdcTraderApi 接口

CQdpFtdcTraderApi接口提供给用户的功能包括,报单的录入、报单的撤销、报单的查询、成交单查询、客户持仓查询、合约查询、合约交易状态查询、交易所公告查询等功能。

CreateFtdcTraderApi方法​

产生一个CQdpFtdcTradeApi的一个实例,不能通过new来产生。

函数原形:

static CQdpFtdcTradeApi *CreateFtdcTradeApi(const char *pszFlowPath = "");

参数:

pszFlowPath: 常量字符指针,用于指定一个文件目录来存贮QDP发布消息的状态。默认值代表当前目录。

返回值:

返回一个指向CQdpFtdcTradeApi实例的指针。

GetVersion方法​

获取系统版本号。

函数原型:

static const char *GetVersion(int &nMajorVersion, int &nMinorVersion);

参数:

nMajorVersion: 主版本号

nMinorVersion: 子版本号

返回值:

系统标识字符串返回值。

Release 方法​

释放一个CQdpFtdcTradeApi实例。不能使用delete方法。

函数原形:

void Release();

Init 方法​

使客户端开始与QDP建立连接,连接成功后可以进行登陆。

函数原形:

void Init();

Join 方法​

客户端等待一个接口实例线程的结束。

函数原形:

void Join();

GetTradingDay方法​

获得当前交易日。只有当与QDP连接建立后才会取到正确的交易日。

函数原形:

const char *GetTradingDay();

返回值:

返回一个指向日期信息字符串的常量指针。

RegisterFront 方法​

设置QDP的网络通讯地址,QDP拥有多个通信地址,但用户只需要选择一个通信地址。

函数原形:

void RegisterFront(char *pszFrontAddress);

参数:

pszFrontAddress: 指向QDP后台服务器地址的指针。

服务器地址的格式为:"protocol://ipaddress:port",如:"tcp://127.0.0.1:17001"。“tcp”代表传输协议,“127.0.0.1”代表服务器地址。”17001”代表服务器端口号。

RegisterSpi 方法​

注册一个派生自CQdpFtdcTraderSpi 接口类的实例,该实例将完成事件处理。

函数原形:

void RegisterSpi(CQdpFtdcTraderSpi *pSpi);

参数:

pSpi: 实现了CQdpFtdcTraderSpi接口的实例指针。

SubscribePrivateTopic方法​

订阅私有流。该方法要在Init 方法前调用。若不调用则不会收到私有流的数据。

函数原形:

void SubscribePrivateTopic(QDP_TE_RESUME_TYPE nResumeType);

参数:

nResumeType: 私有流重传方式

QDP_TERT_RESTART 从本交易日开始重传

QDP_TERT_RESUME 从上次收到的续传

QDP_TERT_QUICK 只传送登录后私有流的内容

SubscribePublicTopic方法​

订阅公共流。该方法要在Init 方法前调用。若不调用则不会收到公共流的数据。

函数原形:

void SubscribePublicTopic(QDP_TE_RESUME_TYPE nResumeType);

参数:

nResumeType: 公共流重传方式

QDP_TERT_RESTART 从本交易日开始重传

QDP_TERT_RESUME 从上次收到的续传

QDP_TERT_QUICK 只传送登录后公共流的内容

SubscribeUserTopic方法​

订阅交易员流。该方法要在Init 方法前调用。若不调用则不会收到交易员流的数据(UserAPI可使用)。

函数原形:

void SubscribeUserTopic(QDP_TE_RESUME_TYPE nResumeType);

参数:

nResumeType: 交易员重传方式

QDP_TERT_RESTART 从本交易日开始重传

QDP_TERT_RESUME 从上次收到的续传

QDP_TERT_QUICK 只传送登录后公共流的内容

SetHeartbeatTimeout方法​

设置心跳超时时间。

函数原形:

void SetHeartbeatTimeout(unsigned int timeout);

参数:

timeout: 心跳超时时间(秒)

OpenRequestLog方法​

打开请求日志文件。

函数原形:

int OpenRequestLog(const char *pszReqLogFileName);

参数:

pszReqLogFileName: 请求日志文件名

返回值:

0 操作成功

-1 打开日志文件失败

OpenResponseLog方法​

打开应答日志文件。

函数原形:

int OpenResponseLog(const char *pszRspLogFileName);

参数:

pszRspLogFileName: 应答日志文件名

返回值:

0 操作成功

-1 打开日志文件失败

ReqUserLogin方法​

用户发出登陆请求。

函数原形:

int ReqUserLogin (CQdpFtdcReqUserLoginField *pReqUserLogin, int nRequestID);

参数:

pReqUserLogin: 指向用户登录请求结构的地址。

用户登录请求信息CQdpFtdcReqUserLoginField说明

字段名称字段类型是否必填字段说明
TradingDayChar(9)否交易日
UserIDChar(16)是登录账号
BrokerIDChar(11)是经纪公司编号
PasswordChar(41)是账号密码
UserProductInfoChar(41)否用户端产品信息,建议客户填写使用API程序的名称如InfinyTraderV8
InterfaceProductInfoChar(41)否保留字段,目前没什么用
ProtocolInfoChar(41)否保留字段,目前没什么用
IPAddressChar(21)否IP地址,建议客户填写
MacAddressChar(21)否Mac地址,建议客户填写
DataCenterIDInt否保留字段,目前没什么用
OneTimePasswordChar(41)否保留字段,目前没什么用
ClientIPAddressChar(21)否保留字段,目前没什么用

nRequestID: 用户登录请求的ID,该ID由用户指定,管理。

注:用户需要填写UserProductInfo字段,即客户端的产品信息,如软件开发商、版本号等。InterfaceProductInfo和ProtocolInfo 只须占位,不必有效赋值。

返回值:

0 表示成功。

-1 表示与柜台还未建立连接;

4 表示设备名获取失败(直连客户信息采集);

5 表示操作系统版本获取失败(直连客户信息采集);

6 表示硬盘序列号获取失败(直连客户信息采集);

7 表示CPU ID获取失败(直连客户信息采集);

8 表示BIOS ID获取失败(直连客户信息采集);

10 表示采集数据加密失败(直连客户信息采集)。

ReqUserLogout方法​

用户发出登出请求。

函数原形:

int ReqUserLogout (CQdpFtdcReqUserLogoutField *pReqUserLogout, int nRequestID);

参数:

pReqUserLogout: 指向用户登出请求结构的地址。

用户登出请求信息CQdpFtdcReqUserLogoutField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
UserIDChar(16)是登录账号
LogoutReasonInt否Session退出原因

ReqUserPasswordUpdate方法​

用户密码修改请求。

函数原形:

int ReqUserPasswordUpdate (CQdpFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID);

参数:

pUserPasswordUpdate: 指向用户口令修改结构的地址。

用户密码修改请求信息CQdpFtdcUserPasswordUpdateField说明

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

ReqOrderInsert 方法​

客户端发出报单录入请求。

函数原形:

int ReqOrderInsert(CQdpFtdcInputOrderField *pInputOrder, int nRequestID);

参数:

pInputOrder: 指向输入报单结构的地址。

报单录入请求信息CQdpFtdcInputOrderField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
ExchangeIDChar(11)是交易所代码, 具体数值见QdpFtdcUserApiDataType.h
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)是强平原因,必填,一般填为QDP_FTDC_FCR_NotForceClose
IsAutoSuspendInt否自动挂起标志
BusinessUnitChar(21)否业务单元
UserCustomChar(65)否用户自定义域
BranchIDChar(7)否营业部代码
RecNumInt否记录编号
BusinessTypeChar(1)否业务类别

注意: 用户本地报单号UserOrderLocalID是一个整型,每一个Session需要保证递增。

限价单 必须填充的字段包括:

  1. BrokerID,会员号,形如“2008”;
  2. ExchangeID,交易所代码,支持“CFFEX”、“SHFE”、“CZCE”、“DCE”等
  3. InvestorID,投资者编号,形如“10000029”;
  4. UserID,用户代码,形如“test1”;
  5. InstrumentID,合约代码,形如“IF1109”;
  6. OrderPriceType,报单价格条件,为QDP_FTDC_OPT_LimitPrice;
  7. Direction,买卖方向,QDP_FTDC_D_Buy表示买,QDP_FTDC_D_Sell表示卖;
  8. OffsetFlag,开平标志,“0”表示开仓,“1”表示平仓;
  9. HedgeFlag,投机套保标志,“1”为投机,“2”为套利,“3”为套保;
  10. LimitPrice,价格,形如3500.00;
  11. Volume,数量,例如5,表示5手;
  12. TimeCondition,有效期类型,为QDP_FTDC_TC_IOC(“立即成交,否则撤销”)或QDP_FTDC_TC_GFD(“当日有效”);
  13. VolumeCondition,成交量类型,为QDP_FTDC_VC_AV(“任意数量”)或QDP_FTDC_VC_(“全部数量”);
  14. ForceCloseReason,强平原因,只能为QDP_FTDC_FCR_NotForceClose(“非强平”);
  15. UserOrderLocalID,用户本地报单编号,形如 10。

市价单 必须填充的字段包括:

  1. BrokerID,会员号,形如“2008”;
  2. ExchangeID,交易所代码,支持“CFFEX”、“SHFE”、“CZCE”、“DCE”等
  3. InvestorID,客户号,形如“10000029”;
  4. UserID,交易用户代码,形如“test1”;
  5. InstrumentID,合约代码,形如“IF1109”;
  6. OrderPriceType,报单价格条件,为QDP_FTDC_OPT_AnyPrice;
  7. Direction,买卖方向,QDP_FTDC_D_Buy表示买,QDP_FTDC_D_Sell表示卖;
  8. OffsetFlag,开平标志,“0”表示开仓,“1”表示平仓;
  9. HedgeFlag,投机套保标志,“1”为投机,“2”为套利,“3”为套保;
  10. Volume,数量,例如5,表示5手;
  11. TimeCondition,有效期类型,为QDP_FTDC_TC_IOC(“立即成交,否则撤销”);
  12. VolumeCondition,成交量类型,为QDP_FTDC_VC_AV(“任意数量”)或QDP_FTDC_VC_(“全部数量”);
  13. ForceCloseReason,强平原因,只能为QDP_FTDC_FCR_NotForceClose(“非强平”);
  14. UserOrderLocalID,本地报单编号,形如 10。

各种订单类型,详细说明如下:

订单类型OrderPriceTypeTimeConditionVolumeCondition备注
限价FOKQDP_FTDC_OPT_LimitPriceQDP_FTDC_TC_IOCQDP_FTDC_VC_CV立即全部成交否则全部撤单
市价FOKQDP_FTDC_OPT_AnyPriceQDP_FTDC_TC_IOCQDP_FTDC_VC_CV立即全部成交否则全部撤单,无需填写LimitPrice字段
限价FAKQDP_FTDC_OPT_LimitPriceQDP_FTDC_TC_IOCQDP_FTDC_VC_AV立即成交, 剩余撤单
市价FAKQDP_FTDC_OPT_AnyPriceQDP_FTDC_TC_IOCQDP_FTDC_VC_AV立即成交, 剩余撤单,无需填写LimitPrice字段
市价转限价QDP_FTDC_OPT_AnyPriceQDP_FTDC_TC_GFDQDP_FTDC_VC_AV市价单未成交部分转为最新价限价单
五档市价QDP_FTDC_OPT_FiveLevelPriceQDP_FTDC_TC_IOCQDP_FTDC_VC_AV市价单与对手方五档价格报单尝试成交,剩余未成交部分撤销
五档市价转限价QDP_FTDC_OPT_FiveLevelPriceQDP_FTDC_TC_GFDQDP_FTDC_VC_AV市价单与对手方五档价格报单尝试成交,剩余未成交部分转为最新价限价单
最优价QDP_FTDC_OPT_BestPriceQDP_FTDC_TC_IOCQDP_FTDC_VC_AV市价单与对手方最优一档价格报单尝试成交,剩余未成交部分撤销
最优价转限价QDP_FTDC_OPT_BestPriceQDP_FTDC_TC_GFDQDP_FTDC_VC_AV市价单与对手方最优一档价格报单尝试成交,剩余未成交部分转为最新价限价单
大商所GISQDP_FTDC_OPT_LimitPriceQDP_FTDC_TC_GFSQDP_FTDC_VC_AV小节有效, 未成交则撤单
止损定单QDP_FTDC_OPT_SO_LOSSQDP_FTDC_TC_GFDQDP_FTDC_VC_AV
止盈定单QDP_FTDC_OPT_SO_PROFITQDP_FTDC_TC_GFDQDP_FTDC_VC_AV
限价止损定单QDP_FTDC_OPT_SLO_LOSSQDP_FTDC_TC_GFDQDP_FTDC_VC_AV
限价止盈定单QDP_FTDC_OPT_SLO_PROFITQDP_FTDC_TC_GFDQDP_FTDC_VC_AV

nRequestID: 用户报单录入请求的ID,该ID 由用户指定管理。

返回值:

0 表示成功。

888 表示投资者未登录;

999 表示本地报单编号小于等于QDP柜台最大本地报单编号;

-1 表示对话流水未创建;

-3 表示FTD协议请求发送失败;

-4 表示Session未连接。

ReqOrderAction 方法​

客户端发出报单操作请求,包括报单的撤销、报单的挂起(暂不支持)、报单的激活(暂不支持)、报单的修改(暂不支持)。

函数原形:

int ReqOrderAction(CQdpFtdcOrderActionField *pOrderAction, int nRequestID);

参数:

pOrderAction: 指向报单操作结构的地址。

用户撤单请求信息CQdpFtdcOrderActionField说明

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

nRequestID: 用户报单操作请求的ID,该ID 由用户指定,管理。

返回值:

0 表示成功。

-1 表示对话流水未创建;

-3 表示FTD协议请求发送失败;

-4 表示Session未连接。

ReqQryOrder方法​

报单查询请求。

函数原形:

int ReqQryQdpOrder (CQdpFtdcQryOrderField *pQryOrder, int nRequestID);

参数:

pQryOrder: 指向报单查询结构的地址。

用户委托查询请求信息CQdpFtdcQryOrderField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
UserIDChar(16)是登录账号
ExchangeIDChar(11)否交易所代码
InvestorIDChar(19)否投资者编号
OrderSysIDChar(31)否交易所报单号(不填则必须填UserOrderLocalID)
InstrumentIDChar(31)否合约代码

ReqQryTrade方法​

成交单查询请求。

函数原形:

int ReqQryQdpTrade (CQdpFtdcQryTradeField *pQryTrade, int nRequestID);

参数:

pQryTrade: 指向成交查询结构的地址。

用户成交查询请求信息CQdpFtdcQryTradeField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
UserIDChar(16)是登录账号
ExchangeIDChar(11)否交易所代码
InvestorIDChar(19)否投资者编号
TradeIDChar(21)否交易所报单号(不填则必须填UserOrderLocalID)
InstrumentIDChar(31)否合约代码

ReqQryUserInvestor方法​

可用投资者账户查询。

函数原形:

int ReqQryUserInvestor(CQdpFtdcQryUserInvestorField *pQryUserInvestor, int nRequestID);

参数:

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

可用投资者查询请求信息CQdpFtdcQryUserInvestorField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
UserIDChar(16)是登录账号

ReqQryInvestorAccount方法​

投资者资金账户查询。

函数原形:

int ReqQryInvestorAccount(CQdpFtdcQryInvestorAccountField *pQryInvestorAccount, int nRequestID);

参数:

pQryInvestorAccount: 指向投资者账户查询结构的地址。

投资者资金账户查询请求信息CQdpFtdcQryInvestorAccountField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
UserIDChar(16)是登录账号
InvestorIDChar(19)否投资者编号

ReqQryInstrument方法​

合约信息查询。

函数原形:

int ReqQryInstrument (CQdpFtdcQryInstrumentField *pQryInstrument, int nRequestID);

参数:

pQryInstrument: 指向合约信息查询结构的地址。

合约查询请求信息CQdpFtdcQryInstrumentField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
ProductIDChar(13)是品种代码
InstrumentIDChar(31)否合约代码

ReqQryMarketData方法​

合约行情查询。

函数原形:

int ReqQryMarketData (CQdpFtdcQryMarketDataField *pQryMarketData, int nRequestID);

参数:

pQryMarketData: 指向合约行情查询结构的地址。

实时行情查询请求信息CQdpFtdcQryMarketDataField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
InstrumentIDChar(31)否合约代码

ReqQryExchange方法​

交易所查询。

函数原形:

int ReqQryExchange(CQdpFtdcQryExchangeField *pQryExchange, int nRequestID);

参数:

pQryExchange: 指向交易所查询结构的地址。

交易所查询请求信息CQdpFtdcQryExchangeField说明

字段名称字段类型是否必填字段说明
ExchangeIDChar(11)否交易所代码

ReqQryInvestorPosition方法​

投资者持仓查询。

函数原形:

int ReqQryInvestorPosition (CQdpFtdcQryInvestorPositionField *pQryUserInvestorPosition, int nRequestID);

参数:

pQryUserInvestorPosition: 指向投资者持仓查询结构的地址。

投资者持仓查询请求信息CQdpFtdcQryInvestorAccountField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
UserIDChar(16)是登录账号
ExchangeIDChar(11)否交易所代码
InvestorIDChar(19)否投资者编号
InstrumentIDChar(31)否合约代码

ReqSubscribeTopic方法​

订阅主题请求。

函数原形:

int ReqSubscribeTopic(CQdpFtdcDisseminationField *pDissemination, int nRequestID);

参数:

pDissemination: 信息分发。

订阅主题请求信息CQdpFtdcDisseminationField说明

字段名称字段类型是否必填字段说明
SequenceSeriesInt是序列系列号
SequenceNoInt是序列号

ReqQryTopic方法​

主题查询请求。

函数原形:

int ReqQryTopic(CQdpFtdcDisseminationField *pDissemination, int nRequestID);

参数:

pDissemination: 信息分发。

主题查询请求信息CQdpFtdcDisseminationField说明

字段名称字段类型是否必填字段说明
SequenceSeriesInt是序列系列号
SequenceNoInt是序列号

ReqQryInvestorFee方法​

投资者手续费率查询。

函数原形:

int ReqQryInvestorFee(CQdpFtdcQryInvestorFeeField *pQryInvestorFee, int nRequestID);

参数:

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

投资者手续费率查询请求信息CQdpFtdcQryInvestorFeeField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
UserIDChar(16)是登录账号
InvestorIDChar(19)否投资者编号
ExchangeIDChar(11)否交易所代码
InstrumentIDChar(31)否合约代码
HedgeFlagChar(1)否投机套保标志

ReqQryInvestorOptionFee方法​

投资者期权手续费率查询。

函数原形:

int ReqQryInvestorOptionFee(CQdpFtdcQryInvestorOptionFeeField *pQryInvestorOptionFee, int nRequestID);

参数:

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

投资者期权手续费率查询请求信息CQdpFtdcQryInvestorOptionFeeField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
UserIDChar(16)是登录账号
InvestorIDChar(19)否投资者编号
ExchangeIDChar(11)否交易所代码
InstrumentIDChar(31)否合约代码

ReqQryInvestorMargin方法​

投资者保证金率查询。

函数原形:

int ReqQryInvestorMargin(CQdpFtdcQryInvestorMarginField *pQryInvestorMargin, int nRequestID);

参数:

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

投资者保证金率查询请求信息CQdpFtdcQryInvestorMarginField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
UserIDChar(16)是登录账号
InvestorIDChar(19)否投资者编号
ExchangeIDChar(11)否交易所代码
InstrumentIDChar(31)否合约代码
HedgeFlagChar(1)否投机套保标志

ReqQryForQuote方法​

询价查询(暂未启用)。

函数原形:

int ReqQryForQuote(CQdpFtdcQryForQuoteField *pQryForQuote, int nRequestID);

参数:

pQryForQuote: 指向询价查询结构的地址。

询价查询请求信息CQdpFtdcQryForQuoteField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
InvestorIDChar(19)否投资者编号
InstrumentIDChar(31)否合约代码
ExchangeIDChar(11)否交易所代码

ReqForQuoteInsert方法​

询价录入请求。

函数原形:

int ReqForQuoteInsert(CQdpFtdcInputForQuoteField *pInputForQuote, int nRequestID);

参数:

pInputForQuote: 指向询价录入结构的地址。

询价录入请求信息CQdpFtdcInputForQuoteField说明

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

ReqQuoteInsert方法​

客户端发出报价录入请求。

函数原形:

int ReqQuoteInsert(CQdpFtdcInputQuoteField *pInputQuote, int nRequestID);

参数:

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否卖方本地报单编号

注意:

  1. 用户本地报单号UserOrderLocalID是一个整型,每一个Session需要保证递增。
  2. GIS报单,需要联系期货公司打开柜台的双边报价GIS开关

nRequestID: 用户报价录入请求的ID,该ID由用户指定,管理。

返回值:

0 表示成功。

888 表示投资者未登录;

999 表示本地报单编号小于等于QDP柜台最大本地报单编号;

-1 表示对话流水未创建;

-3 表示FTD协议请求发送失败;

-4 表示Session未连接。

ReqQuoteAction方法​

客户端发出报价操作请求,包括报价的撤销、报价的挂起(暂不支持)、报价的激活(暂不支持)、报价的修改(暂不支持)。

函数原形:

int ReqQuoteAction(CQdpFtdcQuoteActionField *pQuoteAction, int nRequestID);

参数:

pQuoteAction: 指向报价操作结构的地址。

用户报价操作请求信息CQdpFtdcQuoteActionField说明

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

nRequestID: 用户报价操作请求的ID,该ID 由用户指定,管理。

返回值:

0 表示成功。

-1 表示对话流水未创建;

-3 表示FTD协议请求发送失败;

-4 表示Session未连接。

ReqAuthenticate方法​

客户端发出登录认证请求(柜台开启认证后,该方法需要再登录前调用)。

函数原形:

int ReqAuthenticate(CQdpFtdcAuthenticateField *pAuthenticate, int nRequestID);

参数:

pAuthenticate: 指向认证系统信息结构的地址。

用户登录认证请求信息CQdpFtdcAuthenticateField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
UserIDChar(16)是登录账号
UserProductInfoChar(41)否用户端产品信息,建议客户填写API程序的名称如InfinyTraderV8
AppIDChar(33)是客户认证appid(客户需要从期货公司的QDP柜台获取)
AuthCodeChar(41)是接入认证id(客户需要从期货公司的QDP柜台获取)

nRequestID: 用户认证请求的ID,该ID 由用户指定,管理。

返回值:

0 表示成功。

-1 表示对话流水未创建;

-3 表示FTD协议请求发送失败;

-4 表示Session未连接。

ReqSubmitUserSystemInfo方法​

客户端发出采集信息请求。

函数原形:

int ReqSubmitUserSystemInfo(CQdpFtdcUserSystemInfoField *pUserSystemInfo, int nRequestID);

参数:

pUserSystemInfo 指向用户采集信息结构的地址。

用户信息采集请求信息CQdpFtdcUserSystemInfoField说明

字段名称字段类型是否必填字段说明
BrokerIDChar(11)是经纪公司编号
UserIDChar(16)是登录账号
ClientSystemInfoLenInt是信息长度
ClientSystemInfoChar(353)是信息内容
ClientPublicIPChar(21)是客户ip
ClientIPPortInt是客户端口
ClientLoginTimeChar(25)是登录时间
ClientAppIDChar(33)是客户认证appid

nRequestID: 用户采集信息请求的ID,该ID 由用户指定,管理。

返回值:

0 表示成功。

-1 表示对话流水未创建;

-3 表示FTD协议请求发送失败;

-4 表示Session未连接。

ReqSubPrdTradeFlow方法​

订阅品种交易流水请求(做市商客户可以使用该方法,防止流水过多的情况)。

函数原形:

int ReqSubPrdTradeFlow(CQdpFtdcSpecificInstrumentField *pSpecificInstrument, int nRequestID);

参数:

pSpecificInstrument: 指向订阅品种交易流水结构的地址。

订阅品种交易流水请求信息CQdpFtdcSpecificInstrumentField说明

字段名称字段类型是否必填字段说明
InstrumentIDChar(31)是合约代码

nRequestID: 用户订阅品种交易流水请求的ID,该ID 由用户指定,管理。

返回值:

0 表示成功。

-1 表示对话流水未创建;

-3 表示FTD协议请求发送失败;

-4 表示Session未连接。

ReqUnSubPrdTradeFlow方法​

退订订阅品种交易流水请求。

函数原形:

int ReqUnSubPrdTradeFlow(CQdpFtdcSpecificInstrumentField *pSpecificInstrument, int nRequestID);

参数:

pSpecificInstrument 指向退订订阅品种交易流水结构的地址。

退订订阅品种交易流水请求信息CQdpFtdcSpecificInstrumentField说明

字段名称字段类型是否必填字段说明
InstrumentIDChar(31)是合约代码

nRequestID: 用户退订品种交易流水请求的ID,该ID 由用户指定,管理。

返回值:

0 表示成功。

-1 表示对话流水未创建;

-3 表示FTD协议请求发送失败;

-4 表示Session未连接。

ReqReady方法​

准备就绪请求(通常需要在登录成功后对私有流和公有流分别请求,否则收不到对应OnRtn消息)。

函数原形:

int ReqReady(CQdpFtdcFlowStatusField *pFlowStatus, int nRequestID);

参数:

pFlowStatus: 指向流水状态结构的地址。

准备就绪请求信息CQdpFtdcFlowStatusField说明

字段名称字段类型是否必填字段说明
SequenceSeriesInt是序列系列号: QDP_TERT_PRIVATE 私有流 QDP_TERT_PUBLIC 公有流
bReadyInt是是否就绪

nRequestID: 用户退订品种交易流水请求的ID,该ID 由用户指定,管理。

返回值:

0 表示成功。

-1 表示对话流水未创建;

-3 表示FTD协议请求发送失败;

-4 表示Session未连接。