Administrator
2024-12-03 ca32e2dc6a508305bbff5d05443217b8a0027148
L2订阅的目标代码修改
1个文件已修改
35 ■■■■■ 已修改文件
trade/current_price_process_manager.py 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/current_price_process_manager.py
@@ -10,7 +10,7 @@
from log_module.log import logger_l2_codes_subscript, logger_debug
import constant
from code_attribute import gpcode_manager
from third_data.kpl_data_constant import LimitUpCodesBlockRecordManager
from third_data.kpl_data_constant import LimitUpCodesBlockRecordManager, LimitUpDataConstant
from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager
from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager
from utils import tool, import_util
@@ -24,7 +24,7 @@
latest_add_codes = set()
def __compute_code_order(code, top_in_blocks=None, yesterday_limit_up_codes=None):
def __compute_code_order(code, top_in_blocks=None, yesterday_limit_up_codes=None, today_history_limit_up_codes =None):
    """
    计算代码的排序
    @param code:
@@ -36,6 +36,8 @@
        yesterday_limit_up_codes = set()
    if top_in_blocks is None:
        top_in_blocks = []
    if today_history_limit_up_codes is None:
        today_history_limit_up_codes = set()
        # 高位板
    if code in yesterday_limit_up_codes:
        return -1
@@ -59,18 +61,20 @@
    blocks = LimitUpCodesBlockRecordManager().get_radical_buy_blocks(code)
    if not blocks:
        return -1
    for b in blocks:
        if b in top_in_blocks:
            index = top_in_blocks.index(b)
            # 查询在板块中的排序
            info = RadicalBuyBlockManager().get_history_index(code, b, yesterday_limit_up_codes)
            if info[0] < 4:
                return index + 1
            elif info[0] < 6:
                # 判断是否具有辨识度
                special_codes = BlockSpecialCodesManager().get_block_codes(b)
                if special_codes and code in special_codes:
    if code in today_history_limit_up_codes:
        # 涨停过的代码才会计算板块身位
        for b in blocks:
            if b in top_in_blocks:
                index = top_in_blocks.index(b)
                # 查询在板块中的排序
                info = RadicalBuyBlockManager().get_history_index(code, b, yesterday_limit_up_codes)
                if info[0] < 4:
                    return index + 1
                elif info[0] < 6:
                    # 判断是否具有辨识度
                    special_codes = BlockSpecialCodesManager().get_block_codes(b)
                    if special_codes and code in special_codes:
                        return index + 1
    return 10000
@@ -86,6 +90,9 @@
    """
    logger_debug.debug(f"接收L1数据测试:流入前20-{top_in_blocks}")
    if True:
        today_history_limit_up_codes = set([d[3] for d in LimitUpDataConstant.history_limit_up_datas])
        _code_list = []
        _delete_list = []
        temp_prices = []
@@ -96,7 +103,7 @@
            pricePre = gpcode_manager.CodePrePriceManager.get_price_pre_cache(code)
            if pricePre is not None:
                # 是否是想买单
                order_index = __compute_code_order(code, top_in_blocks, yesterday_limit_up_codes)
                order_index = __compute_code_order(code, top_in_blocks, yesterday_limit_up_codes, today_history_limit_up_codes)
                rate = round((price - pricePre) * 100 / pricePre, 2)
                if tool.is_ge_code(code):