From 806e1c7b2296bf615faeddb5a78512ef61b52389 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 22 八月 2025 18:20:21 +0800 Subject: [PATCH] 测试资金明细 --- third_data/code_plate_key_manager.py | 47 +++++++++++++++++++++++++++++++++++------------ 1 files changed, 35 insertions(+), 12 deletions(-) diff --git a/third_data/code_plate_key_manager.py b/third_data/code_plate_key_manager.py index c63c710..2c0158b 100644 --- a/third_data/code_plate_key_manager.py +++ b/third_data/code_plate_key_manager.py @@ -14,6 +14,7 @@ from db.redis_manager_delegate import RedisUtils from third_data import kpl_block_util, kpl_api, kpl_util from settings.trade_setting import MarketSituationManager +from third_data.history_k_data_manager import HistoryKDataManager from third_data.history_k_data_util import HistoryKDatasUtils from third_data.kpl_data_constant import LimitUpCodesBlockRecordManager, ContainsLimitupCodesBlocksManager from third_data.third_blocks_manager import BlockMapManager @@ -21,7 +22,8 @@ from log_module import async_log_util from db import redis_manager_delegate as redis_manager, mysql_data_delegate as mysql_data -from log_module.log import logger_kpl_block_can_buy, logger_kpl_jx_out, logger_kpl_jx_in, logger_debug +from log_module.log import logger_kpl_block_can_buy, logger_kpl_jx_out, logger_kpl_jx_in, logger_debug, \ + logger_kpl_latest_gaobiao from third_data.kpl_util import KPLPlatManager from trade import l2_trade_util, trade_constant @@ -340,6 +342,17 @@ break if not has_continue: continue + + has_big_deal = False + # 鏈�杩�10涓氦鏄撴棩鐨勬垚浜ら瑕佸ぇ浜�10浜� + volumes_data = HistoryKDataManager().get_history_bars(code, dates[0]) + if volumes_data: + for d in volumes_data[:10]: + if d["amount"] > 10e8: + has_big_deal = True + break + if not has_big_deal: + continue target_codes.add(code) # 浠g爜瀵瑰簲鐨勬澘鍧� code_blocks = {} @@ -360,6 +373,7 @@ block_codes[b].add(code) print(block_codes) cls.__watch_block_high_codes = block_codes + logger_kpl_latest_gaobiao.info(f"{block_codes}") cls.__watch_high_codes.clear() for b in block_codes: cls.__watch_high_codes |= block_codes[b] @@ -370,23 +384,32 @@ def get_watch_high_codes(self): return self.__watch_high_codes + def get_watch_high_codes_by_block(self, b): + return self.__watch_block_high_codes.get(b) + def compute(self, code_rate_dict: dict): """ 鏍规嵁姣斾緥璁$畻闇�瑕佹媺榛戠殑浠g爜 @param code_rate_dict: 娑ㄥ箙鐧惧垎鏁� @return: """ - if self.__watch_block_high_codes: - forbidden_blocks = set() - for b in self.__watch_block_high_codes: - total_rate = 0 - for code in self.__watch_block_high_codes[b]: - if code in code_rate_dict: - total_rate += code_rate_dict.get(code) - average_rate = total_rate / len(self.__watch_block_high_codes[b]) - if average_rate < 1: - forbidden_blocks.add(b) - self.__kpl_forbidden_plates_cache = forbidden_blocks + try: + if self.__watch_block_high_codes: + forbidden_blocks = set() + for b in self.__watch_block_high_codes: + total_rate = 0 + for code in self.__watch_block_high_codes[b]: + if code in code_rate_dict: + total_rate += code_rate_dict.get(code) + average_rate = total_rate / len(self.__watch_block_high_codes[b]) + if average_rate < 1: + forbidden_blocks.add(b) + # async_log_util.info(logger_debug, f"鏉垮潡骞冲潎娑ㄥ箙 {b}-{average_rate}") + + self.__kpl_forbidden_plates_cache = forbidden_blocks + # async_log_util.info(logger_debug, f"鎷夐粦鏉垮潡锛歿forbidden_blocks}") + except Exception as e: + logger_debug.exception(e) class LimitUpCodesPlateKeyManager: -- Gitblit v1.8.0