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