CQdFtdcMduserApi接口
CQdFtdcMduserApi接口提供给客户登陆、登出行情查询服务器,进行行情查询等功能。
CreateFtdcMduserApi方法
产生一个CQdFtdcMduserApi的一个实例,不能通过new来产生。
函数原型:
static CQdFtdcMduserApi *CreateFtdcMduserApi(const char *pszFlowPath = "");
参数:
pszFlowPath常量字符指针,用于指定一个文件目录来存贮行情服务发布消息的状态,默认值代表当前目录
返回值:
返回一个指向CQdFtdcMduserApi实例的指针
GetVersion方法
获取系统版本号。
函数原型:
static const char *GetVersion(int &nMajorVersion, int &nMinorVersion);
参数:
nMajorVersion 主版本号
nMinorVersion 子版本号
返回值:
系统标识字符串返回值
Release 方法
释放一个CQdFtdcMduserApi实例。
函数原型:
void Release();
SetMultiCast方法
多播设置开关。
函数原型:
void SetMultiCast(bool bMultiCast=false);
参数:
bMultiCast 开关控制
RegTopicMultiAddr方法
注册多播地址。
函数原型:
void RegTopicMultiAddr(char *pMultiAddr);
参数:
pMultiAddr 组播地址
多播网络地址的格式为:“topic,multi://本地ip@组播地址:组播端口#组播发送源ip”
Init 方法
使客户端开始与行情发布服务器建立连接,连接成功后可以进行登陆。
函数原型:
void Init();
Join 方法
客户端等待一个接口实例线程的结束。
函数原型:
void Join();
GetTradingDay方法
获得当前交易日。只有当与服务器连接建立后才会取到正确的值。
函数原型:
const char *GetTradingDay();
返回值:
返回一个指向日期信息字符串的常量指针
RegisterFront 方法
注册前置机网络地址。
函数原型:
void RegisterFront(char *pszFrontAddress);
参数:
pszFrontAddress 前置机网络地址
网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:17001”
tcp代表传输协议,“127.0.0.1”代表服务器地址。”17001”代表服务器端口号
RegisterNameServer 方法
注册名字服务器网络地址。
函数原型:
void RegisterNameServer(char *pszNsAddress);
参数:
pszNsAddress 名字服务器网络地址
网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:17001”
tcp代表传输协议,“127.0.0.1”代表服务器地址。”17001”代表服务器端口号
RegisterSpi 方法
注册一个派生自CQdFtdcMduserSpi接口类的实例,该实例将完成事件处理。
函数原型:
void RegisterSpi(CQdFtdcMduserSpi *pSpi) ;
参数:
pSpi实现了CQdFtdcMduserSpi接口的实例指针
SubscribeMarketDataTopic方法
客户端订阅自己需要的行情。订阅后行情服务器会自动发出行情通知给客户端(目前该接口调用后,仍需要调用SubMarketData,否则不会收到行情的推送)。
函数原型:
void SubscribeMarketDataTopic (int nTopicID, TE_RESUME_TYPE nResumeType);
参数:
nTopicID:代表深度行情的主题,由中金所公布,量投采用其主题。
nResumeType:市场行情重传方式
QD_TERT_RESTART 从本交易日开始重传(目前不支持)
QD_TERT_RESUME 从上次收到的续传(目前不支持)
QD_TERT_QUICK 先传送当前行情快照,再传送登录后市场行情的内容
SubMarketData方法
订阅合约行情。
函数原型:
int SubMarketData(char *ppInstrumentID[], int nCount);
参数:
ppInstrumentID 合约ID
nCount 要订阅行情的合约个数
返回值:
0代表成功,其它值代表失败
UnSubMarketData方法
退订合约行情。
函数原型:
int UnSubMarketData(char *ppInstrumentID[], int nCount);
参数:
ppInstrumentID 合约ID
nCount 要退订行情的合约个数
返回值:
0代表成功,其它值代表失败
SetHeartbeatTimeout方法
设置心跳超时时间。
函数原型:
void SetHeartbeatTimeout(unsigned int timeout);
参数:
timeout心跳超时时间(秒)
ReqUserLogin 方法
用户发出登陆请求。
函数原型:
int ReqUserLogin(CQdFtdcReqUserLoginField *pReqUserLoginField, int nRequestID);
参数:
pReqUserLoginField 指向用户登录请求结构的地址
用户登录请求CQdFtdcReqUserLoginField结构
字段名称 | 字 段类型 | 是否必填 | 字段说明 |
---|---|---|---|
TradingDay | Char(9) | 否 | 交易日 |
BrokerID | Char(11) | 是 | 经纪公司编号 |
UserID | Char(19) | 是 | 交易用户代码 |
Password | Char(41) | 是 | 密码 |
UserProductInfo | Char(51) | 是 | 用户端产品信息 |
InterfaceProductInfo | Char(51) | 否 | 接口端产品信息 |
ProtocolInfo | Char(41) | 否 | 协议信息 |
IPAddress | Char(21) | 否 | IP地址 |
MacAddress | Char(21) | 否 | Mac地址 |
DataCenterID | Int | 否 | 数据中心代码 |
OneTimePassword | Char(41) | 否 | 动态密码 |
ClientIPAddress | Char(21) | 否 | 终端IP地址 |
AuthCode | Char(129) | 否 | 授权编码 |
nRequestID 用户登录请求的ID,该ID由用户指定,管理
返回值:
0代表成功,其它值代表失败
ReqUserLogout 方法
用户发出登出请求。
函数原型:
int ReqUserLogout(CQdFtdcReqUserLogoutField *pReqUserLogout, int nRequestID);
参数:
pReqUserLogout 指向用户登出请求结构的地址
用户登出信息CQdFtdcReqUserLogoutField结构
字段名称 | 字段类型 | 是否必填 | 字段说明 |
---|---|---|---|
BrokerID | Char(11) | 是 |