| | |
| | | def __load_datas(cls): |
| | | keys = cls.__get_redis().keys("trade_state-*") |
| | | for k in keys: |
| | | code = k.split("-")[1] |
| | | val = cls.__get_redis().get(k) |
| | | val = int(val) |
| | | cls.__trade_state_cache[code] = val |
| | | try: |
| | | code = k.split("-")[1] |
| | | strategy_type = int(k.split("-")[2]) |
| | | val = cls.__get_redis().get(k) |
| | | val = int(val) |
| | | cls.__trade_state_cache[f"{code}-{strategy_type}"] = val |
| | | except: |
| | | pass |
| | | |
| | | @classmethod |
| | | def __get_redis(cls): |
| | | return cls.__redisManager.getRedis() |
| | | |
| | | # 设置交易状态 |
| | | def set_trade_state(self, code, state): |
| | | self.__trade_state_cache[code] = state |
| | | RedisUtils.setex_async(constant.REDIS_DB, f"trade_state-{code}", tool.get_expire(), state) |
| | | def set_trade_state(self, code, strategy_type, state): |
| | | k = f"{code}-{strategy_type}" |
| | | self.__trade_state_cache[k] = state |
| | | RedisUtils.setex_async(constant.REDIS_DB, f"trade_state-{k}", tool.get_expire(), state) |
| | | |
| | | # 获取交易状态 |
| | | def get_trade_state(self, code): |
| | | state = self.__trade_state_cache.get(code) |
| | | def get_trade_state(self, code, strategy_type): |
| | | k = f"{code}-{strategy_type}" |
| | | state = self.__trade_state_cache.get(k) |
| | | if state is None: |
| | | return self.TRADE_STATE_NOT_BUY |
| | | return state |