From 8ae3d9af6e57c094dbf2b4516b9cf5325dd13a7e Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期二, 30 四月 2024 18:07:32 +0800
Subject: [PATCH] L后成交重新囊括

---
 l2/l2_transaction_data_processor.py |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/l2/l2_transaction_data_processor.py b/l2/l2_transaction_data_processor.py
index 405aa2d..f7cf83c 100644
--- a/l2/l2_transaction_data_processor.py
+++ b/l2/l2_transaction_data_processor.py
@@ -6,6 +6,7 @@
 from l2 import l2_data_util, l2_data_manager, transaction_progress
 from l2.cancel_buy_strategy import FCancelBigNumComputer, LCancelBigNumComputer, LCancelRateManager, \
     GCancelBigNumComputer, SCancelBigNumComputer, HourCancelBigNumComputer, NewGCancelBigNumComputer
+from l2.l2_data_manager import OrderBeginPosInfo
 from l2.l2_data_manager_new import L2TradeDataProcessor
 from l2.l2_data_util import L2DataUtil
 from l2.l2_transaction_data_manager import HuaXinBuyOrderManager, HuaXinSellOrderStatisticManager, BigOrderDealManager
@@ -33,16 +34,28 @@
         return buy_progress_index
 
     @classmethod
-    def statistic_big_order_infos(cls, code, datas):
+    def statistic_big_order_infos(cls, code, datas, order_begin_pos:OrderBeginPosInfo):
         """
         缁熻澶у崟鎴愪氦
         @param code:
         @param datas:
         @return:
         """
-        buy_datas = HuaXinBuyOrderManager.statistic_big_buy_data(code, datas)
+        buy_datas, bigger_buy_datas = HuaXinBuyOrderManager.statistic_big_buy_data(code, datas)
         if buy_datas:
             BigOrderDealManager().add_buy_datas(code, buy_datas)
+        try:
+            is_placed_order = l2_data_manager.TradePointManager.is_placed_order(order_begin_pos)
+            if is_placed_order and bigger_buy_datas:
+                # 鏈夊ぇ浜�50w鐨勫ぇ鍗曟垚浜�
+                buyno_map = l2_data_util.local_today_buyno_map.get(code)
+                if buyno_map:
+                    for buy_data in bigger_buy_datas:
+                        order_no = f"{buy_data[0]}"
+                        if order_no in buyno_map:
+                            LCancelBigNumComputer().add_deal_index(code, buyno_map[order_no]["index"], order_begin_pos.buy_single_index)
+        except Exception as e:
+            logger_debug.exception(e)
 
         sell_datas = HuaXinSellOrderStatisticManager.statistic_big_sell_data(code, datas)
         if sell_datas:
@@ -118,7 +131,7 @@
             #         # L鍚庢槸鍚︽湁鎴愪氦锛屽鏋滄湁鎴愪氦灏遍渶瑕侀櫎鍘诲綋鍓嶇瑪鏁帮紝鐒跺悗閲嶆柊鍥婃嫭涓�绗�
             #         # 鏆傛椂涓嶉渶瑕佽繖绉嶅鏉傜殑鏈哄埗
             #         # LCancelBigNumComputer().add_deal_index(code, data["index"], order_begin_pos.buy_single_index)
-            cls.__statistic_thread_pool.submit(cls.statistic_big_order_infos, code, datas)
+            cls.__statistic_thread_pool.submit(cls.statistic_big_order_infos, code, datas, order_begin_pos)
 
             use_time_list.append(("缁熻涔板崟鏁版嵁", time.time() - _start_time))
             _start_time = time.time()
@@ -134,7 +147,7 @@
                                     buy_progress_index)
                 if is_placed_order:
                     NewGCancelBigNumComputer().set_trade_progress(code, order_begin_pos.buy_single_index,
-                                                               buy_progress_index)
+                                                                  buy_progress_index)
                     LCancelBigNumComputer().set_trade_progress(code, order_begin_pos.buy_single_index,
                                                                buy_progress_index,
                                                                total_datas)

--
Gitblit v1.8.0