From e14478c628ebb3fdbd4d9f651be3d976f7dc8fb7 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 28 三月 2024 15:36:18 +0800
Subject: [PATCH] 代码成交之后不移除L2监听/删除量对买不买的影响/S撤bug修复

---
 l2/l2_data_manager_new.py |  177 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 92 insertions(+), 85 deletions(-)

diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py
index 2cbbc1e..969e498 100644
--- a/l2/l2_data_manager_new.py
+++ b/l2/l2_data_manager_new.py
@@ -1055,34 +1055,36 @@
         if is_in_strong_time_30 and is_best_zylt:
             # 寮哄娍30鍒嗛挓锛屾渶浼樺競鍊�, 鏈夊彲浠ヤ笅鍗曠殑鏉垮潡锛屼笉鐪嬮噺
             return True, False, can_buy_result[2]
+        # 娉ㄩ噴閲忕殑褰卞搷
+        # if k_format and (k_format[1][0] or k_format[3][0]) and len(k_format) >= 12 and k_format[11]:
+        #     # 鐮村墠楂�/鎺ヨ繎鍓嶉珮涓�30澶╁唴鏈夋定鍋�
+        #     if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[1]:
+        #         return False, True, f"鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮涓�30澶╁唴鏈夋定鍋�,褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[1]}"
 
-        if k_format and (k_format[1][0] or k_format[3][0]) and len(k_format) >= 12 and k_format[11]:
-            # 鐮村墠楂�/鎺ヨ繎鍓嶉珮涓�30澶╁唴鏈夋定鍋�
-            if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[1]:
-                return False, True, f"鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮涓�30澶╁唴鏈夋定鍋�,褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[1]}"
-
-        if HighIncreaseCodeManager().is_in(code):
-            if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.59:
-                return False, True, f"5澶╁唴3娆℃定鍋滐紝閲忔湭杈惧埌59%锛坽cls.volume_rate_info[code][0]}锛�"
+        # 娉ㄩ噴閲忕殑褰卞搷
+        # if HighIncreaseCodeManager().is_in(code):
+        #     if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.59:
+        #         return False, True, f"5澶╁唴3娆℃定鍋滐紝閲忔湭杈惧埌59%锛坽cls.volume_rate_info[code][0]}锛�"
         msg_list = []
         if is_in_strong_time:
             msg_list.append("寮哄娍10鍒嗛挓")
             # 涓�5涓氦鏄撴棩鏈夌偢鏉夸箣鍚�
-            if has_open_limit_up_in_5:
-                if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.15:
-                    return False, True, f"寮哄娍10鍒嗛挓,涓�5涓氦鏄撴棩鐐告澘,閲忔湭杈惧埌{0.15}({cls.volume_rate_info[code][0]})"
-
-            # 涓�5涓氦鏄撴棩鏈夎穼鍋�
-            if has_limit_down_in_5:
-                if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.15:
-                    return False, True, f"寮哄娍10鍒嗛挓,涓�5涓氦鏄撴棩璺屽仠,閲忔湭杈惧埌{0.15}({cls.volume_rate_info[code][0]})"
-
-            # 鑾峰彇閲忕殑鍙傝�冩棩鏈�
-            if code in global_util.max60_volumn:
-                day = global_util.max60_volumn[code][1]
-                if day in HistoryKDatasUtils.get_latest_trading_date_cache(5):
-                    if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.15 and not is_special:
-                        return False, True, f"寮哄娍10鍒嗛挓锛屽弬鑰冮噺鍦ㄦ渶杩�5澶╋紝鏃犺鲸璇嗗害锛岄噺鏈揪鍒�0.15({cls.volume_rate_info[code][0]})"
+            # 娉ㄩ噴閲忕殑褰卞搷
+            # if has_open_limit_up_in_5:
+            #     if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.15:
+            #         return False, True, f"寮哄娍10鍒嗛挓,涓�5涓氦鏄撴棩鐐告澘,閲忔湭杈惧埌{0.15}({cls.volume_rate_info[code][0]})"
+            #
+            # # 涓�5涓氦鏄撴棩鏈夎穼鍋�
+            # if has_limit_down_in_5:
+            #     if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.15:
+            #         return False, True, f"寮哄娍10鍒嗛挓,涓�5涓氦鏄撴棩璺屽仠,閲忔湭杈惧埌{0.15}({cls.volume_rate_info[code][0]})"
+            #
+            # # 鑾峰彇閲忕殑鍙傝�冩棩鏈�
+            # if code in global_util.max60_volumn:
+            #     day = global_util.max60_volumn[code][1]
+            #     if day in HistoryKDatasUtils.get_latest_trading_date_cache(5):
+            #         if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.15 and not is_special:
+            #             return False, True, f"寮哄娍10鍒嗛挓锛屽弬鑰冮噺鍦ㄦ渶杩�5澶╋紝鏃犺鲸璇嗗害锛岄噺鏈揪鍒�0.15({cls.volume_rate_info[code][0]})"
 
             # 鐙嫍
             if not can_buy_result[0] and can_buy_result[1]:
