From 6b77c1709908133c040778f5f775432c4ce7efd7 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 09 六月 2023 19:08:44 +0800
Subject: [PATCH] 优化L2卡位分配/增加想买单第一时间加入L2卡位

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

diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py
index c6c0e15..7665ba8 100644
--- a/l2/l2_data_manager_new.py
+++ b/l2/l2_data_manager_new.py
@@ -32,6 +32,8 @@
 
 import dask
 
+from trade.trade_manager import TradeTargetCodeModeManager
+
 
 class L2DataManager:
     # 鏍煎紡鍖栨暟鎹�
@@ -673,21 +675,24 @@
         if not trade_manager.TradeStateManager.is_can_buy():
             return False, True, f"浠婃棩宸茬姝氦鏄�"
 
+        if gpcode_manager.PauseBuyCodesManager.is_in(code):
+            return False, True, f"璇ヤ唬鐮佽鏆傚仠浜ゆ槗"
+
         # 鍒ゆ柇涔�1浠锋牸妗d綅
         zyltgb = global_util.zyltgb_map.get(code)
         if zyltgb is None:
             global_data_loader.load_zyltgb()
             zyltgb = global_util.zyltgb_map.get(code)
-        # buy1_price = code_price_manager.Buy1PriceManager.get_buy1_price(code)
-        # if buy1_price is None:
-        #     return False, True, f"灏氭湭鑾峰彇鍒颁拱1浠�"
+        buy1_price = code_price_manager.Buy1PriceManager.get_buy1_price(code)
+        if buy1_price is None:
+            return False, True, f"灏氭湭鑾峰彇鍒颁拱1浠�"
         limit_up_price = gpcode_manager.get_limit_up_price(code)
 
-        # dif = float(limit_up_price) - float(buy1_price)
-        # if zyltgb >= 100 * 100000000:
-        #     # 澶т簬2妗�
-        #     if dif > 0.01001:
-        #         return False, True, f"涔�1鍓╀綑妗f暟澶т簬1妗o紝涔颁竴锛坽buy1_price}锛夋定鍋滐紙{limit_up_price}锛�"
+        dif = float(limit_up_price) - float(buy1_price)
+        if zyltgb >= 200 * 100000000:
+            # 澶т簬10妗�
+            if dif > 0.10001:
+                return False, True, f"鑷敱娴侀��200浜夸互涓婏紝涔�1鍓╀綑妗f暟澶т簬10妗o紝涔颁竴锛坽buy1_price}锛夋定鍋滐紙{limit_up_price}锛�"
         # elif zyltgb >= 80 * 100000000:
         #     # 澶т簬2妗�
         #     if dif > 0.02001:
@@ -733,6 +738,8 @@
                                       cls.__l2PlaceOrderParamsManagerDict[code].score_info)
 
         if not gpcode_manager.WantBuyCodesManager.is_in(code):
+            if TradeTargetCodeModeManager.get_mode() == TradeTargetCodeModeManager.MODE_ONLY_BUY_WANT_CODES:
+                return False, True, f"鍙拱鎯充拱鍗曚腑鐨勪唬鐮�"
             score_index = cls.__l2PlaceOrderParamsManagerDict[code].score_index
             score = cls.__l2PlaceOrderParamsManagerDict[code].score
             score_info = cls.__l2PlaceOrderParamsManagerDict[code].score_info

--
Gitblit v1.8.0