| | |
| | | """ |
| | | 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 = 100 |
| | | # 价格区间 |
| | | self.price_range = (3, 60) |
| | | # 老题材涨停数 |
| | |
| | | # 昨日不能跌停 |
| | | self.cant_yesterday_limit_down = True |
| | | # 昨日不能炸板 |
| | | self.cant_yesterday_open_limit_up = False |
| | | self.cant_yesterday_open_limit_up = True |
| | | # 有涨停的交易日数量 |
| | | self.has_limit_up_days = 10 |
| | | # xx个交易日内不能有xx次涨停 |
| | |
| | | self.count_of_open_limit_up = 3 |
| | | # 是否可买创业板 |
| | | self.can_buy_ge_code = True |
| | | # 自由市值范围 |
| | | self.zyltgb_range = (10e8, 300e8) |
| | | # 自由市值范围(单位为亿) |
| | | self.zyltgb_range = (10, 300) |
| | | # 是否可买今日涨停过的票 |
| | | self.can_buy_limited_up = False |
| | | # 最低开盘涨幅 |
| | | self.min_open_rate = -0.02 |
| | | self.min_open_rate = -3 |
| | | # 可买的涨幅比例 |
| | | 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) |