@@ -1091,27 +1093,29 @@
                     # 濡傛灉娌℃湁杈ㄨ瘑搴︽墠涓嶄拱
                     if not is_special:
                         return False, True, f"寮哄娍10鍒嗛挓锛屾棤杈ㄨ瘑搴︼紝 鐙嫍锛坽can_buy_result[4]}锛変笉涓嬪崟锛坽can_buy_result[4]}锛夎嚜鐢辨祦閫氬競鍊硷紙{zyltgb_as_yi}锛変笉鏄壒浼樺競鍊�"
-                if k_format and (k_format[1][0] or k_format[3][0]):
-                    msg_list.append("鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮")
-                    # 鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮
-                    if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[1]:
-                        return False, True, f"寮哄娍10鍒嗛挓锛岀嫭鑻楋紙{can_buy_result[4]}锛夛紝鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮,褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[1]}"
-                else:
-                    if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[
-                        0] and not is_special:
-                        return False, True, f"寮哄娍10鍒嗛挓锛屾棤杈ㄨ瘑搴︼紝鐙嫍锛坽can_buy_result[4]}锛�,褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[0]}"
+                # 娉ㄩ噴閲忕殑褰卞搷
+                # if k_format and (k_format[1][0] or k_format[3][0]):
+                #     msg_list.append("鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮")
+                #     # 鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮
+                #     if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[1]:
+                #         return False, True, f"寮哄娍10鍒嗛挓锛岀嫭鑻楋紙{can_buy_result[4]}锛夛紝鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮,褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[1]}"
+                # else:
+                #     if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[
+                #         0] and not is_special:
+                #         return False, True, f"寮哄娍10鍒嗛挓锛屾棤杈ㄨ瘑搴︼紝鐙嫍锛坽can_buy_result[4]}锛�,褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[0]}"
             else:
                 msg_list.append("闈炵嫭鑻�")
                 if not is_better_zylt:
                     msg_list.append("涓嶆弧瓒宠嚜鐢辨祦閫�")
-                    if k_format and (k_format[1][0] or k_format[3][0]):
-                        # 鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮
-                        if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[1]:
-                            return False, True, f"寮哄娍10鍒嗛挓锛屽悗鎺掞紝涓嶆弧瓒宠嚜鐢卞競鍊硷紝鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮,褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[1]}"
-                    else:
-                        if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[
-                            0] and not is_special:
-                            return False, True, f"寮哄娍10鍒嗛挓锛屽悗鎺�,鏃犺鲸璇嗗害锛屼笉婊¤冻鑷敱甯傚�硷紝褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[0]}"
+                    # 娉ㄩ噴閲忕殑褰卞搷
+                    # if k_format and (k_format[1][0] or k_format[3][0]):
+                    #     # 鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮
+                    #     if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[1]:
+                    #         return False, True, f"寮哄娍10鍒嗛挓锛屽悗鎺掞紝涓嶆弧瓒宠嚜鐢卞競鍊硷紝鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮,褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[1]}"
+                    # else:
+                    #     if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[
+                    #         0] and not is_special:
+                    #         return False, True, f"寮哄娍10鍒嗛挓锛屽悗鎺�,鏃犺鲸璇嗗害锛屼笉婊¤冻鑷敱甯傚�硷紝褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[0]}"
                 else:
                     msg_list.append("婊¤冻鑷敱娴侀��")
                     # 鍚庢帓锛屾弧瓒宠嚜鐢辨祦閫氬競鍊奸渶瑕佷笅鍗�
