From c7c24c39ea646b612676c4b0afaa37f45cfae926 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期一, 31 三月 2025 13:38:15 +0800
Subject: [PATCH] 新题材修改

---
 trade/buy_radical/radical_buy_data_manager.py    |    6 +++---
 trade/buy_radical/block_special_codes_manager.py |   19 ++++++++++++-------
 l2/cancel_buy_strategy.py                        |   16 ++++++++--------
 3 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/l2/cancel_buy_strategy.py b/l2/cancel_buy_strategy.py
index ac9e92a..cbd659f 100644
--- a/l2/cancel_buy_strategy.py
+++ b/l2/cancel_buy_strategy.py
@@ -570,9 +570,9 @@
         #     if buy1_money:
         #         if total_num_ * limit_up_price * 100 > buy1_money * 0.65:
         #             return True, f"P鎾わ細鎴愪氦浣嶇疆璺濈涓嬪崟浣嶇疆澶繙 鎴愪氦浣�-{trade_index} 涓嬪崟浣�-{real_order_index} 涔�1-{buy1_money}"
-        min_time_s, max_time_s = 2, 30
-        if total_num * limit_up_price >= 299 * 100:
-            min_time_s, max_time_s = 30, 60
+        min_time_s, max_time_s = 2, 60
+        # if total_num * limit_up_price >= 299 * 100:
+        #     min_time_s, max_time_s = 30, 60
 
         if sub_time <= min_time_s:
             return False, f"涓嬪崟鍦▄min_time_s}s鍐�"
@@ -583,6 +583,7 @@
         # 璁$畻鎴戜滑鍚庨潰鐨勫ぇ鍗曚笌娑ㄥ仠绾拱棰�
         total_left_num = 0
         total_big_num_count = 0
+        canceled_buyno_map =  local_today_canceled_buyno_map.get(code)
         for i in range(real_order_index + 1, len(total_datas)):
             data = total_datas[i]
             val = data["val"]
@@ -594,16 +595,15 @@
             left_count = l2_data_source_util.L2DataSourceUtils.get_limit_up_buy_no_canceled_count_v2(code,
                                                                                                      i,
                                                                                                      total_datas,
-                                                                                                     local_today_canceled_buyno_map.get(
-                                                                                                         code))
+                                                                                                     canceled_buyno_map)
             if left_count > 0:
-                if money > 299 * 100:
+                if money >= min_money:
                     total_big_num_count += 1
                 total_left_num += val["num"]
         left_money = total_left_num * float(limit_up_price)
-        if left_money < 1000 * 100:
+        if left_money < 1000 * 100 or total_big_num_count < 2:
             # 瀹為檯涓嬪崟浣嶅悗鏂规墍鏈夋定鍋滅函涔伴鈮�1000涓�
-            return True, f"P鎾わ細灏佸崟绾拱棰�-{round(left_money / 100, 1)}涓� 澶у崟鏁伴噺-{total_big_num_count} 涓嬪崟浣�-{real_order_index}"
+            return True, f"P鎾わ細灏佸崟绾拱棰�-{round(left_money / 100, 1)}涓� 鍓╀綑澶у崟鏁伴噺-{total_big_num_count} 涓嬪崟浣�-{real_order_index}"
         return False, "涓嶆弧瓒虫挙鍗曟潯浠�"
 
     # w鎾�
diff --git a/trade/buy_radical/block_special_codes_manager.py b/trade/buy_radical/block_special_codes_manager.py
index c328821..6893e93 100644
--- a/trade/buy_radical/block_special_codes_manager.py
+++ b/trade/buy_radical/block_special_codes_manager.py
@@ -201,10 +201,10 @@
 
         trading_dates = HistoryKDatasUtils.get_latest_trading_date(9)
         max_day = trading_dates[0]
-        min_day = tool.date_sub(max_day, 180)
+        min_day = tool.date_sub(max_day, 120)
 
         block_map = self.__get_block_map()
