CTP登录/查询,主要涉及到登录、查询市场、分类、合约、持仓、委托、成交,其他等。
这里需要注意:
RequestID的唯一和各种IDRef的唯一性
Req请求的返回值:
//-1,表示网络连接失败;
//-2,表示未处理请求超过许可数;
//-3,表示每秒发送请求数超过许可数。
一、登录
在登录之前你可能需要先调用ReqAuthenticate
客户端认证是为了保证证券(期货)公司的投资者只能使用该公司认可的客户端产品接入 CTP 后台进行交易。投资者在使用第三方提供或是自行开发的客户端产品接入指定的证券(期货)公司 CTP 交易系统之前,必须向该公司提交用户端产品信息( UserProductInfo )并 获得 认证码 ( AuthCode );之 后在发起 客户端 认证请 求(ReqAuthenticate)填写正确的用户端产品信息及对应的认证码即可完成客户端认证。
//注意:UserProductInfo和AuthCode需要证券期货公司提供
CThostFtdcReqAuthenticateField req = {0};
strcpy(req.BrokerID,m_BrokerID);
strcpy(req.UserID, m_UserID);
strcpy(req.UserProductInfo,m_ProductInfo);
strcpy(req.AuthCode,m_AuthCode);
ReqAuthenticate(&req,nRequestID);
登录:
CThostFtdcReqUserLoginField req = {0};
memcpy(req.BrokerID, m_BrokerID, sizeof(m_BrokerID));
memcpy(req.UserID, m_UserID, sizeof(m_UserID));
memcpy(req.Password, m_Password, sizeof(m_Password));
memcpy(req.UserProductInfo, m_AuthInfo.UserProductInfo, sizeof(m_AuthInfo.UserProductInfo));
//InterfaceProductInfo;
//Pr