historydata.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
separateanalysis.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
separateanalysis.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
historydata.cpp
@@ -537,9 +537,9 @@ } qDebug()<<log_days.size()<<log_days.back(); QString time_trade = "2025-06-01"; QString time_trade = "2019-01-01"; if(log_days.size() > 1){ time_trade = log_days.at(log_days.size() - 2); // 末尾倒数第二个更新 //time_trade = log_days.at(log_days.size() - 2); // 末尾倒数第二个更新 //time_trade = log_days.first(); // 从第一个开始更新 } qDebug()<<"time_trade:"<<time_trade; separateanalysis.cpp
@@ -33,6 +33,40 @@ } void SeparateAnalysis::calcWindowRank() { // 滑动窗口排名,6个要2+的前100 QVector<int> ranks; for(int i=0;i<m_model->rowCount();++i){ ranks.append(m_model->item(i,9)->text().toInt()); if(i >= 6){ // 先统计排名计数 int cntBig=0, cntSmall=0; for(int j=0;j<ranks.size();++j){ if(ranks.at(j) > 100){ cntBig++; }else{ cntSmall++; } } // 统计对比 if(cntSmall == 2 && ranks.back() <= 100){ // 将当前6个元素定为符合的窗口,背景色设置为紫色 for(int k=0;k<6;++k){ m_model->item(i-k,9)->setData(QColor("red"),Qt::BackgroundColorRole); } } // 清除窗口第一个元素 ranks.pop_front(); } } } void SeparateAnalysis::initMySQL() { //添加一个数据库 @@ -131,6 +165,8 @@ qint64 need = QDateTime::currentMSecsSinceEpoch()-tt; ui->label_status->setText(QString("耗时:%1 毫秒,查询完成.条数: %2").arg(QString::number(need)).arg(QString::number(rows))); ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); // 滑动窗口统计 calcWindowRank(); } separateanalysis.h
@@ -18,6 +18,7 @@ ~SeparateAnalysis(); void calcRankChange(); // 统计排名变化情况,主要统计当天比前一天的变化情况,和1的差值,达到0.90+ 说明可以买入观察了 void calcWindowRank(); // 使用滑动窗口来统计排名变化情况,目标要6个有2个+前100名 private slots: void on_pushButton_search_clicked(); void setNamesToCombo(QMap<QString,QString> &names);