C++开发套件介绍
面向人群 | 有C++基础,或者Qt基础; 以研究代码和股票为乐趣的; |
主要功能 | 沪深两市个股与指数历史数据下载更新; 炒股笔记软件:记录笔记,查看K线; 自己实现C++投资算法验证自己的投资思路; |
特点 | C++ Qt 源码 ; 完整的文档配套; 简洁的测试用例; 快速开发新功能的能力; |
主要功能
炒股笔记
基本的查看历史K线功能(注意K线可以放大缩小左右拖动平移,这个是特色功能)
历史数据
保存个股历史数据的逻辑
第一次通过股票代码访问一个股票,如果这个股票之前没有在本地保存,则先从网络下载数据到本地保存再使用;
获取个股历史数据(网易财经)
以上证指数(000001)为例:
1 使用网易163的数据源;
2 其中上海交易所的股票代码前面加0,深圳交易所代码前面加1.
3 一次性请求所有数据(历史开始至最新)
返回结果:
1 浏览器访问上述网址会得到csv文件;
2 C++访问会在内存拿到所有字符串格式的数据。
获取海外连接指数历史数据(雪球)
https://stock.xueqiu.com/v5/stock/chart/kline.json?symbol=SH513330&begin=1654472133696&period=day&type=before&count=-284&indicator=kline,pe,pb,ps,pcf,market_capital,agt,ggt,balance
工程特点
1 exe+多dll
2 VS2022+qt_vs_tools
3 模块清晰;接口设计合理;
主要接口
历史数据接口
加载股票代码名称键值对
StockMgr::Instance().LoadAllStockNameFromBinaryFile();
是否需要更新最新数据
如果有最新数据就下载最新数据,否则就直接用文件中之前已经下载好的历史数据
StockMgr::Instance().SetNeedUpdateStockFrom163(true);
打印个股数据
打印一个个股(或者指数)的前五条记录和后五条记录:恒生互联网ETF
如果这个个股没有下载过,则先从网络上爬取,并同时第一次保存到本地文件夹
PrintOneStock("sh513330");
Demo
更新记录
日期 | 内容 |
2022-02-05 | 1 网易获取股票代码名称列表更新,之前的接口直接访问已经不可以使用,需要增加http head add referer; 2 海外指数比如sh513330需要从雪球获取,但是需要使用cookie,暂时还没实现; |