Administrator
5 天以前 09f84c4ecae2a71e07f6dd64e6066563599a62b6
strategy/strategy_params_settings.py
@@ -3,6 +3,10 @@
"""
import json
from db.mysql_data_delegate import Mysqldb
from utils import tool
class StrategyParamsSettings:
    # 禁止买入
    STATE_FORBIDDEN_BUY = 0
@@ -14,6 +18,8 @@
        self.trade_state = 1
        # 买入金额
        self.buy_money = 2000
        # 最大买入票的数量
        self.max_buy_codes_count = 100
        # 价格区间
        self.price_range = (3, 60)
        # 老题材涨停数
@@ -25,7 +31,7 @@
        # 昨日不能跌停
        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次涨停
@@ -44,12 +50,12 @@
        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.21
        self.min_open_rate = -3
        # 可买的涨幅比例
        self.avaiable_rates = (-0.03, 0.07)
        # 今日涨停价需突破XX日最高价,None表示此条数据不生效
@@ -72,4 +78,28 @@
        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)