| | |
| | | # 是否在禁止交易代码中 |
| | | import redis_manager |
| | | import tool |
| | | 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 |
| | | from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager |
| | | |
| | | __redis_manager = redis_manager.RedisManager(2) |
| | | |
| | | |
| | | # 初始化禁止交易代码库 |
| | | def init_forbidden_trade_codes(): |
| | | key = "forbidden-trade-codes" |
| | | redis = __redis_manager.getRedis() |
| | | count = redis.scard(key) |
| | | if count > 0: |
| | | redis.delete(key) |
| | | redis.sadd(key, "000000") |
| | | redis.expire(key, tool.get_expire()) |
| | | gpcode_manager.BlackListCodeManager().clear() |
| | | gpcode_manager.BlackListCodeManager().add_code("000000") |
| | | |
| | | |
| | | # 移除禁止交易代码 |
| | | def remove_from_forbidden_trade_codes(code): |
| | | key = "forbidden-trade-codes" |
| | | redis = __redis_manager.getRedis() |
| | | redis.srem(key, code) |
| | | gpcode_manager.BlackListCodeManager().remove_code(code) |
| | | |
| | | |
| | | # 添加代码到禁止交易 |
| | | def add_to_forbidden_trade_codes(code): |
| | | key = "forbidden-trade-codes" |
| | | redis = __redis_manager.getRedis() |
| | | redis.sadd(key, code) |
| | | redis.expire(key, tool.get_expire()) |
| | | def __add_to_forbidden_trade_codes(code): |
| | | gpcode_manager.BlackListCodeManager().add_code(code) |
| | | |
| | | |
| | | # 禁止代码交易 |
| | | def forbidden_trade(code): |
| | | add_to_forbidden_trade_codes(code) |
| | | # l2_data_manager.remove_from_l2_fixed_codes(code) |
| | | # l2_code_operate.L2CodeOperate.get_instance().remove_l2_listen(code, "禁止代码交易") |
| | | # force 是否强制加入黑名单 |
| | | def forbidden_trade(code, msg=None, force=False): |
| | | need_add = False |
| | | if force: |
| | | need_add = True |
| | | else: |
| | | # 检查是否在想买单中 |
| | | if gpcode_manager.HumanRemoveForbiddenManager().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}") |
| | | |
| | | |
| | | |
| | | def is_in_forbidden_trade_codes(code): |
| | | key = "forbidden-trade-codes" |
| | | redis = __redis_manager.getRedis() |
| | | return redis.sismember(key, code) |
| | | return gpcode_manager.BlackListCodeManager().is_in_cache(code) |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | add_to_forbidden_trade_codes("605133") |