From f62bb70f7ec94d513fad29572deec78a33a2d9bc Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期三, 29 十一月 2023 15:48:52 +0800 Subject: [PATCH] 买入策略调整 --- third_data/code_plate_key_manager.py | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-) diff --git a/third_data/code_plate_key_manager.py b/third_data/code_plate_key_manager.py index c66f962..b31f7f1 100644 --- a/third_data/code_plate_key_manager.py +++ b/third_data/code_plate_key_manager.py @@ -37,7 +37,7 @@ def __get_redis(self): return self.__redisManager.getRedis() - def save_jx_blocks(self, code, blocks: list, by=False): + def save_jx_blocks(self, code, blocks: list, current_limit_up_blocks: set, by=False): if not blocks: return final_blocks = copy.deepcopy(blocks) @@ -47,11 +47,10 @@ blocks.sort(key=lambda x: x[2]) blocks.reverse() for b in blocks: - if b[2] > 0 and b[1] not in constant.KPL_INVALID_BLOCKS: + if (b[2] > -1 or b[1] in current_limit_up_blocks) and b[1] not in constant.KPL_INVALID_BLOCKS: final_blocks.append(b) if len(final_blocks) < 2: final_blocks = blocks - # 淇濆瓨鍓�2鏉℃暟鎹� if by: RedisUtils.setex_async(self.__db, f"kpl_jx_blocks_by-{code}", tool.get_expire(), json.dumps(final_blocks)) @@ -89,8 +88,8 @@ else: return self.__code_blocks.get(code) - # 浠庣綉缁滀笂鍔犺浇绮鹃�夋澘鍧� - def load_jx_blocks(self, code, buy_1_price, limit_up_price): + # 浠庣綉缁滀笂鍔犺浇绮鹃�夋澘鍧�, 褰撳墠娑ㄥ仠鐨勬澘鍧� + def load_jx_blocks(self, code, buy_1_price, limit_up_price, current_limit_up_blocks): try: # logger_kpl_block_can_buy.info(f"鍑嗗鏇存柊绮鹃�夋澘鍧楋細{code}-{buy_1_price}-{limit_up_price}") if limit_up_price and buy_1_price: @@ -102,7 +101,7 @@ jx_blocks_info = self.get_jx_blocks_cache(code) if not jx_blocks_info: blocks = kpl_api.getCodeJingXuanBlocks(code) - self.save_jx_blocks(code, blocks) + self.save_jx_blocks(code, blocks, current_limit_up_blocks) async_log_util.info(logger_kpl_block_can_buy, f"{code}:鑾峰彇鍒扮簿閫夋澘鍧�-{blocks}") else: # 杩樻病娑ㄥ仠鐨勯渶瑕佹洿鏂扮簿閫夋澘鍧� 鏇存柊绮鹃�夋澘鍧� @@ -120,14 +119,14 @@ if time.time() - jx_blocks_info[1] > UPDATE_TIME_SPACE: # 璺濈涓婃鏇存柊鏃堕棿杩囧幓浜�5鍒嗛挓 blocks = kpl_api.getCodeJingXuanBlocks(code) - self.save_jx_blocks(code, blocks) + self.save_jx_blocks(code, blocks, current_limit_up_blocks) async_log_util.info(logger_kpl_block_can_buy, f"{code}:鑾峰彇鍒扮簿閫夋澘鍧楋紙鏇存柊锛�-{blocks}") elif price_rate > 0.03: # 娣诲姞澶囩敤鏉垮潡 if not self.get_jx_blocks_cache(code, by=True): blocks = kpl_api.getCodeJingXuanBlocks(code) - self.save_jx_blocks(code, blocks, by=True) + self.save_jx_blocks(code, blocks,current_limit_up_blocks, by=True) async_log_util.info(logger_kpl_block_can_buy, f"{code}:鑾峰彇鍒扮簿閫夋澘鍧�(澶囩敤)-{blocks}") except Exception as e: logger_kpl_block_can_buy.error(f"{code} 鑾峰彇鏉垮潡鍑洪敊") -- Gitblit v1.8.0