From 70f473d20da7532f4cb2f84b7e82b0bcee357700 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期一, 24 四月 2023 15:45:36 +0800 Subject: [PATCH] 修复大单bug,优化买入时的档口要求 --- l2/l2_data_manager_new.py | 31 ++++++++++++++++++++++++------- 1 files changed, 24 insertions(+), 7 deletions(-) diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py index 358e867..50f9580 100644 --- a/l2/l2_data_manager_new.py +++ b/l2/l2_data_manager_new.py @@ -672,6 +672,25 @@ def __can_buy_first(cls, code): if not trade_manager.TradeStateManager.is_can_buy(): return False, True, f"浠婃棩宸茬姝氦鏄�" + + # 鍒ゆ柇涔�1浠锋牸妗d綅 + zyltgb = global_util.zyltgb_map.get(code) + if zyltgb is None: + global_data_loader.load_zyltgb() + zyltgb = global_util.zyltgb_map.get(code) + buy1_price = code_price_manager.Buy1PriceManager.get_buy1_price(code) + if buy1_price is None: + return False, True, f"灏氭湭鑾峰彇鍒颁拱1浠�" + limit_up_price = gpcode_manager.get_limit_up_price(code) + dif = float(limit_up_price) - float(buy1_price) + if zyltgb >= 80 * 100000000: + # 澶т簬2妗� + if dif > 0.02001: + return False, True, f"涔�1鍓╀綑妗f暟澶т簬2妗o紝涔颁竴锛坽buy1_price}锛夋定鍋滐紙{limit_up_price}锛�" + else: + if dif > 0.03001: + return False, True, f"涔�1鍓╀綑妗f暟澶т簬3妗o紝涔颁竴锛坽buy1_price}锛夋定鍋滐紙{limit_up_price}锛�" + limit_up_info = code_price_manager.Buy1PriceManager.get_limit_up_info(code) if limit_up_info[0] is None and False: total_data = local_today_datas.get(code) @@ -707,10 +726,6 @@ score = cls.__l2PlaceOrderParamsManagerDict[code].score score_info = cls.__l2PlaceOrderParamsManagerDict[code].score_info - zyltgb = global_util.zyltgb_map.get(code) - if zyltgb is None: - global_data_loader.load_zyltgb() - zyltgb = global_util.zyltgb_map.get(code) # 鍖哄垎澶хエ锛屽皬绁� if zyltgb >= 80 * 100000000: if cls.volume_rate_info[code][0] < 0.5: @@ -1132,15 +1147,17 @@ l2_log.buy_debug(code, "浣嶇疆-{}锛屾�绘墜鏁帮細{}锛岀洰鏍囨墜鏁帮細{}", i, buy_nums, threshold_num) + max_buy_num_set_count = 0 + for i in max_buy_num_set: + max_buy_num_set_count += total_datas[i]["re"] # 鏈夋挙鍗曚俊鍙凤紝涓斿皬浜庨槇鍊� - if buy_nums >= threshold_num and buy_count >= get_threshold_count() and trigger_buy and len( - max_buy_num_set) >= big_num_count: + if buy_nums >= threshold_num and buy_count >= get_threshold_count() and trigger_buy and max_buy_num_set_count >= big_num_count: return i, buy_nums, buy_count, None, max_buy_num_set l2_log.buy_debug(code, "灏氭湭鑾峰彇鍒颁拱鍏ユ墽琛岀偣锛岃捣濮嬭绠椾綅缃細{} 缁熻绾拱鎵嬫暟锛歿} 鐩爣绾拱鎵嬫暟锛歿} 缁熻绾拱鍗曟暟锛歿} 鐩爣绾拱鍗曟暟锛歿} 澶у崟鏁伴噺锛歿} 鐩爣澶у崟鏁伴噺锛歿}", compute_start_index, buy_nums, - threshold_num, buy_count, get_threshold_count(), len(max_buy_num_set), big_num_count) + threshold_num, buy_count, get_threshold_count(), max_buy_num_set_count, big_num_count) return None, buy_nums, buy_count, None, max_buy_num_set -- Gitblit v1.8.0