C++做程序化交易的API接口

qq_21950331 2016-04-27 04:02:39
上期所提供的4个文件thostftdcmdapi.h,thostftdctraderapi.h,thostftdcuserapidatatype.h,thostftdcuserapistruct.h要怎么用啊
...全文
811 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lead_a_dance 2016-07-15
  • 打赏
  • 举报
回复
直接用joinquant不行吗
qq_21950331 2016-04-27
  • 打赏
  • 举报
回复
谢谢,很完善
小灸舞 2016-04-27
  • 打赏
  • 举报
回复
一般是通过继承CThostFtdcTraderSpi类,然后重载他提供的虚函数来实现。 这是头文件,然后在对应的CPP文件里面实现 #ifndef TRADERSPI_H #define TRADERSPI_H #include "ThostFtdcTraderApi.h" class CtpTraderSpi : public CThostFtdcTraderSpi { public: CtpTraderSpi(CThostFtdcTraderApi* api); ///当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。 virtual void OnFrontConnected(); ///客户端认证响应 virtual void OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); ///登录请求响应 virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); //virtual void OnRspQryInvestorPositionDetail(CThostFtdcInvestorPositionDetailField *pInvestorPositionDetail, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); ///登出请求响应 //virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); ///请求查询行情响应 //virtual void OnRspQryDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); ///请求查询投资者结算结果响应 virtual void OnRspQrySettlementInfo(CThostFtdcSettlementInfoField *pSettlementInfo, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); ///投资者结算结果确认响应 virtual void OnRspSettlementInfoConfirm(CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); ///请求查询合约响应 //virtual void OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); ///请求查询资金账户响应 virtual void OnRspQryTradingAccount(CThostFtdcTradingAccountField *pTradingAccount, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); ///请求查询投资者持仓响应 virtual void OnRspQryInvestorPosition(CThostFtdcInvestorPositionField *pInvestorPosition, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); ///报单录入请求响应 //virtual void OnRspOrderInsert(CThostFtdcInputOrderField *pInputOrder, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); ///报单操作请求响应 virtual void OnRspOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); ///错误应答 //virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast); ///当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 //virtual void OnFrontDisconnected(int nReason); ///心跳超时警告。当长时间未收到报文时,该方法被调用。 virtual void OnHeartBeatWarning(int nTimeLapse){} ///报单通知 virtual void OnRtnOrder(CThostFtdcOrderField *pOrder); ///成交通知 virtual void OnRtnTrade(CThostFtdcTradeField *pTrade); public: ///客户端认证请求 //virtual int ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) = 0; ///用户登录请求 void ReqUserLogin(TThostFtdcBrokerIDType appId, TThostFtdcUserIDType userId, TThostFtdcPasswordType passwd); //int ReqQryInvestorPositionDetail(CThostFtdcQryInvestorPositionDetailField *pQryInvestorPositionDetail, int nRequestID); ///请求查询投资者结算结果 void ReqQrySettlementInfo(); ///投资者结算结果确认 void ReqSettlementInfoConfirm(); ///请求查询合约 void ReqQryInstrument(QString &instrument_id); ///请求查询资金账户 void ReqQryTradingAccount(); ///请求查询投资者持仓 void ReqQryInvestorPosition(TThostFtdcInstrumentIDType instId, int account_index); ///报单录入请求 void ReqOrderInsert(TThostFtdcInstrumentIDType instId, TThostFtdcDirectionType dir, TThostFtdcCombOffsetFlagType kpp, TThostFtdcPriceType price, TThostFtdcVolumeType vol); void ReqOrderInsert(Packet *packet); //void ReqOrderInsert(VWAPPacket *vwap_packet); ///报单操作请求 //void ReqOrderAction(TThostFtdcSequenceNoType orderSeq); //int ReqOrderAction(CThostFtdcInputOrderActionField *pInputOrderAction); void ReqOrderAction(int account_index, int order_ref, QString instrument_id); void ReqOrderAction(int account_index, int order_ref, QString instrument_id, int front_id, int session_id); ///请求查询行情 //virtual int ReqQryDepthMarketData(CThostFtdcQryDepthMarketDataField *pQryDepthMarketData, int nRequestID); // 是否收到成功的响应 bool IsErrorRspInfo(CThostFtdcRspInfoField *pRspInfo); private: //CThostFtdcTraderApi* pUserApi; public: CThostFtdcTraderApi *pTraderApi; }; #endif // TRADERSPI_H

64,680

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