| | |
| | | """ |
| | | import json |
| | | |
| | | from db.mysql_data_delegate import Mysqldb |
| | | from utils import tool |
| | | |
| | | |
| | | class StrategyParamsSettings: |
| | | # 禁止买入 |
| | | STATE_FORBIDDEN_BUY = 0 |
| | |
| | | self.trade_state = 1 |
| | | # 买入金额 |
| | | self.buy_money = 2000 |
| | | # 最大买入票的数量 |
| | | self.max_buy_codes_count = 10 |
| | | # 价格区间 |
| | | self.price_range = (3, 60) |
| | | # 老题材涨停数 |
| | |
| | | # 是否可买今日涨停过的票 |
| | | self.can_buy_limited_up = False |
| | | # 最低开盘涨幅 |
| | | self.min_open_rate = -0.21 |
| | | self.min_open_rate = 0.00001 |
| | | # 可买的涨幅比例 |
| | | self.avaiable_rates = (-0.03, 0.07) |
| | | # 今日涨停价需突破XX日最高价,None表示此条数据不生效 |
| | |
| | | return obj |
| | | |
| | | |
| | | settings: StrategyParamsSettings = StrategyParamsSettings() |
| | | @tool.singleton |
| | | class StrategyParamsSettingsManager: |
| | | def __init__(self): |
| | | self.musql = Mysqldb() |
| | | self.__settings = StrategyParamsSettings() |
| | | self.__load_data() |
| | | |
| | | def __load_data(self): |
| | | sql = f"select `value` from config where `key` = 'low_suction_settings'" |
| | | setting_str_list = self.musql.select_one(sql) |
| | | if setting_str_list and setting_str_list[0]: |
| | | self.__settings = StrategyParamsSettings.to_obj(setting_str_list[0]) |
| | | |
| | | def set_settings(self, settings: StrategyParamsSettings): |
| | | sql = f"update config set `value` = '{settings.to_json_str()}' where `key` = 'low_suction_settings'" |
| | | self.musql.execute(sql) |
| | | self.__settings = settings |
| | | |
| | | def get_settings(self): |
| | | return self.__settings |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | settings = StrategyParamsSettingsManager().get_settings() |
| | | StrategyParamsSettingsManager().set_settings(settings) |