@@ -1119,57 +1123,60 @@
             return True, False, can_buy_result[2]
         else:
 
-            # 涓�5涓氦鏄撴棩鏈夌偢鏉夸箣鍚�
-            if has_open_limit_up_in_5:
-                if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.29:
-                    return False, True, f"闈炲己鍔�10鍒嗛挓,涓�5涓氦鏄撴棩鐐告澘,閲忔湭杈惧埌{0.29}({cls.volume_rate_info[code][0]})"
+            # 娉ㄩ噴閲忕殑褰卞搷
+            # # 涓�5涓氦鏄撴棩鏈夌偢鏉夸箣鍚�
+            # if has_open_limit_up_in_5:
+            #     if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.29:
+            #         return False, True, f"闈炲己鍔�10鍒嗛挓,涓�5涓氦鏄撴棩鐐告澘,閲忔湭杈惧埌{0.29}({cls.volume_rate_info[code][0]})"
+            #
+            # # 涓�5涓氦鏄撴棩鏈夎穼鍋�
+            # if has_limit_down_in_5:
+            #     if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.29:
+            #         return False, True, f"闈炲己鍔�10鍒嗛挓,涓�5涓氦鏄撴棩璺屽仠,閲忔湭杈惧埌{0.29}({cls.volume_rate_info[code][0]})"
 
-            # 涓�5涓氦鏄撴棩鏈夎穼鍋�
-            if has_limit_down_in_5:
-                if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.29:
-                    return False, True, f"闈炲己鍔�10鍒嗛挓,涓�5涓氦鏄撴棩璺屽仠,閲忔湭杈惧埌{0.29}({cls.volume_rate_info[code][0]})"
-
-            # 鑾峰彇閲忕殑鍙傝�冩棩鏈�
-            if code in global_util.max60_volumn:
-                day = global_util.max60_volumn[code][1]
-                if day in HistoryKDatasUtils.get_latest_trading_date_cache(5):
-                    if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.29 and not is_special:
-                        return False, True, f"鍙傝�冮噺鍦ㄦ渶杩�5澶╋紝鏃犺鲸璇嗗害锛岄噺鏈揪鍒�0.29({cls.volume_rate_info[code][0]})"
+            # 娉ㄩ噴閲忕殑褰卞搷
+            # # 鑾峰彇閲忕殑鍙傝�冩棩鏈�
+            # if code in global_util.max60_volumn:
+            #     day = global_util.max60_volumn[code][1]
+            #     if day in HistoryKDatasUtils.get_latest_trading_date_cache(5):
+            #         if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < 0.29 and not is_special:
+            #             return False, True, f"鍙傝�冮噺鍦ㄦ渶杩�5澶╋紝鏃犺鲸璇嗗害锛岄噺鏈揪鍒�0.29({cls.volume_rate_info[code][0]})"
 
             # 闈炲己鍔�10鍒嗛挓鍙拱涓荤嚎
             if not can_buy_result[0] and can_buy_result[1]:
                 if not is_special and not is_best_zylt:
                     return False, True, f"闈炲己鍔�10鍒嗛挓锛屾棤杈ㄨ瘑搴︼紝闈炵壒浼樺競鍊�,鐙嫍锛坽can_buy_result[4]}锛変笉涓嬪崟"
