From d2d5ca80907183f88a5e78aa28c085a746868d6d Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期三, 13 十一月 2024 18:50:56 +0800 Subject: [PATCH] 扫入策略修改 --- third_data/kpl_data_constant.py | 22 +++++++++++++--------- 1 files changed, 13 insertions(+), 9 deletions(-) diff --git a/third_data/kpl_data_constant.py b/third_data/kpl_data_constant.py index 6713879..e0ef757 100644 --- a/third_data/kpl_data_constant.py +++ b/third_data/kpl_data_constant.py @@ -8,9 +8,12 @@ from utils.kpl_data_db_util import KPLLimitUpDataUtil # 鐢ㄤ簬璁$畻婵�杩涗拱寮�1鐨勬澘鏁帮細{"浠g爜":(鍑犵増,{鏉垮潡})} +from utils.tool import singleton + open_limit_up_code_dict_for_radical_buy = None +@singleton class LimitUpCodesBlockRecordManager: """ 鍘嗗彶娑ㄥ仠浠g爜鐨勬澘鍧楃鐞� @@ -26,15 +29,16 @@ __instance = None - def __new__(cls, *args, **kwargs): - if not cls.__instance: - cls.__instance = super(LimitUpCodesBlockRecordManager, cls).__new__(cls, *args, **kwargs) - cls.__load_data() - return cls.__instance + __day = tool.get_now_date_str() + + def __init__(self, day=tool.get_now_date_str()): + self.__day = day + self.__load_data() @classmethod def __load_data(cls): - kpl_results = KPLLimitUpDataUtil.get_latest_block_infos() + kpl_results = KPLLimitUpDataUtil.get_latest_block_infos(min_day=tool.date_sub(cls.__day, 180), + max_day=cls.__day) limit_up_reasons_dict = {} limit_up_recommend_block_dict = {} for r in kpl_results: @@ -55,11 +59,10 @@ cls.__limit_up_recommend_reasons_dict[code] = set(limit_up_recommend_block_dict[code]) # 鍔犺浇涓烘壂鍏ヤ拱鍖归厤鐨勪唬鐮佹澘鍧� - kpl_results = KPLLimitUpDataUtil.get_latest_block_infos(min_day=tool.date_sub(tool.get_now_date_str(), 365)) + kpl_results = KPLLimitUpDataUtil.get_latest_block_infos(min_day=tool.date_sub(cls.__day, 365), + max_day=cls.__day) kpl_block_dict = {} for r in kpl_results: - if r[2] in constant.KPL_INVALID_BLOCKS: - continue code = r[0] if code not in kpl_block_dict: kpl_block_dict[code] = [] @@ -80,6 +83,7 @@ if len(temp_list) > 1: if temp_list[1][1] >= 2: blocks.add(temp_list[1][0]) + blocks -= constant.KPL_INVALID_BLOCKS cls.__radical_buy_reasons_dict[code] = blocks def get_limit_up_reasons(self, code): -- Gitblit v1.8.0