Administrator
2024-11-18 e240fb424005fd880be8cb3a5f91a7c1e163e3b5
third_data/code_plate_key_manager.py
@@ -18,7 +18,7 @@
from log_module import async_log_util
from db import redis_manager_delegate as redis_manager
from log_module.log import logger_kpl_block_can_buy, logger_kpl_jx_out
from log_module.log import logger_kpl_block_can_buy, logger_kpl_jx_out, logger_kpl_jx_in
from third_data.kpl_util import KPLPlatManager
from trade import trade_manager, l2_trade_util, trade_constant
@@ -353,12 +353,49 @@
        @param datas:
        @return:
        """
        # blocks = set()
        # 老版本实现方式
        # for data in datas:
        #     if data[3] <= 0:
        #         break
        #     blocks.add(data[1])
        # cls.__top_jx_blocks = blocks
        if True:
            return
        blocks = set()
        for data in datas:
            if data[3] <= 0:
                break
            if data[1] in constant.KPL_INVALID_BLOCKS:
                continue
            if data[3] < 5e7:
                continue
            blocks.add(data[1])
        cls.__top_jx_blocks = blocks
            if len(blocks) >= 10:
                break
            blocks.add(kpl_util.filter_block(data[1]))
        # 记录精选流出日志
        async_log_util.info(logger_kpl_jx_in, f"原数据:{datas[:20]} 板块:{blocks}")
        cls.__top_jx_blocks = BlockMapManager().filter_blocks(blocks)
    @classmethod
    def set_market_jingxuan_blocks_from_custom(cls, datas):
        """
        设置自定义精选流入数据
        @param datas:[(板块,流入金额)]
        @return:
        """
        blocks = set()
        for data in datas:
            if data[0] in constant.KPL_INVALID_BLOCKS:
                continue
            if data[1] < 5e7:
                continue
            blocks.add(data[0])
            if len(blocks) >= 10:
                break
            blocks.add(kpl_util.filter_block(data[0]))
        # 记录精选流出日志
        async_log_util.info(logger_kpl_jx_in, f"原数据:{datas[:20]} 板块:{blocks}")
        cls.__top_jx_blocks = BlockMapManager().filter_blocks(blocks)
    @classmethod
    def set_market_jingxuan_out_blocks(cls, datas):
@@ -367,20 +404,44 @@
        @param datas:
        @return:
        """
        if True:
            return
        blocks = set()
        for i in range(0, len(datas)):
            if i >= 10 and int(tool.get_now_time_str().replace(":", "")) < int("100000"):
                # 10点前看前10,十点后不看前10
                break
            data = datas[i]
            if data[3] > 0 - 5e7:
        for data in datas:
            if data[1] in constant.KPL_INVALID_BLOCKS:
                continue
            if data[3] > -5e7:
                # 过滤5千万以上的
                break
            blocks.add(data[1])
            if len(blocks) >= 10:
                break
            blocks.add(kpl_util.filter_block(data[1]))
        # 记录精选流出日志
        async_log_util.info(logger_kpl_jx_out, f"原数据:{datas[:10]} 板块:{blocks}")
        cls.__top_jx_out_blocks = blocks
        cls.__top_jx_out_blocks = BlockMapManager().filter_blocks(blocks)
    @classmethod
    def set_market_jingxuan_out_blocks_from_custom(cls, datas):
        """
        设置自定义精选流出数据
        @param datas:[(板块,流入金额)]
        @return:
        """
        blocks = set()
        for data in datas:
            if data[0] in constant.KPL_INVALID_BLOCKS:
                continue
            if data[1] > -5e7:
                # 过滤5千万以上的
                break
            blocks.add(data[0])
            if len(blocks) >= 10:
                break
            blocks.add(kpl_util.filter_block(data[0]))
        # 记录精选流出日志
        async_log_util.info(logger_kpl_jx_out, f"原数据:{datas[:10]} 板块:{blocks}")
        cls.__top_jx_out_blocks = BlockMapManager().filter_blocks(blocks)
    @classmethod
    def get_top_market_jingxuan_blocks(cls):
@@ -1103,5 +1164,6 @@
        cls.__can_buy_compute_result_dict[code] = (
            can_buy_blocks, unique, msg, can_buy_strong_blocks, keys, active_buy_blocks)
if __name__ == "__main__":
    pass