From 1176a493039ded49d888b451793bc272e18a9b5a Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期二, 02 四月 2024 14:16:05 +0800 Subject: [PATCH] 激进买 --- l2/l2_transaction_data_manager.py | 32 +++++++++++++++++++++++++++++++- 1 files changed, 31 insertions(+), 1 deletions(-) diff --git a/l2/l2_transaction_data_manager.py b/l2/l2_transaction_data_manager.py index 9efb94d..147463e 100644 --- a/l2/l2_transaction_data_manager.py +++ b/l2/l2_transaction_data_manager.py @@ -101,6 +101,8 @@ # 鏈�杩戠殑鍗栧崟, 鏍煎紡{code:[鍗栧崟鍙�,鎬绘墜鏁�,浠锋牸,锛�'寮�濮嬫椂闂�',涔板崟鍙凤級,锛�'缁撴潫鏃堕棿',涔板崟鍙凤級]} __latest_sell_order_dict = {} + # 鏈�杩戞墍鏈夌殑鍗栧崟 + __latest_all_sell_orders_dict = {} # 杩斿洖鏈�杩�1s鐨勫ぇ鍗曞崠锛�(鎬诲崠閲戦,[(鍗栧崟鍙�,鎬绘墜鏁�,浠锋牸,锛�'寮�濮嬫椂闂�',涔板崟鍙凤級,锛�'缁撴潫鏃堕棿',涔板崟鍙凤級),...]) @classmethod @@ -125,6 +127,9 @@ if code not in cls.__big_sell_order_info_list_dict: cls.__big_sell_order_info_list_dict[code] = [] + if code not in cls.__latest_all_sell_orders_dict: + cls.__latest_all_sell_orders_dict[code] = [] + sell_no_map = local_today_sellno_map.get(code) total_datas = local_today_datas.get(code) if not sell_no_map: @@ -140,17 +145,23 @@ cls.__latest_sell_order_dict[code][4] = (d[3], d[6]) else: info = cls.__latest_sell_order_dict[code] + # 涓婁釜鍗栧崟鎴愪氦瀹屾垚 # 灏佸瓨鏁版嵁锛岃绠楁柊璧风偣 # 澶т簬50w鐨勫崠鍗曟墠浼氫繚瀛� # 澶т簬50w鍔犲叆鍗栧崟 - if info[1] * info[2] >= 500000: + cls.__latest_all_sell_orders_dict[code].append(info) + money = info[1] * info[2] + if money >= 500000: if is_active_sell(info[0]): l2_log.info(code, hx_logger_l2_transaction_sell_order, f"{cls.__latest_sell_order_dict[code]}") cls.__big_sell_order_ids_dict[code].add(info[0]) cls.__big_sell_order_info_dict[code][info[0]] = info cls.__big_sell_order_info_list_dict[code].append(info) + # 鍙繚鐣�10w浠ヤ笂鐨勫崟 + if money > 100000: + cls.__latest_all_sell_orders_dict[code].append(info) cls.__latest_sell_order_dict[code] = [d[7], d[2], d[1], (d[3], d[6]), (d[3], d[6])] latest_time = l2_huaxin_util.convert_time(datas[-1][3], with_ms=True) @@ -200,3 +211,22 @@ big_sell_orders.reverse() total_sell_info[1] = big_sell_orders return total_sell_info + + # 鑾峰彇鏈�杩戞垚浜ゆ暟鎹� + @classmethod + def get_latest_transaction_datas(cls, code, min_sell_order_no=None): + total_orders = [] + sell_orders = cls.__latest_all_sell_orders_dict.get(code) + if sell_orders: + for i in range(len(sell_orders) - 1, -1, -1): + if min_sell_order_no and min_sell_order_no > sell_orders[i][0]: + break + total_orders.append(sell_orders[i]) + total_orders.extend(sell_orders) + if code in cls.__latest_sell_order_dict: + if min_sell_order_no : + if cls.__latest_sell_order_dict[code][0] >= min_sell_order_no: + total_orders.append(cls.__latest_sell_order_dict[code]) + else: + total_orders.append(cls.__latest_sell_order_dict[code]) + return total_orders -- Gitblit v1.8.0