From 68464c679ae5e1ae35e7e67e3b339ba0f939cbd3 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期三, 15 三月 2023 14:46:03 +0800 Subject: [PATCH] 选股宝板块优化 --- juejin.py | 42 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 37 insertions(+), 5 deletions(-) diff --git a/juejin.py b/juejin.py index b082ce0..21ee3b9 100644 --- a/juejin.py +++ b/juejin.py @@ -20,6 +20,7 @@ import constant import global_data_loader import global_util +import gpcode_first_screen_manager import gpcode_manager import threading @@ -74,7 +75,16 @@ # 9鐐�25涔嬪墠鍒犻櫎鎵�鏈変唬鐮� if tool.trade_time_sub(tool.get_now_time_str(), "09:25:00") <= 0: + # 鍒犻櫎L2鐩戝惉浠g爜 gpcode_manager.clear_listen_codes() + # 鍒犻櫎棣栨澘浠g爜 + gpcode_manager.clear_first_codes() + # 鍒犻櫎棣栨澘鏈瓫閫変唬鐮� + gpcode_first_screen_manager.clear_first_no_screen_codes() + # 鍒犻櫎绂佹浠g爜 + l2_trade_util.init_forbidden_trade_codes() + # 娓呯┖鐧藉悕鍗� + l2_trade_util.WhiteListCodeManager.clear() # TODO 鍒犻櫎鎵�鏈夐鏉夸唬鐮� @@ -148,7 +158,7 @@ # 鍒濆鍖栧唴瀹� clients = authority.get_l2_clients() for client in clients: - for i in range(0, 8): + for i in range(0, constant.L2_CODE_COUNT_PER_DEVICE): gpcode_manager.init_listen_code_by_pos(client, i) @@ -156,7 +166,7 @@ # 鍒濆鍖栧唴瀹� clients = authority.get_l2_clients() for c in clients: - for i in range(0, 8): + for i in range(0, constant.L2_CODE_COUNT_PER_DEVICE): gpcode_manager.init_listen_code_by_pos(int(c), i) codes = gpcode_manager.get_gp_list() result = JueJinManager.get_gp_latest_info(codes) @@ -268,7 +278,7 @@ __actualPriceProcessor.save_current_price_codes_count(len(prices)) # 閲囬泦鐨勪唬鐮佹暟閲忎笉瀵� - if len(gpcode_manager.get_gp_list()) - len(prices) > 2: + if len(gpcode_manager.get_gp_list()) - len(prices) > 10: return now_str = tool.get_now_time_str() now_strs = now_str.split(":") @@ -362,6 +372,19 @@ for code in add_code_list: if not gpcode_manager.is_listen_old(code): L2CodeOperate.get_instance().add_operate(1, code, "鐜颁环鍙樺寲") + + # 鑾峰彇鍗′綅鏁伴噺 + free_count = gpcode_manager.get_free_listen_pos_count() + if free_count < 2: + # 绌洪棽浣嶇疆涓嶈冻 + listen_codes = gpcode_manager.get_listen_codes() + for code in listen_codes: + if not gpcode_manager.is_in_gp_pool(code): + client_id, pos = gpcode_manager.get_listen_code_pos(code) + gpcode_manager.set_listen_code_by_pos(client_id, pos, "") + free_count += 1 + if free_count > 2: + break print(add_code_list, del_code_list) @@ -586,5 +609,14 @@ if __name__ == '__main__': - print(get_volumn("002115")) - print(JueJinManager.get_lowest_price_rate("002713", 15)) + free_count = 0 + if free_count < 2: + # 绌洪棽浣嶇疆涓嶈冻 + listen_codes = gpcode_manager.get_listen_codes() + for code in listen_codes: + if not gpcode_manager.is_in_gp_pool(code): + client_id, pos = gpcode_manager.get_listen_code_pos(code) + gpcode_manager.set_listen_code_by_pos(client_id, pos, "") + free_count += 1 + if free_count > 2: + break -- Gitblit v1.8.0