Administrator
2025-04-17 25eb363dfa7fcd21fe85f70434e80c787cab5e12
订阅bug解决
2个文件已修改
22 ■■■■■ 已修改文件
trade/buy_radical/block_special_codes_manager.py 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/current_price_process_manager.py 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/buy_radical/block_special_codes_manager.py
@@ -70,7 +70,7 @@
        @param blocks: 板块
        @return:
        """
        trade_record_log_util.add_temp_special_codes(code, f"新题材辨识度设置:{blocks}")
        old_blocks = self.__temp_code_blocks_dict.get(code, set())
        self.__temp_code_blocks_dict[code] = set(blocks)
@@ -87,6 +87,9 @@
                    self.__temp_block_codes_dict[b] = set()
                self.__temp_block_codes_dict[b].discard(code)
        if add_blocks or del_blocks:
            trade_record_log_util.add_temp_special_codes(code, f"新题材辨识度设置:{blocks}")
    def set_block_codes_list(self, datas):
        """
        设置数据
trade/current_price_process_manager.py
@@ -17,6 +17,7 @@
from trade.buy_radical import radical_buy_data_manager, new_block_processor
from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager
from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager, RadicalBuyDataManager
from trade.order_statistic import DealAndDelegateWithBuyModeDataManager
from utils import tool, import_util
from trade import trade_manager, l2_trade_util, trade_constant
from trade.trade_data_manager import CodeActualPriceProcessor, RadicalBuyDealCodesManager
@@ -31,7 +32,8 @@
latest_add_codes = set()
def compute_code_order(code, top_in_blocks=None, yesterday_limit_up_codes=None, today_history_limit_up_codes=None, top_out_blocks=None):
def compute_code_order(code, top_in_blocks=None, yesterday_limit_up_codes=None, today_history_limit_up_codes=None,
                       top_out_blocks=None):
    """
    计算代码的排序
    @param code:
@@ -52,7 +54,9 @@
        return -1
        # 黑名单
    trade_state = trade_manager.CodesTradeStateManager().get_trade_state_cache(code)
    # 处于委托状态的必须订阅
    if trade_state == trade_constant.TRADE_STATE_BUY_DELEGATED or trade_state == trade_constant.TRADE_STATE_BUY_PLACE_ORDER:
        return 0
    if l2_trade_util.is_in_forbidden_trade_codes(code):
        # 没有成交
        if trade_state == trade_constant.TRADE_STATE_BUY_SUCCESS:
@@ -60,14 +64,13 @@
            return 998
        else:
            return -1
    deal_codes = RadicalBuyDealCodesManager().get_deal_codes()
    result = RadicalBuyDataManager().is_code_can_buy(code, deal_codes)
    if not result[0]:
        if len(result) > 2 and result[2]:
            # 可以拉黑
            if new_block_processor.is_can_forbidden(code):
                l2_trade_util.forbidden_trade(code, msg = result[1])
                l2_trade_util.forbidden_trade(code, msg=result[1])
        return -1
    # 想买单
@@ -132,7 +135,8 @@
    # 判断今日辨识度
    try:
        for b in blocks:
            if radical_buy_data_manager.RadicalBuyBlockManager.is_today_block_special_codes(code, b, yesterday_limit_up_codes):
            if radical_buy_data_manager.RadicalBuyBlockManager.is_today_block_special_codes(code, b,
                                                                                            yesterday_limit_up_codes):
                if b in top_in_blocks:
                    index = top_in_blocks.index(b)
                    return index + 1
@@ -200,7 +204,8 @@
        _delete_list = []
        for item in new_code_list:
            trade_state = trade_manager.CodesTradeStateManager().get_trade_state_cache(item[1])
            if l2_trade_util.is_in_forbidden_trade_codes(item[1]) and trade_state != trade_constant.TRADE_STATE_BUY_SUCCESS:
            if l2_trade_util.is_in_forbidden_trade_codes(
                    item[1]) and trade_state != trade_constant.TRADE_STATE_BUY_SUCCESS:
                # 拉黑的尚未成交的代码
                _delete_list.append(item)
            elif item[0] < 0: