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