From 96ede6bdcb28d8d2a8d50146564cbbc67bacf23b Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期三, 13 三月 2024 16:21:46 +0800 Subject: [PATCH] 板上买的条件调整 --- l2/l2_data_manager_new.py | 40 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 36 insertions(+), 4 deletions(-) diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py index 7eae4e3..d611564 100644 --- a/l2/l2_data_manager_new.py +++ b/l2/l2_data_manager_new.py @@ -1619,10 +1619,18 @@ limit_up_price = gpcode_manager.get_limit_up_price(code) if limit_up_price is None: raise Exception("娑ㄥ仠浠锋棤娉曡幏鍙�") + limit_up_price = float(limit_up_price) threshold_num = None # 澶х洰鏍囨墜鏁帮紙婊¤冻杩欎釜灏变笉闇�瑕佺湅瀹夊叏绗旀暟锛� threshold_max_num = None + + # 鐩爣璁㈠崟鏁伴噺 + threshold_count = cls.__l2PlaceOrderParamsManagerDict[code].get_safe_count() + + # 鏈�澶ч棿闅旀椂闂磎s + max_space_time_ms = cls.__l2PlaceOrderParamsManagerDict[code].get_time_range() * 1000 + # ----------------璋冩暣鏉夸笂涓嬪崟鐨刴鍊间笌瀹夊叏绗旀暟---------------- if at_limit_up: # 鏉夸笂涔帮紝鑾峰彇鏈�杩戜竴娆¢棯鐢典笅鍗曠殑鎬诲崠棰� @@ -1632,6 +1640,32 @@ # 鎬诲崠鐨勪竴鍗婁綔涓簃鍊� threshold_num = int(sell_data[1] / (limit_up_price * 100)) // 2 threshold_max_num = 1 + # 淇″彿涓轰箣鍓嶆湁寰呮垚浜ょ殑澶у崟锛堜笉鏄鍦ㄦ垚浜わ級 + trade_index,is_default = cls.__TradeBuyQueue.get_traded_index(code) + if not is_default and trade_index is not None: + temp_big_num = int(30000/limit_up_price) + for i in range(trade_index+1, buy_single_index): + data = total_datas[i] + val = data['val'] + if not L2DataUtil.is_limit_up_price_buy(val): + continue + # 鍒ゆ柇鏄惁鏈夊ぇ鍗曟湭鎴愪氦 + if temp_big_num > val["num"]: + continue + + left_count = l2_data_source_util.L2DataSourceUtils.get_limit_up_buy_no_canceled_count_v2(code, + data[ + "index"], + total_datas, + local_today_canceled_buyno_map.get( + code)) + if left_count > 0: + # 瀹夊叏绗旀暟涓庡泭鎷椂闂磋寖鍥翠慨鏀� + threshold_count = 3 + max_space_time_ms = 9*1000 + break + + if not threshold_num: # 鐩爣鎵嬫暟 @@ -1640,16 +1674,14 @@ threshold_max_num = int(threshold_num * 1.2) # place_order_count = trade_data_manager.PlaceOrderCountManager().get_place_order_count(code) - # 鐩爣璁㈠崟鏁伴噺 - threshold_count = cls.__l2PlaceOrderParamsManagerDict[code].get_safe_count() + # buy_single_time_seconds = L2DataUtil.get_time_as_second(total_datas[buy_single_index]["val"]["time"]) # 鍙互瑙﹀彂涔帮紝褰撴湁娑ㄥ仠涔颁俊鍙锋椂鎵嶄細瑙﹀彂涔� trigger_buy = True - # 鏈�澶ч棿闅旀椂闂磎s - max_space_time_ms = cls.__l2PlaceOrderParamsManagerDict[code].get_time_range() * 1000 + # 濡傛灉澶у崟鍚湁鐜囧ぇ浜�50%锛屽垯鏃堕棿鍥婃嫭鑼冨洿鎻愰珮鍒�3s if max_num_set and origin_count: if len(max_num_set) / origin_count > 0.5: -- Gitblit v1.8.0