From c97dc748bfcc4fa4361ca50924359c916271ce1f Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期二, 12 九月 2023 17:55:51 +0800
Subject: [PATCH] D撤修改

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

diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py
index 375c025..3bc3b77 100644
--- a/l2/l2_data_manager_new.py
+++ b/l2/l2_data_manager_new.py
@@ -607,6 +607,8 @@
                 l2_log.debug(code, "鎵ц涔板叆鎴愬姛")
                 ################涓嬪崟鎴愬姛澶勭悊################
                 trade_result_manager.real_buy_success(code, cls.__TradePointManager)
+                cancel_buy_strategy.set_real_place_position(code, local_today_datas.get(code)[-1]["index"],
+                                                            buy_single_index)
                 l2_log.debug(code, "澶勭悊涔板叆鎴愬姛")
                 params_desc = cls.__l2PlaceOrderParamsManagerDict[code].get_buy_rank_desc()
                 l2_log.debug(code, params_desc)
@@ -812,7 +814,7 @@
             total_data = local_today_datas.get(code)
             trade_index, is_default = cls.__TradeBuyQueue.get_traded_index(code)
             if not is_default and trade_index:
-                buy_index_set = set()
+                not_cancel_num = 0
                 num_operate_map = local_today_num_operate_map.get(code)
                 for i in range(trade_index + 1, total_data[-1]["index"] + 1):
                     if L2DataUtil.is_limit_up_price_buy(total_data[i]["val"]):
@@ -823,10 +825,11 @@
                                                                                                               total_data,
                                                                                                               num_operate_map)
                         if left_count > 0:
-                            buy_index_set.add(total_data[i]["index"])
-
-                if len(buy_index_set) < 5:
-                    return False, False, f"鎴愪氦浣嶇疆璺濈褰撳墠浣嶇疆灏忎簬5绗�"
+                            not_cancel_num += total_data[i]["val"]["num"]
+                m = cls.__get_threshmoney(code)
+                not_cancel_money = not_cancel_num * 100 * float(gpcode_manager.get_limit_up_price(code))
+                if cls.__get_threshmoney(code) > not_cancel_money:
+                    return False, False, f"鎴愪氦浣嶇疆璺濈褰撳墠浣嶇疆绾拱棰�({not_cancel_money})灏忎簬m鍊�({m})"
         else:
             # 鍒ゆ柇涔�1浠锋牸妗d綅
             zyltgb = global_util.zyltgb_map.get(code)
@@ -1149,7 +1152,11 @@
 
     @classmethod
     def __get_threshmoney(cls, code):
-        return cls.__l2PlaceOrderParamsManagerDict[code].get_m_val()
+        m = cls.__l2PlaceOrderParamsManagerDict[code].get_m_val()
+        if trade_manager.CodesTradeStateManager().get_trade_state_cache(code) == trade_manager.TRADE_STATE_NOT_TRADE:
+            # 棣栨涓嬪崟m鍊兼墿澶�1.5鍊�
+            m = int(m * 1.5)
+        return m
 
     # 璁$畻涓囨墜鍝ョ瑪鏁�
     @classmethod

--
Gitblit v1.8.0