From 82aafdbfa40bfebcdfe8d91c1de88a85918de5c0 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 18 七月 2025 17:00:02 +0800
Subject: [PATCH] 测试

---
 cancel_strategy/s_l_h_cancel_strategy.py |   47 +++++++++++++++++++----------------------------
 1 files changed, 19 insertions(+), 28 deletions(-)

diff --git a/cancel_strategy/s_l_h_cancel_strategy.py b/cancel_strategy/s_l_h_cancel_strategy.py
index 93ff9b2..3a5d415 100644
--- a/cancel_strategy/s_l_h_cancel_strategy.py
+++ b/cancel_strategy/s_l_h_cancel_strategy.py
@@ -2098,35 +2098,26 @@
 
             before_watch_indexed_info, before_canceled_watch_indexes_info = rate_info[2][0], rate_info[2][1]
             canceled_indexes = set([x[0] for x in before_canceled_watch_indexes_info])
-            # [绱鎵嬫暟,绱鎾ゅ崟鎵嬫暟]
-            ts = [50, 200, 300, 10000]
-            tss = []
-            for i in range(len(ts) - 1):
-                start_money, end_money = ts[i] * 100, ts[i + 1] * 100
-                tss.append((start_money, end_money))
-
-            rate_info_dict = {}
-            for t in tss:
-                rate_info_dict[t[0]] = [0,0]
-
+            # 缁熻澶у崟鎾ゅ崟姣斾緥
+            BIG_ORDER_NUM_THRESHOLD = l2_data_util.get_big_money_val(
+                gpcode_manager.get_limit_up_price_as_num(code), tool.is_ge_code(code))
+            # 鎾ゅ崟鐨勫ぇ鍗曚俊鎭細[锛堝ぇ鍗曟�绘墜鏁�, 澶у崟鎬荤瑪鏁帮級, 锛堝ぇ鍗曟挙鍗曟墜鏁�, 澶у崟鎾ゅ崟绗旀暟锛�, ]
+            canceled_info_of_big_orders = [[0,0],[0,0]]
             for x in before_watch_indexed_info:
-                money = limit_up_price * x[1]
-                for t in tss:
-                    if t[0] <= money < t[1]:
-                        rate_info_dict[t[0]][0] += x[1]
-                        if x[0] in canceled_indexes:
-                            rate_info_dict[t[0]][1] += x[1]
-                        break
-            watch_index_info = [(k, v) for k, v in rate_info_dict.items()]
-            watch_index_info.sort(key=lambda x: x[0])
-            watch_index_info = [x[1] for x in watch_index_info]
-            watch_index_info_details = []
-            for x in watch_index_info:
-                if x[0] > 0:
-                    watch_index_info_details.append(f"{int(round(x[1] * 100 / x[0]))}")
-                else:
-                    watch_index_info_details.append(f"--")
-            fresults.append(watch_index_info_details)
+                money = limit_up_price * x[1] * 100
+                if  money < BIG_ORDER_NUM_THRESHOLD:
+                    continue
+                canceled_info_of_big_orders[0][0] += x[1]
+                canceled_info_of_big_orders[0][1] += 1
+                if x[0] in canceled_indexes:
+                    canceled_info_of_big_orders[1][0] += x[1]
+                    canceled_info_of_big_orders[1][1] += 1
+            #(澶у崟鎾ゅ崟姣斾緥锛屽ぇ鍗曟�婚噾棰濓紝澶у崟鎬荤瑪鏁帮紝澶у崟鎾ゅ崟閲戦锛屽ぇ鍗曟挙鍗曠瑪鏁�)
+            if canceled_info_of_big_orders[0][0] > 0:
+                big_order_canceled_rate =  int(round(canceled_info_of_big_orders[1][0]*100/canceled_info_of_big_orders[0][0]))
+            else:
+                big_order_canceled_rate = -1
+            fresults.append((big_order_canceled_rate,int(canceled_info_of_big_orders[0][0]*limit_up_price*100),canceled_info_of_big_orders[0][1],int(canceled_info_of_big_orders[1][0]*limit_up_price*100), canceled_info_of_big_orders[1][1]))
         return fresults
 
 

--
Gitblit v1.8.0