From 82aafdbfa40bfebcdfe8d91c1de88a85918de5c0 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 18 七月 2025 17:00:02 +0800 Subject: [PATCH] 测试 --- cancel_strategy/s_l_h_cancel_strategy.py | 47 +++++++++++++++++++---------------------------- 1 files changed, 19 insertions(+), 28 deletions(-) diff --git a/cancel_strategy/s_l_h_cancel_strategy.py b/cancel_strategy/s_l_h_cancel_strategy.py index 93ff9b2..3a5d415 100644 --- a/cancel_strategy/s_l_h_cancel_strategy.py +++ b/cancel_strategy/s_l_h_cancel_strategy.py @@ -2098,35 +2098,26 @@ before_watch_indexed_info, before_canceled_watch_indexes_info = rate_info[2][0], rate_info[2][1] canceled_indexes = set([x[0] for x in before_canceled_watch_indexes_info]) - # [绱鎵嬫暟,绱鎾ゅ崟鎵嬫暟] - ts = [50, 200, 300, 10000] - tss = [] - for i in range(len(ts) - 1): - start_money, end_money = ts[i] * 100, ts[i + 1] * 100 - tss.append((start_money, end_money)) - - rate_info_dict = {} - for t in tss: - rate_info_dict[t[0]] = [0,0] - + # 缁熻澶у崟鎾ゅ崟姣斾緥 + BIG_ORDER_NUM_THRESHOLD = l2_data_util.get_big_money_val( + gpcode_manager.get_limit_up_price_as_num(code), tool.is_ge_code(code)) + # 鎾ゅ崟鐨勫ぇ鍗曚俊鎭細[锛堝ぇ鍗曟�绘墜鏁�, 澶у崟鎬荤瑪鏁帮級, 锛堝ぇ鍗曟挙鍗曟墜鏁�, 澶у崟鎾ゅ崟绗旀暟锛�, ] + canceled_info_of_big_orders = [[0,0],[0,0]] for x in before_watch_indexed_info: - money = limit_up_price * x[1] - for t in tss: - if t[0] <= money < t[1]: - rate_info_dict[t[0]][0] += x[1] - if x[0] in canceled_indexes: - rate_info_dict[t[0]][1] += x[1] - break - watch_index_info = [(k, v) for k, v in rate_info_dict.items()] - watch_index_info.sort(key=lambda x: x[0]) - watch_index_info = [x[1] for x in watch_index_info] - watch_index_info_details = [] - for x in watch_index_info: - if x[0] > 0: - watch_index_info_details.append(f"{int(round(x[1] * 100 / x[0]))}") - else: - watch_index_info_details.append(f"--") - fresults.append(watch_index_info_details) + money = limit_up_price * x[1] * 100 + if money < BIG_ORDER_NUM_THRESHOLD: + continue + canceled_info_of_big_orders[0][0] += x[1] + canceled_info_of_big_orders[0][1] += 1 + if x[0] in canceled_indexes: + canceled_info_of_big_orders[1][0] += x[1] + canceled_info_of_big_orders[1][1] += 1 + #(澶у崟鎾ゅ崟姣斾緥锛屽ぇ鍗曟�婚噾棰濓紝澶у崟鎬荤瑪鏁帮紝澶у崟鎾ゅ崟閲戦锛屽ぇ鍗曟挙鍗曠瑪鏁�) + if canceled_info_of_big_orders[0][0] > 0: + big_order_canceled_rate = int(round(canceled_info_of_big_orders[1][0]*100/canceled_info_of_big_orders[0][0])) + else: + big_order_canceled_rate = -1 + fresults.append((big_order_canceled_rate,int(canceled_info_of_big_orders[0][0]*limit_up_price*100),canceled_info_of_big_orders[0][1],int(canceled_info_of_big_orders[1][0]*limit_up_price*100), canceled_info_of_big_orders[1][1])) return fresults -- Gitblit v1.8.0