Administrator
2024-02-05 276f2b4575ce23ea5a8271e10e34ad87af03372f
trade/trade_manager.py
@@ -143,6 +143,49 @@
        return self.__trade_buy_mode_cache
# 自动撤卖模式管理
class AutoCancelSellModeManager:
    # 撤所有
    MODE_CANCEL_ALL = 0
    # 撤机器下单
    MODE_CANCEL_MECHINE = 1
    __instance = None
    __auto_cancel_sell_mode = MODE_CANCEL_ALL
    redisManager = redis_manager.RedisManager(2)
    def __new__(cls, *args, **kwargs):
        if not cls.__instance:
            cls.__instance = super(AutoCancelSellModeManager, cls).__new__(cls, *args, **kwargs)
            # 初始化设置
            # 获取交易窗口的锁
            cls.__auto_cancel_sell_mode = cls.get_mode()
        return cls.__instance
    @classmethod
    def __get_redis(cls):
        return cls.redisManager.getRedis()
    def set_mode(self, mode):
        if mode != self.MODE_CANCEL_ALL and mode != self.MODE_CANCEL_MECHINE:
            raise Exception("mode参数值错误")
        self.__auto_cancel_sell_mode = mode
        RedisUtils.setex(self.__get_redis(), "auto_cancel_sell_mode", tool.get_expire(), mode)
    # 是否可以下单
    @classmethod
    def get_mode(cls):
        # 默认设置为可交易
        val = RedisUtils.get(cls.__get_redis(), "auto_cancel_sell_mode")
        if val is None:
            return cls.MODE_CANCEL_ALL
        return int(val)
    def get_mode_cache(self):
        return self.__auto_cancel_sell_mode
# 市场行情等级管理
class MarketSituationManager:
    # 差