# 是否在禁止交易代码中 from code_attribute import gpcode_manager from db import redis_manager_delegate as redis_manager from log_module import async_log_util from log_module.log import logger_trade from trade import trade_record_log_util __redis_manager = redis_manager.RedisManager(2) # 初始化禁止交易代码库 def init_forbidden_trade_codes(): gpcode_manager.BlackListCodeManager().clear() gpcode_manager.BlackListCodeManager().add_code("000000") # 移除禁止交易代码 def remove_from_forbidden_trade_codes(code): gpcode_manager.BlackListCodeManager().remove_code(code) # 添加代码到禁止交易 def add_to_forbidden_trade_codes(code): gpcode_manager.BlackListCodeManager().add_code(code) # 禁止代码交易 # force 是否强制加入黑名单 def forbidden_trade(code, msg=None, force=False): need_add = False if force: need_add = True else: # 检查是否在想买单中 if gpcode_manager.WantBuyCodesManager().is_in_cache(code): need_add = False else: need_add = True if need_add: if not is_in_forbidden_trade_codes(code): trade_record_log_util.add_forbidden_buy_log(code, msg) add_to_forbidden_trade_codes(code) async_log_util.warning(logger_trade, f"{code}加入黑名单原因:{msg}") # l2_data_manager.remove_from_l2_fixed_codes(code) # l2_code_operate.L2CodeOperate.get_instance().remove_l2_listen(code, "禁止代码交易") def is_in_forbidden_trade_codes(code): return gpcode_manager.BlackListCodeManager().is_in_cache(code)