From 1176a493039ded49d888b451793bc272e18a9b5a Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期二, 02 四月 2024 14:16:05 +0800
Subject: [PATCH] 激进买

---
 l2/l2_transaction_data_manager.py |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/l2/l2_transaction_data_manager.py b/l2/l2_transaction_data_manager.py
index 9efb94d..147463e 100644
--- a/l2/l2_transaction_data_manager.py
+++ b/l2/l2_transaction_data_manager.py
@@ -101,6 +101,8 @@
 
     # 鏈�杩戠殑鍗栧崟, 鏍煎紡{code:[鍗栧崟鍙�,鎬绘墜鏁�,浠锋牸,锛�'寮�濮嬫椂闂�',涔板崟鍙凤級,锛�'缁撴潫鏃堕棿',涔板崟鍙凤級]}
     __latest_sell_order_dict = {}
+    # 鏈�杩戞墍鏈夌殑鍗栧崟
+    __latest_all_sell_orders_dict = {}
 
     # 杩斿洖鏈�杩�1s鐨勫ぇ鍗曞崠锛�(鎬诲崠閲戦,[(鍗栧崟鍙�,鎬绘墜鏁�,浠锋牸,锛�'寮�濮嬫椂闂�',涔板崟鍙凤級,锛�'缁撴潫鏃堕棿',涔板崟鍙凤級),...])
     @classmethod
@@ -125,6 +127,9 @@
         if code not in cls.__big_sell_order_info_list_dict:
             cls.__big_sell_order_info_list_dict[code] = []
 
+        if code not in cls.__latest_all_sell_orders_dict:
+            cls.__latest_all_sell_orders_dict[code] = []
+
         sell_no_map = local_today_sellno_map.get(code)
         total_datas = local_today_datas.get(code)
         if not sell_no_map:
@@ -140,17 +145,23 @@
                     cls.__latest_sell_order_dict[code][4] = (d[3], d[6])
                 else:
                     info = cls.__latest_sell_order_dict[code]
+
                     # 涓婁釜鍗栧崟鎴愪氦瀹屾垚
                     # 灏佸瓨鏁版嵁锛岃绠楁柊璧风偣
                     # 澶т簬50w鐨勫崠鍗曟墠浼氫繚瀛�
                     # 澶т簬50w鍔犲叆鍗栧崟
-                    if info[1] * info[2] >= 500000:
+                    cls.__latest_all_sell_orders_dict[code].append(info)
+                    money = info[1] * info[2]
+                    if money >= 500000:
                         if is_active_sell(info[0]):
                             l2_log.info(code, hx_logger_l2_transaction_sell_order,
                                         f"{cls.__latest_sell_order_dict[code]}")
                             cls.__big_sell_order_ids_dict[code].add(info[0])
                             cls.__big_sell_order_info_dict[code][info[0]] = info
                             cls.__big_sell_order_info_list_dict[code].append(info)
+                    # 鍙繚鐣�10w浠ヤ笂鐨勫崟
+                    if money > 100000:
+                        cls.__latest_all_sell_orders_dict[code].append(info)
 
                     cls.__latest_sell_order_dict[code] = [d[7], d[2], d[1], (d[3], d[6]), (d[3], d[6])]
         latest_time = l2_huaxin_util.convert_time(datas[-1][3], with_ms=True)
@@ -200,3 +211,22 @@
         big_sell_orders.reverse()
         total_sell_info[1] = big_sell_orders
         return total_sell_info
+
+    # 鑾峰彇鏈�杩戞垚浜ゆ暟鎹�
+    @classmethod
+    def get_latest_transaction_datas(cls, code, min_sell_order_no=None):
+        total_orders = []
+        sell_orders = cls.__latest_all_sell_orders_dict.get(code)
+        if sell_orders:
+            for i in range(len(sell_orders) - 1, -1, -1):
+                if min_sell_order_no and min_sell_order_no > sell_orders[i][0]:
+                    break
+                total_orders.append(sell_orders[i])
+            total_orders.extend(sell_orders)
+        if code in cls.__latest_sell_order_dict:
+            if min_sell_order_no :
+                if cls.__latest_sell_order_dict[code][0] >= min_sell_order_no:
+                    total_orders.append(cls.__latest_sell_order_dict[code])
+            else:
+                total_orders.append(cls.__latest_sell_order_dict[code])
+        return total_orders

--
Gitblit v1.8.0