创建TraderApi实例
1 2 |
///@param pszFlowPath 存贮订阅信息文件的目录,默认为当前目录 static CThostFtdcTraderApi *CreateFtdcTraderApi(const char *pszFlowPath = ""); |
注册回调接口
1 2 |
///@param pSpi 派生自回调接口类的实例 void RegisterSpi(CThostFtdcTraderSpi *pSpi) = 0; |
订阅私有流
1 2 3 4 5 6 |
///@param nResumeType 私有流重传方式 /// THOST_TERT_RESTART:从本交易日开始重传 /// THOST_TERT_RESUME:从上次收到的续传 /// THOST_TERT_QUICK:只传送登录后私有流的内容 ///@remark 该方法要在Init方法前调用。若不调用则不会收到私有流的数据。 void SubscribePrivateTopic(THOST_TE_RESUME_TYPE nResumeType) = 0; |
订阅公共流
1 2 3 4 5 6 |
///@param nResumeType 公共流重传方式 /// THOST_TERT_RESTART:从本交易日开始重传 /// THOST_TERT_RESUME:从上次收到的续传 /// THOST_TERT_QUICK:只传送登录后公共流的内容 ///@remark 该方法要在Init方法前调用。若不调用则不会收到公共流的数据。 void SubscribePublicTopic(THOST_TE_RESUME_TYPE nResumeType) = 0; |
注册前置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
///@param pszFrontAddress:前置机网络地址 ///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:17001” ///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”17001”代表服务器端口号。 void RegisterFront(char *pszFrontAddress) = 0; ///注册名字服务器网络地址 ///@param pszNsAddress:名字服务器网络地址。 ///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:12001”。 ///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”12001”代表服务器端口号。 ///@remark RegisterNameServer优先于RegisterFront void RegisterNameServer(char *pszNsAddress) = 0; ///注册名字服务器用户信息 ///@param pFensUserInfo:用户信息。 void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0; |
初始化运行环境
1 2 |
///@remark 只有调用后,接口才开始工作 void Init() = 0; |
连接建立响应
1 2 |
///当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。 void OnFrontConnected() {}; |
连接异常响应
1 2 3 4 5 6 7 8 9 10 11 12 |
///当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 ///@param nReason 错误原因 /// 0x1001 网络读失败 4097 /// 0x1002 网络写失败 4098 /// 0x2001 接收心跳超时 8193 /// 0x2002 发送心跳失败 8194 /// 0x2003 收到错误报文 8195 void OnFrontDisconnected(int nReason) {}; ///当长时间未收到报文时,该方法被调用。 ///@param nTimeLapse 距离上次接收报文的时间 virtual void OnHeartBeatWarning(int nTimeLapse) {}; |
认证客户端
请求
1 |
int ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) = 0; |
响应
1 |
void OnRspAuthenticate(CThostFtdcRspAuthenticateField* pRspAuthenticateField, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; |
/չ
CThostFtdcReqAuthenticateField
查询认证模式
请求
1 |
int ReqUserAuthMethod(CThostFtdcReqUserAuthMethodField *pReqUserAuthMethod, int nRequestID) = 0; |
响应
1 |
void OnRspUserAuthMethod(CThostFtdcRspUserAuthMethodField* pRspUserAuthMethod, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; |
/չ
CThostFtdcReqUserAuthMethodField
/չ
CThostFtdcRspUserAuthMethodField
注册用户终端信息
1 2 3 |
///用于中继服务器多连接模式 ///需要在终端认证成功后,用户登录前调用该接口 int RegisterUserSystemInfo(CThostFtdcUserSystemInfoField *pUserSystemInfo) = 0; |
用户登录
请求
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
///用户登录请求 int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0; ///用户发出获取图形验证码请求 int ReqGenUserCaptcha(CThostFtdcReqGenUserCaptchaField *pReqGenUserCaptcha, int nRequestID) = 0; ///用户发出带有图片验证码的登陆请求 int ReqUserLoginWithCaptcha(CThostFtdcReqUserLoginWithCaptchaField *pReqUserLoginWithCaptcha, int nRequestID) = 0; ///用户发出获取短信验证码请求 int ReqGenUserText(CThostFtdcReqGenUserTextField *pReqGenUserText, int nRequestID) = 0; ///用户发出带有短信验证码的登陆请求 int ReqUserLoginWithText(CThostFtdcReqUserLoginWithTextField *pReqUserLoginWithText, int nRequestID) = 0; ///用户发出带有动态口令的登陆请求 int ReqUserLoginWithOTP(CThostFtdcReqUserLoginWithOTPField *pReqUserLoginWithOTP, int nRequestID) = 0; |
响应
1 2 3 4 5 6 7 |
///登录请求响应 void OnRspUserLogin(CThostFtdcRspUserLoginField* pRspUserLogin, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; ///获取图形验证码请求的回复 virtual void OnRspGenUserCaptcha(CThostFtdcRspGenUserCaptchaField* pRspGenUserCaptcha, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; ///获取短信验证码请求的回复 virtual void OnRspGenUserText(CThostFtdcRspGenUserTextField* pRspGenUserText, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; |
/չ
CThostFtdcReqUserLoginField
/չ
CThostFtdcRspUserLoginField
用户登出
请求
1 |
int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0; |
响应
1 |
void OnRspUserLogout(CThostFtdcUserLogoutField* pUserLogout, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; |
/չ
CThostFtdcUserLogoutField
查询投资者
请求
1 |
int ReqQryInvestor(CThostFtdcQryInvestorField *pQryInvestor, int nRequestID) = 0; |
响应
1 |
void OnRspQryInvestor(CThostFtdcInvestorField* pInvestor, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; |
/չ
CThostFtdcQryInvestorField
更新用户口令
请求
1 |
int ReqUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID) = 0; |
响应
1 |
void OnRspUserPasswordUpdate(CThostFtdcUserPasswordUpdateField* pUserPasswordUpdate, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; |
/չ
CThostFtdcUserPasswordUpdateField
更新资金账户口令
请求
1 |
int ReqTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, int nRequestID) = 0; |
响应
1 |
void OnRspTradingAccountPasswordUpdate(CThostFtdcTradingAccountPasswordUpdateField* pTradingAccountPasswordUpdate, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; |
/չ
CThostFtdcTradingAccountPasswordUpdateField
查询监控中心用户令牌
请求
1 |
int ReqQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, int nRequestID) = 0; |
响应
1 2 3 |
void OnRspQueryCFMMCTradingAccountToken(CThostFtdcQueryCFMMCTradingAccountTokenField* pQueryCFMMCTradingAccountToken, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; ///保证金监控中心用户令牌 void OnRtnCFMMCTradingAccountToken(CThostFtdcCFMMCTradingAccountTokenField* pCFMMCTradingAccountToken) {}; |
/չ
CThostFtdcQueryCFMMCTradingAccountTokenField
确认结算单
请求
1 |
int ReqSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, int nRequestID) = 0; |
响应
1 |
void OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField* pSettlementInfoConfirm, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; |
/չ
CThostFtdcSettlementInfoConfirmField
查询结算单确认信息
请求
1 |
int ReqQrySettlementInfoConfirm(CThostFtdcQrySettlementInfoConfirmField *pQrySettlementInfoConfirm, int nRequestID) = 0; |
响应
1 |
void OnRspQrySettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField* pSettlementInfoConfirm, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; |
/չ
CThostFtdcQrySettlementInfoConfirmField
查询结算单信息
请求
1 |
int ReqQrySettlementInfo(CThostFtdcQrySettlementInfoField *pQrySettlementInfo, int nRequestID) = 0; |
响应
1 |
void OnRspQrySettlementInfo(CThostFtdcSettlementInfoField* pSettlementInfo, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; |
/չ
CThostFtdcQrySettlementInfoField
线程等待
1 2 |
///等待接口线程结束运行 int Join() = 0; |
合约交易状态通知
1 |
void OnRtnInstrumentStatus(CThostFtdcInstrumentStatusField* pInstrumentStatus) {}; |
获取API的版本信息
1 2 |
///@retrun 获取到的版本号 static const char *GetApiVersion(); |
获取当前交易日
1 2 3 |
///@retrun 获取到的交易日 ///@remark 只有登录成功后,才能得到正确的交易日 virtual const char *GetTradingDay() = 0; |
上报用户终端信息
1 2 3 |
///用于中继服务器操作员登录模式 ///操作员登录后,可以多次调用该接口上报客户信息 int SubmitUserSystemInfo(CThostFtdcUserSystemInfoField *pUserSystemInfo) = 0; |
错误应答
响应
1 |
void OnRspError(CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast) {}; |
/չ
CThostFtdcRspInfoField
删除接口实例
1 2 3 |
///删除接口对象本身 ///@remark 不再使用本接口对象时,调用该函数删除接口对象 void Release() = 0; |
评论前必须登录!
注册