From 7a29ce102ca45e5b7888e898073d7c1342a7d9e3 Mon Sep 17 00:00:00 2001 From: wumu <mayi@mayi.com> Date: 星期五, 08 八月 2025 23:29:22 +0800 Subject: [PATCH] 滑动窗口 排名 --- separateanalysis.cpp | 36 ++++++++++++++++++++++++++++++++++++ separateanalysis.h | 1 + historydata.cpp | 4 ++-- 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/historydata.cpp b/historydata.cpp index 719f8aa..4049022 100644 --- a/historydata.cpp +++ b/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; diff --git a/separateanalysis.cpp b/separateanalysis.cpp index c1f749a..24aeda1 100644 --- a/separateanalysis.cpp +++ b/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(); } diff --git a/separateanalysis.h b/separateanalysis.h index 0b4e324..7c3ba3b 100644 --- a/separateanalysis.h +++ b/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); -- Gitblit v1.8.0