From 077e12531a7b005e4e89a30c789d3de7c6201e82 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期二, 13 八月 2024 17:43:12 +0800 Subject: [PATCH] 新P撤 --- l2/cancel_buy_strategy.py | 16 +++++++++++++++- 1 files changed, 15 insertions(+), 1 deletions(-) diff --git a/l2/cancel_buy_strategy.py b/l2/cancel_buy_strategy.py index 37744a1..e6988cd 100644 --- a/l2/cancel_buy_strategy.py +++ b/l2/cancel_buy_strategy.py @@ -22,7 +22,7 @@ from utils import tool from l2.transaction_progress import TradeBuyQueue from trade import trade_queue_manager, l2_trade_factor, trade_manager, trade_data_manager -from l2 import l2_log, l2_data_source_util +from l2 import l2_log, l2_data_source_util, code_price_manager from l2.l2_data_util import L2DataUtil, local_today_num_operate_map, local_today_datas, local_today_buyno_map, \ local_today_canceled_buyno_map from log_module.log import logger_buy_1_volumn, logger_l2_error @@ -221,6 +221,8 @@ __redis_manager = redis_manager.RedisManager(0) __real_order_index_cache = {} __max_buy_order_num_cache = {} + # 涓嬪崟璺濈澶繙璁$畻 + __far_away_computed_cache = {} __instance = None @@ -284,6 +286,7 @@ # 璁剧疆鐪熷疄鐨勪笅鍗曚綅缃� def set_real_order_index(self, code, index, is_default): self.__set_real_order_index(code, index, is_default) + self.__far_away_computed_cache[code] = False # if not is_default and code.find("60") == 0: try: # 缁熻鏈垚浜ょ殑鏈�澶у崟 @@ -431,6 +434,17 @@ total_count, total_num = L2DataComputeUtil.compute_left_buy_order(code, trade_index, real_order_index, limit_up_price, min_money) + # 涓嬪崟鍚�3绉掞紝鎺掓挙姣斾緥鈮�65%鍒欐挙鎺夛紝瑙嗕负P鎾ょ殑涓�绉嶏紝鎺掑緱澶悗浜嗐�� + if sub_time > 3 and not self.__far_away_computed_cache.get(code): + self.__far_away_computed_cache[code] = True + # 鎴愪氦杩涘害浣嶅埌鐪熷疄涓嬪崟浣嶇殑浣嶇疆杩囪繙 + total_count_, total_num_ = L2DataComputeUtil.compute_left_buy_order(code, trade_index, real_order_index, + limit_up_price, 500000) + # 鑾峰彇涔�1閲戦 + buy1_money = code_price_manager.Buy1PriceManager().get_latest_buy1_money(code) + 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 -- Gitblit v1.8.0