-        # 缁熻鏈�杩�180澶╂定鍋滄暟鎹�
+        # 缁熻鏈�杩�120澶╂定鍋滄暟鎹�
         # [(鏉垮潡鍚嶇О,浠g爜, 鏃ユ湡, 鏄惁鐐告澘)]
         code_block_infos = self.__list_code_blocks(min_day, max_day)
 
@@ -248,7 +248,7 @@
             temp_data_dict[k][2] += 1
         code_block_infos = [temp_data_dict[k] for k in temp_data_dict]
 
-        min_day = tool.date_sub(max_day, 180)
+        min_day = tool.date_sub(max_day, 120)
 
         code_block_dict = {}  # {"浠g爜":{"鏉垮潡": 娑ㄥ仠娆℃暟}}
         for b in code_block_infos:
@@ -272,7 +272,7 @@
                     block_codes_dict[b] = []
                 block_codes_dict[b].append((code, code_block_dict[code][b]))
 
-        # 缁熻鏈�杩�180澶╃殑娑ㄥ仠鏁版嵁 {"浠g爜": (娑ㄥ仠娆℃暟, 鍚嶇О, 鑷敱娴侀�氬競鍊�)}
+        # 缁熻鏈�杩�120澶╃殑娑ㄥ仠鏁版嵁 {"浠g爜": (娑ㄥ仠娆℃暟, 鍚嶇О, 鑷敱娴侀�氬競鍊�)}
         limit_up_info_map = self.__get_limit_up_info(min_day)
         fdatas = []
         for b in block_codes_dict:
@@ -291,6 +291,11 @@
             temp_codes = [x[0] for x in zylt_list]
             code_info_list.sort(key=lambda x: x[1], reverse=True)
             limit_up_count_max = code_info_list[:2]
+            for i in range(2, len(code_info_list)):
+                if code_info_list[i][1] == limit_up_count_max[-1][1]:
+                    limit_up_count_max.append(code_info_list[i])
+                else:
+                    break
             rank2_codes = set()
             for d in limit_up_count_max:
                 if d[1] >= 6:
@@ -369,7 +374,7 @@
     # print(datas)
     datas = AnalysisBlockSpecialCodesManager().get_block_special_codes()
     # print(datas)
-    for d in datas:
-        print(d)
-    BlockSpecialCodesManager().set_block_codes_list(datas)
+    # for d in datas:
+    #     print(d)
+    # BlockSpecialCodesManager().set_block_codes_list(datas)
     # print(BlockSpecialCodesManager().get_code_blocks("002582"))
diff --git a/trade/buy_radical/radical_buy_data_manager.py b/trade/buy_radical/radical_buy_data_manager.py
index 7dad322..68cbef8 100644
--- a/trade/buy_radical/radical_buy_data_manager.py
+++ b/trade/buy_radical/radical_buy_data_manager.py
@@ -1188,9 +1188,9 @@
                 return False, f"鍓嶆帓杈ㄨ瘑搴�>=3涓�({before_special_codes})"
 
         # 鍒ゆ柇鏄噣娴佸叆鍓嶆帓
-        in_blocks = RealTimeKplMarketData.get_top_market_jingxuan_blocks()
-        if block not in in_blocks:  # or in_blocks.index(block) >= constant.RADICAL_BUY_TOP_IN_INDEX_WITH_SPECIAL:
-            return False, f"娌℃湁鍦ㄧ簿閫夊噣娴佸叆鍓峽constant.RADICAL_BUY_TOP_IN_INDEX_WITH_SPECIAL}"
+        # in_blocks = RealTimeKplMarketData.get_top_market_jingxuan_blocks()
+        # if block not in in_blocks:  # or in_blocks.index(block) >= constant.RADICAL_BUY_TOP_IN_INDEX_WITH_SPECIAL:
+        #     return False, f"娌℃湁鍦ㄧ簿閫夊噣娴佸叆鍓峽constant.RADICAL_BUY_TOP_IN_INDEX_WITH_SPECIAL}"
 
         # if history_index >= 4:
         #     # 鍒ゆ柇閲忔槸鍚︽崲澶�

--
Gitblit v1.8.0