From 045a5aa6434da6e83c3d850b17e7e58cd7b55ef5 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期一, 15 五月 2023 15:46:32 +0800
Subject: [PATCH] 开盘啦板块影响交易逻辑

---
 l2/l2_data_manager_new.py |   44 ++++++++++++++++++++++++--------------------
 1 files changed, 24 insertions(+), 20 deletions(-)

diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py
index 641bc1c..caf67cd 100644
--- a/l2/l2_data_manager_new.py
+++ b/l2/l2_data_manager_new.py
@@ -15,7 +15,8 @@
 from db import redis_manager
 import ths_industry_util
 import tool
-from trade import  trade_manager, trade_queue_manager, l2_trade_factor, l2_trade_util, \
+from third_data.code_plate_key_manager import CodePlateKeyBuyManager
+from trade import trade_manager, trade_queue_manager, l2_trade_factor, l2_trade_util, \
     trade_result_manager, first_code_score_manager
 from l2 import safe_count_manager, l2_data_manager, l2_data_log, l2_log, l2_data_source_util, code_price_manager
 from l2.cancel_buy_strategy import SecondCancelBigNumComputer, HourCancelBigNumComputer, L2LimitUpMoneyStatisticUtil, \
@@ -361,7 +362,8 @@
         def h_cancel():
             _start_time = round(t.time() * 1000)
             try:
-                b_need_cancel, b_cancel_data = HourCancelBigNumComputer.need_cancel(code,buy_single_index, buy_exec_index, start_index,
+                b_need_cancel, b_cancel_data = HourCancelBigNumComputer.need_cancel(code, buy_single_index,
+                                                                                    buy_exec_index, start_index,
                                                                                     end_index, total_data,
                                                                                     local_today_num_operate_map.get(
                                                                                         code),
@@ -680,6 +682,7 @@
         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 >= 80 * 100000000:
             # 澶т簬2妗�
@@ -719,6 +722,14 @@
 
         if not gpcode_manager.WantBuyCodesManager.is_in(code):
 
+            if float(limit_up_price) >= 40:
+                return False, True, "鑲′环澶т簬40鍧�"
+
+            # 鍒ゆ柇鏉垮潡
+            plate_can_buy, msg = CodePlateKeyBuyManager.can_buy(code)
+            if not plate_can_buy:
+                return False, True, msg
+
             # 鏌ョ湅鍒嗘暟绛夌骇
             score_index = cls.__l2PlaceOrderParamsManagerDict[code].score_index
             score = cls.__l2PlaceOrderParamsManagerDict[code].score
@@ -737,27 +748,20 @@
             limit_up_time = score_info[1][7]
             if limit_up_time is None:
                 limit_up_time = tool.get_now_time_str()
-            if int(limit_up_time.replace(":", "")) > int("143000"):
-                if not score_info[1][3][6][0]:
-                    return False, True, f"灏剧洏鍋疯窇:鏃犱换浣曞舰鎬�"
-                if score_info[1][5]["limit_up_codes_count"] > 1:
-                    return False, True, f"灏剧洏鍋疯窇:鏉垮潡{score_info[1][5]['target_block_info'][0]}-娑ㄥ仠鏁皗score_info[1][5]['limit_up_codes_count']}"
-                if float(gpcode_manager.get_limit_up_price(code)) > 30:
-                    return False, True, f"灏剧洏鍋疯窇:鑲′环澶т簬30"
+
+            # 灏剧洏鍋疯窇鏆傛椂涓嶈
+            # if int(limit_up_time.replace(":", "")) > int("143000"):
+            #     if not score_info[1][3][6][0]:
+            #         return False, True, f"灏剧洏鍋疯窇:鏃犱换浣曞舰鎬�"
+            #     if score_info[1][5]["limit_up_codes_count"] > 1:
+            #         return False, True, f"灏剧洏鍋疯窇:鏉垮潡{score_info[1][5]['target_block_info'][0]}-娑ㄥ仠鏁皗score_info[1][5]['limit_up_codes_count']}"
+            #     if float(gpcode_manager.get_limit_up_price(code)) > 30:
+            #         return False, True, f"灏剧洏鍋疯窇:鑲′环澶т簬30"
 
             if score_index < 0:
                 return False, True, f"鍒嗗�硷細{score}鏈揪鍒伴渶瑕佷拱鍏ョ殑鍒嗘暟绾�"
-            if score_index >= 3:
-                return False, True, f"鍒嗗�硷細{score}鏈揪鍒颁富鍔ㄤ拱鍏ュ垎鏁扮嚎"
-            return True, False, ""
-            # if -1 < score_index < 3 and (0.499 <= cls.volume_rate_info[code][0] <= 0.949):
-            #     return True, False, f"鍒嗗�硷細{score}杈惧埌涓诲姩涔板叆鐨勫垎鏁扮嚎涓旈噺瓒冲锛屼拱鍏ョ瓑绾э細f{score_index},閲忔瘮锛歿cls.volume_rate_info[code][0]}"
-            is_limited_up = gpcode_manager.FirstCodeManager.is_limited_up(code)
-            gpcode_manager.FirstCodeManager.add_limited_up_record([code])
-            if not code_price_manager.Buy1PriceManager.is_can_buy(code):
-                return False, True, f"棣栨澘浠g爜锛屾病鍦ㄦ兂瑕佷拱鍚嶅崟涓笖鏈墦寮�娑ㄥ仠鏉�,鍒嗘暟锛歿score}"
-            if not is_limited_up:
-                return False, True, f"棣栨澘浠g爜锛屾病鍦ㄦ兂瑕佷拱鍚嶅崟涓笖鏈定鍋滆繃,鍒嗘暟锛歿score}"
+            # if score_index >= 3:
+            #     return False, True, f"鍒嗗�硷細{score}鏈揪鍒颁富鍔ㄤ拱鍏ュ垎鏁扮嚎"
             return True, False, ""
         else:
             return True, False, "鍦ㄦ兂涔板悕鍗曚腑"

--
Gitblit v1.8.0