From e873754da5553e9ed7b76caccf3211483fe608f7 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 10 一月 2025 17:03:56 +0800
Subject: [PATCH] 参考高量修改

---
 utils/init_data_util.py |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/utils/init_data_util.py b/utils/init_data_util.py
index e400369..be4543b 100644
--- a/utils/init_data_util.py
+++ b/utils/init_data_util.py
@@ -62,6 +62,49 @@
         "%Y-%m-%d"), refer_index
 
 
+def parse_max_volume_new(code, datas):
+    """
+    璁$畻杩滈珮閲�
+    @param code:
+    @param datas:
+    @return: [楂橀噺,楂橀噺,楂橀噺鏃ユ湡,楂橀噺绱㈠紩]
+    """
+
+    def __is_limited_up(item):
+        limit_up_price = float(gpcode_manager.get_limit_up_price_by_preprice(code, item["pre_close"]))
+        if abs(limit_up_price - item["high"]) < 0.001:
+            return True
+        return False
+
+    # 鍙栨渶杩�60涓氦鏄撴棩
+    datas = datas[:60]
+
+    # 鍒ゆ柇鏄惁娑ㄥ仠杩�
+    target_index = None
+    for i in range(len(datas)):
+        data = datas[i]
+        if __is_limited_up(data):
+            next_data = None
+            if i > 0:
+                next_data = datas[i - 1]
+            # max锛堟定鍋滆繖涓�澶�, 鍚庝竴澶╋級鐨勯噺
+            if next_data and next_data['volume'] > data['volume']:
+                target_index = i - 1
+            else:
+                target_index = i
+            break
+    if target_index is None:
+        # 60澶╂湭娑ㄥ仠,鑾峰彇60澶╁唴鐨勬渶楂橀噺
+        for i in range(len(datas)):
+            data = datas[i]
+            if target_index is None:
+                target_index = i
+            if data['volume'] > datas[target_index]['volume']:
+                target_index = i
+    return datas[target_index]['volume'], datas[target_index]['volume'], datas[target_index]['bob'].strftime(
+        "%Y-%m-%d"), target_index
+
+
 def parse_max_volume_in_days(datas, max_day):
     """
     瑙f瀽鏈�杩戝嚑澶╂渶澶х殑閲�

--
Gitblit v1.8.0