社区
C++ 语言
帖子详情
C++做程序化交易的API接口
qq_21950331
2016-04-27 04:02:39
上期所提供的4个文件thostftdcmdapi.h,thostftdctraderapi.h,thostftdcuserapidatatype.h,thostftdcuserapistruct.h要怎么用啊
...全文
880
3
打赏
收藏
C++做程序化交易的API接口
上期所提供的4个文件thostftdcmdapi.h,thostftdctraderapi.h,thostftdcuserapidatatype.h,thostftdcuserapistruct.h要怎么用啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
程序化
交易
系统 c语言,
C++
做
程序化
交易
的
API
接口
本文介绍了如何使用
C++
对接
程序化
交易
系统的
API
接口
,包括继承CThostFtdcTraderSpi类并重载其虚函数,如OnFrontConnected、OnRspUserLogin等,以实现
交易
和查询功能。此外,还提供了请求登录、查询结算信息、报单录入和操作等功能的实现方法。
进行股票量化
交易
接口
程序化
开发要注意的事项
股票量化
交易
接口
程序化
开发需要掌握
C++
编程,
API
开发属于系统级难度。开发注意事项包括:1)利用开放
API
及文档;2)提供备用
交易
终端;3)考虑专线接入或托管。示例代码展示了
交易
接口
的使用。不具备编程能力的投资者可通过第三方获取现成
接口
。
什么人会用股票
api
L2
接口
?
股票
API
L2
接口
主要被量化
交易
的投资者使用,以支持高频
交易
需求。随着计算机技术的进步,预计越来越多的投资者将采用该
接口
进行
程序化
交易
,提升
交易
效率。本文介绍了
C++
实现的股票
API
L2
接口
示例。
期货
程序化
交易
接口
CTP回测框架的选择
本文围绕期货
程序化
交易
接口
CTP回测框架展开,指出CTP开发中回测问题麻烦。介绍了现有量化回测软件和方法的不足,引出Virtual
Api
仿真
API
回测技术,它能克服现有不足,支持多语言、操作系统及量化
交易
框架,还给出了相关库文件和
C++
Demo等信息。
程序化
交易
入门指南:从零基础到编写第一个
交易
策略
程序化
交易
利用计算机程序自动执行
交易
,克服人性弱点,提高
交易
效率。本文从零基础出发,介绍如何选择编程语言,构建
交易
策略,并通过实例分析数据,发送订单,查询账户资产。
C++ 语言
65,212
社区成员
250,516
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章