-            if can_buy_result[3]:
-                # 寮哄娍涓荤嚎
-                if not is_better_zylt:
-                    if k_format and (k_format[1][0] or k_format[3][0]):
-                        # 鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮
-                        if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[1]:
-                            return False, True, f"闈炲己鍔�10鍒嗛挓锛屽己鍔夸富绾垮悗鎺掞紝涓嶆弧瓒宠嚜鐢卞競鍊硷紝鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮,褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[1]}"
-                    else:
-                        if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[
-                            0] and not is_special:
-                            return False, True, f"闈炲己鍔�10鍒嗛挓锛屽己鍔夸富绾垮悗鎺�,涓嶆弧瓒宠嚜鐢卞競鍊硷紝鏃犺鲸璇嗗害锛屽綋鏃ラ噺姣�({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[0]}"
-                else:
-                    if k_format and (k_format[1][0] or k_format[3][0]):
-                        if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[0]:
-                            return False, True, f"闈炲己鍔�10鍒嗛挓锛屽己鍔夸富绾垮悗鎺�,婊¤冻鑷敱甯傚�硷紝鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮, 褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[0]}"
-            else:
-                # 闈炲己鍔夸富绾�
-                if not is_better_zylt:
-                    if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[
-                        1] and not is_special:
-                        return False, True, f"闈炲己鍔�10鍒嗛挓锛岄潪寮哄娍涓荤嚎鍚庢帓銆愪富绾垮悗鎺掋�戯紝涓嶆弧瓒宠嚜鐢卞競鍊�,鏃犺鲸璇嗗害锛� 褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[1]}"
-                else:
-                    if k_format and (k_format[1][0] or k_format[3][0]):
-                        # 鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮
-                        if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[1]:
-                            return False, True, f"闈炲己鍔�10鍒嗛挓锛岄潪寮哄娍涓荤嚎鍚庢帓銆愪富绾垮悗鎺掋�戯紝婊¤冻鑷敱甯傚�硷紝鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮, 褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[1]}"
-                    else:
-                        if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[
-                            0] and not is_special:
-                            return False, True, f"闈炲己鍔�10鍒嗛挓锛岄潪寮哄娍涓荤嚎鍚庢帓銆愪富绾垮悗鎺掋��, 婊¤冻鑷敱甯傚�硷紝鏃犺鲸璇嗗害锛屽綋鏃ラ噺姣�({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[0]}"
+            # 娉ㄩ噴閲忕殑褰卞搷
+            # if can_buy_result[3]:
+            #     # 寮哄娍涓荤嚎
+            #     if not is_better_zylt:
+            #         if k_format and (k_format[1][0] or k_format[3][0]):
+            #             # 鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮
+            #             if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[1]:
+            #                 return False, True, f"闈炲己鍔�10鍒嗛挓锛屽己鍔夸富绾垮悗鎺掞紝涓嶆弧瓒宠嚜鐢卞競鍊硷紝鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮,褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[1]}"
+            #         else:
+            #             if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[
+            #                 0] and not is_special:
+            #                 return False, True, f"闈炲己鍔�10鍒嗛挓锛屽己鍔夸富绾垮悗鎺�,涓嶆弧瓒宠嚜鐢卞競鍊硷紝鏃犺鲸璇嗗害锛屽綋鏃ラ噺姣�({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[0]}"
+            #     else:
+            #         if k_format and (k_format[1][0] or k_format[3][0]):
+            #             if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[0]:
+            #                 return False, True, f"闈炲己鍔�10鍒嗛挓锛屽己鍔夸富绾垮悗鎺�,婊¤冻鑷敱甯傚�硷紝鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮, 褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[0]}"
+            # else:
+            #     # 闈炲己鍔夸富绾�
+            #     if not is_better_zylt:
+            #         if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[
+            #             1] and not is_special:
+            #             return False, True, f"闈炲己鍔�10鍒嗛挓锛岄潪寮哄娍涓荤嚎鍚庢帓銆愪富绾垮悗鎺掋�戯紝涓嶆弧瓒宠嚜鐢卞競鍊�,鏃犺鲸璇嗗害锛� 褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[1]}"
+            #     else:
+            #         if k_format and (k_format[1][0] or k_format[3][0]):
+            #             # 鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮
+            #             if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[1]:
+            #                 return False, True, f"闈炲己鍔�10鍒嗛挓锛岄潪寮哄娍涓荤嚎鍚庢帓銆愪富绾垮悗鎺掋�戯紝婊¤冻鑷敱甯傚�硷紝鑲′环鍒涙柊楂樻垨鑰呴�艰繎鍓嶉珮, 褰撴棩閲忔瘮({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[1]}"
+            #         else:
+            #             if code in cls.volume_rate_info and cls.volume_rate_info[code][0] < volume_rate_thresholds[
+            #                 0] and not is_special:
+            #                 return False, True, f"闈炲己鍔�10鍒嗛挓锛岄潪寮哄娍涓荤嚎鍚庢帓銆愪富绾垮悗鎺掋��, 婊¤冻鑷敱甯傚�硷紝鏃犺鲸璇嗗害锛屽綋鏃ラ噺姣�({cls.volume_rate_info[code][0]})灏忎簬{volume_rate_thresholds[0]}"
             return True, False, can_buy_result[2]
 
     @classmethod

--
Gitblit v1.8.0