""" 交易设置 """ from db import redis_manager_delegate as redis_manager from db.redis_manager_delegate import RedisUtils from utils import tool @tool.singleton class TradeSetting: __db = 2 __redis_manager = redis_manager.RedisManager(2) # 运行状态 __TYPE_RUNNING_STATE = "running" # 自动买 __TYPE_AUTO_BUY = "auto_buy" # 自动卖 __TYPE_AUTO_SELL = "auto_sell" def __init__(self): # 赋初始值 self.auto_buy = 1 self.auto_sell = 1 self.running = 1 self.__load_data() def __get_redis(self): return self.__redis_manager.getRedis() def __load_data(self): result = RedisUtils.get(self.__get_redis(), self.__TYPE_RUNNING_STATE) if result is not None: self.running = int(result) result = RedisUtils.get(self.__get_redis(), self.__TYPE_AUTO_BUY) if result is not None: self.auto_buy = int(result) result = RedisUtils.get(self.__get_redis(), self.__TYPE_AUTO_SELL) if result is not None: self.auto_sell = int(result) ''' GUI中 暂停运行 自动买开关方法 自动卖开关方法 ''' def set_auto_buy(self, auto_buy): self.auto_buy = 1 if auto_buy else 0 RedisUtils.setex_async(self.__db, self.__TYPE_AUTO_BUY, tool.get_expire(), self.auto_buy) def set_auto_sell(self, auto_sell): self.auto_sell = 1 if auto_sell else 0 RedisUtils.setex_async(self.__db, self.__TYPE_AUTO_SELL, tool.get_expire(), self.auto_sell) def set_running(self, running): self.running = 1 if running else 0 RedisUtils.setex_async(self.__db, self.__TYPE_RUNNING_STATE, tool.get_expire(), self.running) def get_running(self): return self.running def get_auto_buy(self): return self.auto_buy def get_auto_sell(self): return self.auto_sell if __name__ == '__main__': if TradeSetting().get_auto_buy(): print("自动买") else: print("不自动买")