Administrator
2024-11-20 b105a75eaa4fe0e6826a737f103692478f11baa1
third_data/code_plate_key_manager.py
@@ -330,8 +330,10 @@
# 实时开盘啦市场数据
class RealTimeKplMarketData:
    # 精选前5
    top_5_reason_list = []
    # 流入缓存
    top_in_list_cache = []
    # 流出缓存
    top_out_list_cache = []
    # 行业前5
    top_5_industry_list = []
    #
@@ -342,9 +344,11 @@
    __LimitUpCodesPlateKeyManager = LimitUpCodesPlateKeyManager()
    __KPLPlatManager = KPLPlatManager()
    # 精选流入前几
    __top_jx_blocks = set()
    __top_jx_blocks = []
    # 精选流出前几
    __top_jx_out_blocks = set()
    __top_jx_out_blocks = []
    # 精选板块流入金额
    __jx_blocks_in_money_dict = {}
    @classmethod
    def set_market_jingxuan_blocks(cls, datas):
@@ -360,9 +364,12 @@
        #         break
        #     blocks.add(data[1])
        # cls.__top_jx_blocks = blocks
        cls.top_in_list_cache = datas
        blocks = set()
        count = 0
        fblock_money = {}
        for data in datas:
            cls.__jx_blocks_in_money_dict[data[1]] = data[3]
            if data[1] in constant.KPL_INVALID_BLOCKS:
                continue
            if data[3] < 5e7:
@@ -371,12 +378,16 @@
            fb = BlockMapManager().filter_blocks({data[1]})
            if blocks & fb:
                continue
            for b in fb:
                fblock_money[b] = data[3]
            blocks |= fb
            count += 1
            if count >= 10:
                break
        # 记录精选流出日志
        async_log_util.info(logger_kpl_jx_in, f"原数据:{datas[:20]} 板块:{blocks}")
        blocks = list(blocks)
        blocks.sort(key=lambda x: fblock_money.get(x), reverse=True)
        cls.__top_jx_blocks = blocks
    @classmethod
@@ -386,9 +397,11 @@
        @param datas:
        @return:
        """
        cls.top_out_list_cache = datas
        count = 0
        blocks = set()
        for data in datas:
            cls.__jx_blocks_in_money_dict[data[1]] = data[3]
            if data[1] in constant.KPL_INVALID_BLOCKS:
                continue
            if data[3] > -5e7:
@@ -404,7 +417,7 @@
                break
        # 记录精选流出日志
        async_log_util.info(logger_kpl_jx_out, f"原数据:{datas[:10]} 板块:{blocks}")
        cls.__top_jx_out_blocks = blocks
        cls.__top_jx_out_blocks = list(blocks)
    @classmethod
    def get_top_market_jingxuan_blocks(cls):
@@ -456,6 +469,10 @@
        else:
            return False, None
    @classmethod
    def get_jx_block_in_money(cls, block):
        return cls.__jx_blocks_in_money_dict.get(block)
# 代码历史涨停原因与板块管理
class CodesHisReasonAndBlocksManager: