波动系数

This commit is contained in:
zhangkun 2025-09-28 13:18:51 +08:00
parent d8b21219ae
commit 002f6016ff
2 changed files with 29 additions and 24 deletions

View File

@ -18,33 +18,33 @@
"add_position_callback": 0.043,
"add_position_growth": 4.5,
"add_position_multiplier": 0.86,
"max_entry_adjustments": 4,
"stake_divisor": 9.3,
"bb_length": 30,
"bb_lower_deviation": 1.05,
"bb_std": 2.7,
"bb_width_threshold": 0.016,
"h1_max_candles": 173,
"h1_max_consecutive_candles": 2,
"h1_rapid_rise_threshold": 0.061,
"max_entry_adjustments": 3,
"min_condition_count": 3,
"rsi_bull_threshold": 50,
"rsi_length": 17,
"rsi_oversold": 49,
"stochrsi_bull_threshold": 32,
"stochrsi_neutral_threshold": 24,
"volume_multiplier": 1.8
"bb_length": 19,
"bb_lower_deviation": 1.04,
"bb_std": 3.0,
"bb_width_threshold": 0.026,
"h1_max_candles": 290,
"h1_max_consecutive_candles": 3,
"h1_rapid_rise_threshold": 0.078,
"min_condition_count": 2,
"rsi_bull_threshold": 45,
"rsi_length": 16,
"rsi_oversold": 42,
"stochrsi_bull_threshold": 31,
"stochrsi_neutral_threshold": 22,
"volume_multiplier": 1.2
},
"sell": {
"exit_bb_upper_deviation": 1.01,
"exit_volume_multiplier": 2.0,
"roi_param_a": -5e-05,
"roi_param_k": 148,
"roi_param_t": 0.144,
"rsi_overbought": 64
"exit_bb_upper_deviation": 0.98,
"exit_volume_multiplier": 1.5,
"roi_param_a": -0.00012,
"roi_param_k": 78,
"roi_param_t": 0.12,
"rsi_overbought": 69
},
"protection": {}
},
"ft_stratparam_v": 1,
"export_time": "2025-09-26 04:37:10.245352+00:00"
"export_time": "2025-09-28 05:08:17.958148+00:00"
}

View File

@ -260,7 +260,7 @@ class FreqaiPrimer(IStrategy):
max_entry_adjustments = IntParameter(2, 5, default=3, optimize=True, load=True, space='buy') # 最大加仓次数
add_position_callback = DecimalParameter(0.02, 0.06, decimals=3, default=0.045, optimize=True, load=True, space='buy') # 加仓回调百分比
add_position_growth = DecimalParameter(1.5, 3.0, decimals=2, default=4.5, optimize=False, load=True, space='buy') # 加仓金额增长因子保留2位小数用于hyperopt优化
add_position_multiplier = DecimalParameter(0.2, 10.5, decimals=2, default=1.22, optimize=False, load=True, space='buy') # 加仓间隔系数保留2位小数用于hyperopt优化
add_position_multiplier = DecimalParameter(0.2, 10.5, decimals=2, default=0.86, optimize=False, load=True, space='buy') # 加仓间隔系数保留2位小数用于hyperopt优化
stake_divisor = DecimalParameter(2.0, 12.0, decimals=2, default=9.3, optimize=False, load=True, space='buy') # 加仓金额分母小数类型保留2位小数
# 线性ROI参数 - 用于线性函数: y = (a * (x + k)) + t
@ -835,6 +835,11 @@ class FreqaiPrimer(IStrategy):
# 获取默认的基础仓位大小
default_stake = self.stake_amount
# 从kwargs获取最小和最大仓位限制
min_stake = kwargs.get('min_stake', 0.0)
max_stake = kwargs.get('max_stake', default_stake)
# 根据波动系数调整仓位大小
# 波动率与仓位大小成反比关系
@ -847,7 +852,7 @@ class FreqaiPrimer(IStrategy):
adjusted_stake = default_stake
# 确保调整后的仓位在允许的范围内
adjusted_stake = max(self.min_stake_amount, min(adjusted_stake, self.stake_amount))
adjusted_stake = max(min_stake, min(adjusted_stake, max_stake))
#logger.info(f"[{pair}] 基于波动系数调整仓位: 波动系数={volatility_coef:.2f}, 默认仓位={default_stake:.2f}, 调整后仓位={adjusted_stake:.2f}")