From 6b002b4a90fd73db0daca682aec7a8b1318f1bff Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期日, 19 十一月 2023 23:23:42 +0800
Subject: [PATCH] 炸板过后的票下午买入需要看板块不是独苗

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

diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py
index 898ebc6..ca4f783 100644
--- a/l2/l2_data_manager_new.py
+++ b/l2/l2_data_manager_new.py
@@ -1,3 +1,4 @@
+import copy
 import logging
 import random
 import time as t
@@ -15,7 +16,7 @@
 from utils import global_util, ths_industry_util, tool
 import l2_data_util
 from db import redis_manager_delegate as redis_manager
-from third_data.code_plate_key_manager import CodePlateKeyBuyManager, KPLCodeJXBlockManager
+from third_data.code_plate_key_manager import CodePlateKeyBuyManager, KPLCodeJXBlockManager, LimitUpCodesPlateKeyManager
 from trade import trade_manager, trade_queue_manager, l2_trade_factor, l2_trade_util, \
     trade_result_manager, current_price_process_manager, trade_data_manager, trade_huaxin, trade_record_log_util
 from l2 import l2_data_manager, l2_log, l2_data_source_util, code_price_manager, \
@@ -330,7 +331,6 @@
                 l2_data_log.l2_time_log(code, "寮�濮嬩繚瀛樻暟鎹�")
                 l2.l2_data_util.save_l2_data(code, None, datas)
             origin_datas.clear()
-
 
     @classmethod
     def process_add_datas(cls, code, add_datas, capture_timestamp, __start_time):
@@ -888,6 +888,20 @@
                 float(open_limit_up_lowest_price) - price_pre_close) / price_pre_close < 0.05:
             return False, True, f"鐐告澘鍚庢渶浣庝环璺岃嚦5%浠ヤ笅"
 
+        # 鍥炲皝鐨勭エ锛屼笅13:15涔板叆闇�瑕佸垽鏂澘鍧楁槸鍚︿负鐙嫍
+        if open_limit_up_lowest_price and int(tool.get_now_time_str().replace(":", "")) > 131500:
+            # 鑾峰彇褰撳墠绁ㄧ殑娑ㄥ仠鍘熷洜
+            if code in LimitUpCodesPlateKeyManager.today_total_limit_up_reason_dict:
+                limit_up_reason = kpl_data_manager.KPLLimitUpDataRecordManager.get_current_block(code)
+                if limit_up_reason not in constant.KPL_INVALID_BLOCKS:
+                    # 鍒ゆ柇鏄惁鏄嫭鑻�
+                    codes = kpl_data_manager.KPLLimitUpDataRecordManager.get_current_codes_by_block(limit_up_reason)
+                    if codes:
+                        codes = copy.deepcopy(codes)
+                        codes.discard(code)
+                    if not codes:
+                        return False, True, f"13:15浠ュ悗鐐告澘涔嬪悗涓嬪崟锛岋紙{limit_up_reason}锛� 涓虹嫭鑻�"
+
         # limit_up_info = cls.__Buy1PriceManager.get_limit_up_info(code)
         # if limit_up_info[0] is None and False:
         #     total_data = local_today_datas.get(code)
@@ -1122,7 +1136,8 @@
                         # 鑲′环鏂伴珮鎴栬�呴�艰繎鍓嶉珮
                         order_begin_pos.threshold_money = int(sell_info[1])
                     else:
-                        if float(total_datas[buy_single_index]["val"]["price"]) >= 3 and cls.volume_rate_info[code][0] > 0.3 and sell_info[1] > 2000 * 10000:
+                        if float(total_datas[buy_single_index]["val"]["price"]) >= 3 and cls.volume_rate_info[code][
+                            0] > 0.3 and sell_info[1] > 2000 * 10000:
                             # 鏆傛椂鎵�8鎶�
                             # order_begin_pos.threshold_money = int(sell_info[1] * 0.8)
                             # 娣辫瘉鎬诲崠澶т簬1000涓囩殑绁紝m鍊兼墦5鎶�
@@ -1214,7 +1229,7 @@
             # 淇濆瓨闂數涓嬪崟鐨勪拱鍏ヤ俊鎭�
             if order_begin_pos.mode == OrderBeginPosInfo.MODE_FAST:
                 cls.__latest_fast_place_order_info_dict[code] = (
-                order_begin_pos.sell_info[0], order_begin_pos.sell_info[1])
+                    order_begin_pos.sell_info[0], order_begin_pos.sell_info[1])
 
             # 鏁版嵁鏄惁澶勭悊瀹屾瘯
             if new_buy_exec_index < compute_end_index:

--
Gitblit v1.8.0