#ifndef GETSTOCKLIST_H #define GETSTOCKLIST_H #include #include #include #include #include #include #include #include // 折线类 #include // 曲线类 #include #include // 用于模糊匹配 #include "customitem.h" #include "customsortproxymodel.h" QT_CHARTS_USE_NAMESPACE // 命名空间得使用起来,要不然类会拿不到 /* * 关于SSL的处理,由于要请求 https的链接,需要将编译器目录下的两个dll动态库拷贝到对应编译器的bin目录下 * 将libeay32.dll 和 ssleay32.dll 两个文件复制到对应的区域 * 例如从编译器的opt\bin原始目录:...\Qt5.9.4\Tools\mingw530_32\opt\bin 找个这2个dll * 拷贝到编译器的bin目录下: ...\Qt5.9.4\Tools\mingw530_32\bin */ namespace Ui { class GetStockList; } class GetStockList : public QMainWindow { Q_OBJECT public: explicit GetStockList(QWidget *parent = 0); ~GetStockList(); void getStockAllCode(QByteArray &buffer); // 获取所有沪深股票的信息 void getStockOne(QByteArray &buffer); // 获取单只股票的处理 void getIndustryInfo(QByteArray &buffer); // 获取行业信息 void getStockByIndustry(QByteArray &buffer,QString industryCode); // 通过行业获取股票 signals: void sendChartData(QLineSeries*); // 折线 void sendChartData(QSplineSeries*); // 曲线 void sendInfoMess(QString); // 发送消息提示 void sendClosePrice(QString,QString); // 发送最新的价格:名字、价格 private slots: void on_pushButton_get_clicked(); void showAplyData(QNetworkReply *reply); // 用来响应请求的回传数据的槽函数 void on_pushButton_get_2_clicked(); // 获取沪深股市数据的按钮槽函数 void showMenu(); void policySlot(); void priceSlot(); void maPolicySlot(); // MA策略槽 void maTest100Slot(); // MA策略回测前100名槽 void multiResonateTest100Slot(); // 多策略共振回测前100名槽 void macdPolicySlot(); // MACD策略槽 void buttomToUpPolicySlot(); // 底部翻转策略--主要用于月线处理 void multiResonatePolicySlot(); // 多策略共振 void oneUpCrossFourSlot(); // 一阳穿四线,千军万马来相见 void oneUpCrossFourTest100Slot(); // 一阳穿四线,千军万马来相见 回测 void getCodeSlot(); // 获取股票代号的定时器的槽 void pollMultiSlot(); // 轮询多策略共振定时器 void on_pushButton_industry_clicked(); void getLastClosePrice(QString name); // 通过名字获取股票价格槽 void on_pushButton_filterCap_clicked(); void on_pushButton_search_clicked(); void on_lineEdit_search_returnPressed(); private: Ui::GetStockList *ui; // 这2个用于爬取数据的 QNetworkRequest m_request; // 用于管理请求头的 QString m_cookie; // 缓存 QNetworkAccessManager m_manager; // 用于管理http请求及响应的 // 下面这几个用于显式爬到的股票数据 QStandardItemModel *m_model; // 标准项模型,用来存储数据的,将模型和视图进行了分离 CustomSortProxyModel *m_customModel; // 用于排序的自定义模型 QMenu *m_menu; // 菜单指针,用来处理右击菜单的 int m_numsCnt; // 单个股票的数据行数 int m_menuIndex; // 针对单个股票需要判断是哪个操作,用来记录下标的 QTimer *m_getCodeTimer; // 获取股票代号的定时器 QMap m_codeNames; // 股票代号和名字 QMap m_industryInfo; // 行业代码和行业名字 QMap> m_codeAndIndustry; // 股票代号及对应的行业代码 QString m_curIndustry; // 当前行业 QString m_dateType; // 日期类型:day week month year int m_maTestNum; // ma策略回测数量 QTimer *m_pollMultiTimer; // 轮询多策略定时器 QCompleter *m_completer; // 支持模糊匹配 }; #endif // GETSTOCKLIST_H