| | |
| | | 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: |
| | | # 差 |