跳到主要内容

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)登录账号
LogoutReasonIntSession退出原因

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未连接。