From a00da3062c6c825b585f82275823ac45cdeb6502 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 19 一月 2024 19:16:20 +0800
Subject: [PATCH] L后成交太快撤单

---
 l2/l2_transaction_data_manager.py |   27 +++++++++++++++++++++++----
 1 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/l2/l2_transaction_data_manager.py b/l2/l2_transaction_data_manager.py
index ee71543..8b55d31 100644
--- a/l2/l2_transaction_data_manager.py
+++ b/l2/l2_transaction_data_manager.py
@@ -10,8 +10,8 @@
 from db.redis_manager_delegate import RedisUtils
 from l2 import l2_data_util, l2_data_manager, transaction_progress, l2_data_source_util
 from l2.cancel_buy_strategy import LCancelRateManager, LCancelBigNumComputer, \
-    SecondCancelBigNumComputer, HourCancelBigNumComputer, FastCancelBigNumComputer, UCancelBigNumComputer, \
-    GCancelBigNumComputer
+    SecondCancelBigNumComputer, HourCancelBigNumComputer, \
+    GCancelBigNumComputer, FCancelBigNumComputer
 from l2.l2_data_manager_new import L2TradeDataProcessor
 from l2.l2_data_util import L2DataUtil, local_today_canceled_buyno_map
 from log_module import async_log_util
@@ -116,6 +116,26 @@
 
             order_begin_pos = l2_data_manager.TradePointManager().get_buy_compute_start_data_cache(code)
 
+            if order_begin_pos and order_begin_pos.buy_exec_index and order_begin_pos.buy_exec_index > -1:
+                # 宸茬粡涓嬪崟鐨勯渶瑕佺粺璁鎾�
+                try:
+                    for d in datas:
+                        if FCancelBigNumComputer().need_cancel(d)[0]:
+                            L2TradeDataProcessor.cancel_buy(code, f"F鎾ゆ挙鍗�:{d}")
+                            order_begin_pos = None
+                            break
+                except Exception as e:
+                    async_log_util.error(hx_logger_l2_debug, str(e))
+                try:
+                    for d in datas:
+                        if LCancelBigNumComputer().add_transaction_data(d)[0]:
+                            L2TradeDataProcessor.cancel_buy(code, f"L鍚庢垚浜ゅお蹇挙鍗�:{d}")
+                            order_begin_pos = None
+                            break
+                except Exception as e:
+                    async_log_util.error(hx_logger_l2_debug, str(e))
+
+
             # 璁$畻宸茬粡鎴愪氦鐨勫ぇ鍗�
             big_money_count = 0
             for d in datas:
@@ -123,6 +143,7 @@
                 buy_num = None
                 if data:
                     buy_num = data["val"]["num"] * 100
+                # 缁熻鎴愪氦鍗�
                 deal_info = self.__statistic_deal_desc(code, d, buy_num)
                 if deal_info and deal_info[1]:
                     data = buyno_map.get(f"{deal_info[0]}")
@@ -149,8 +170,6 @@
 
                 LCancelBigNumComputer().set_trade_progress(code, order_begin_pos.buy_single_index, buy_progress_index,
                                                            total_datas)
-
-                FastCancelBigNumComputer().set_trade_progress(code, buy_progress_index)
                 SecondCancelBigNumComputer().set_transaction_index(
                     code,
                     buy_progress_index)

--
Gitblit v1.8.0