From 76016f2bffe70ac5b7871b3e32a5d0079f9a6e52 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 29 三月 2024 18:44:57 +0800
Subject: [PATCH] 添加B撤

---
 l2/l2_data_manager_new.py |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py
index 01c9b1f..4b99ef7 100644
--- a/l2/l2_data_manager_new.py
+++ b/l2/l2_data_manager_new.py
@@ -26,7 +26,7 @@
     LCancelBigNumComputer, LatestCancelIndexManager, LCancelRateManager, GCancelBigNumComputer
 from l2.l2_data_manager import L2DataException, OrderBeginPosInfo
 from l2.l2_data_util import local_today_datas, L2DataUtil, local_today_num_operate_map, local_today_buyno_map, \
-    local_latest_datas, local_today_canceled_buyno_map,local_today_sellno_map
+    local_latest_datas, local_today_canceled_buyno_map, local_today_sellno_map
 import l2.l2_data_util
 from log_module.log import logger_l2_trade_buy, logger_l2_process, logger_l2_error, logger_debug, \
     logger_l2_not_buy_reasons, logger_real_place_order_position
@@ -580,6 +580,19 @@
                 pass
             return None, ""
 
+        # B鎾�
+        def b_cancel(_buy_single_index, _buy_exec_index):
+            try:
+                b_need_cancel, b_cancel_data, extra_msg = cls.__GCancelBigNumComputer.need_cancel_for_b(code,
+                                                                                                        start_index,
+                                                                                                        end_index)
+                if b_need_cancel and b_cancel_data:
+                    return b_cancel_data, f"G鎾�({extra_msg})"
+            except Exception as e:
+                async_log_util.error(logger_l2_error,
+                                     f"B鎾ゅ嚭閿� 鍙傛暟锛歜uy_single_index-{_buy_single_index} buy_exec_index-{_buy_exec_index} 閿欒鍘熷洜锛歿str(e)}")
+            return None, ""
+
         if start_index < 0:
             start_index = 0
 
@@ -596,18 +609,16 @@
         cancel_data, cancel_msg = None, ""
         if not cancel_data:
             cancel_data, cancel_msg = g_cancel(order_begin_pos.buy_single_index, order_begin_pos.buy_exec_index)
-
         # 渚濇澶勭悊
         if not cancel_data:
             cancel_data, cancel_msg = l_cancel(order_begin_pos.buy_single_index, order_begin_pos.buy_exec_index)
-        # 鏆傛椂鍙栨秷S鎾�
-        # if not cancel_data:
-        #     cancel_data, cancel_msg = s_cancel(order_begin_pos.buy_single_index, order_begin_pos.buy_exec_index)
+        # B鎾�
+        if not cancel_data:
+            cancel_data, cancel_msg = b_cancel(order_begin_pos.buy_single_index, order_begin_pos.buy_exec_index)
         if not cancel_data:
             cancel_data, cancel_msg = h_cancel(order_begin_pos.buy_single_index, order_begin_pos.buy_exec_index)
         if cancel_data and not DCancelBigNumComputer().has_auto_cancel_rules(code):
             l2_log.debug(code, "瑙﹀彂鎾ゅ崟锛屾挙鍗曚綅缃細{} 锛屾挙鍗曞師鍥狅細{}", cancel_data["index"], cancel_msg)
-
             # 鎾ゅ崟
             cls.cancel_buy(code, cancel_msg, cancel_index=cancel_data["index"])
             # 鎾ゅ崟鎴愬姛锛岀户缁绠椾笅鍗�

--
Gitblit v1.8.0