根据https://x.com/i/grok?conversation=1992443726434619624 建议调整hyeropt参数范围和默认值

This commit is contained in:
Ubuntu 2025-11-23 16:51:03 +08:00
parent 7d022752de
commit b862d5d701
3 changed files with 79 additions and 77 deletions

View File

@ -5,57 +5,57 @@
"max_open_trades": 5
},
"buy": {
"add_bb_lower_proximity": 1.161,
"add_position_callback": 0.082,
"add_position_decrease_ratio": 0.68,
"add_rsi_oversold_threshold": 40,
"add_stochrsi_oversold": 6,
"adjust_multiplier": 1.9,
"bb_length": 50,
"bb_lower_deviation": 1.0,
"bb_std": 2.9,
"bb_width_threshold": 0.024,
"h1_max_candles": 238,
"h1_max_consecutive_candles": 3,
"h1_rapid_rise_threshold": 0.068,
"max_entry_adjustments": 11,
"min_condition_count": 1,
"rsi_bull_threshold": 36,
"rsi_length": 19,
"add_bb_lower_proximity": 1.08,
"add_position_callback": 0.101,
"add_position_decrease_ratio": 0.83,
"add_rsi_oversold_threshold": 41,
"add_stochrsi_oversold": 8,
"adjust_multiplier": 0.19,
"bb_length": 38,
"bb_lower_deviation": 1.19,
"bb_std": 3.1,
"bb_width_threshold": 0.048,
"h1_max_candles": 21,
"h1_max_consecutive_candles": 4,
"h1_rapid_rise_threshold": 0.136,
"max_entry_adjustments": 6,
"min_condition_count": 2,
"rsi_bull_threshold": 65,
"rsi_length": 33,
"rsi_oversold": 16,
"stochrsi_bull_threshold": 46,
"stochrsi_neutral_threshold": 8,
"volume_multiplier": 0.8
"stochrsi_bull_threshold": 38,
"stochrsi_neutral_threshold": 35,
"volume_multiplier": 0.7
},
"sell": {
"exit_bb_upper_deviation": 0.92,
"exit_profit_tier1": 0.047,
"exit_profit_tier2": 0.076,
"exit_reduce_tier1": 0.84,
"exit_reduce_tier2": 0.14,
"exit_rsi_threshold": 59,
"exit_volume_multiplier": 4.3,
"max_reduce_adjustments": 1,
"reduce_coefficient": 0.143,
"reduce_profit_base": 0.203
"exit_bb_upper_deviation": 0.88,
"exit_profit_tier1": 0.169,
"exit_profit_tier2": 0.247,
"exit_reduce_tier1": 0.82,
"exit_reduce_tier2": 0.24,
"exit_rsi_threshold": 44,
"exit_volume_multiplier": 4.7,
"max_reduce_adjustments": 11,
"reduce_coefficient": 0.496,
"reduce_profit_base": 0.037
},
"protection": {},
"roi": {
"0": 0.103,
"17": 0.072,
"44": 0.027,
"63": 0
"0": 0.194,
"13": 0.054,
"32": 0.013,
"55": 0
},
"stoploss": {
"stoploss": -0.336
"stoploss": -0.274
},
"trailing": {
"trailing_stop": true,
"trailing_stop_positive": 0.09,
"trailing_stop_positive_offset": 0.124,
"trailing_only_offset_is_reached": true
"trailing_stop_positive": 0.226,
"trailing_stop_positive_offset": 0.256,
"trailing_only_offset_is_reached": false
}
},
"ft_stratparam_v": 1,
"export_time": "2025-11-23 06:59:43.783164+00:00"
"export_time": "2025-11-23 08:37:40.129856+00:00"
}

View File

@ -78,53 +78,55 @@ class FreqaiPrimer(IStrategy):
can_short = False # 禁用做空
# [propertiesGrp_List]--------------------------------------------------------------------------------------------------------------------------------------
# [propertiesGrp step="1" name="第一轮优化" epochs="120" space="buy roi stoploss" description="入场基础条件优化,入场确认条件优化"]
bb_std = DecimalParameter(1.0, 5.0, decimals=1, default=4.6, optimize=True, load=True, space='buy') # 极致放宽1.0-5.0
rsi_length = IntParameter(5, 35, default=13, optimize=True, load=True, space='buy') # 极致放宽5-35
bb_lower_deviation = DecimalParameter(0.90, 1.20, decimals=2, default=0.9, optimize=True, load=True, space='buy') # 极致放宽0.90-1.20
stochrsi_bull_threshold = IntParameter(15, 55, default=47, optimize=True, load=True, space='buy') # 极致放宽15-55
volume_multiplier = DecimalParameter(0.5, 5.0, decimals=1, default=4.7, optimize=True, load=True, space='buy') # 极致放宽0.5-5.0
min_condition_count = IntParameter(1, 3, default=1, optimize=True, load=True, space='buy') # 开启优化1-3降低入场门槛
bb_length = IntParameter(5, 50, default=40, optimize=True, load=True, space='buy') # 极致放宽5-50
rsi_oversold = IntParameter(15, 65, default=16, optimize=True, load=True, space='buy') # 极致放宽15-65
# [propertiesGrp step="1" name="第一轮优化" epochs="160" space="buy roi stoploss" description="入场基础条件优化,入场确认条件优化"]
bb_std = DecimalParameter(2.0, 5.0, decimals=1, default=3.5, optimize=True, load=True, space='buy') # 安全2.0-5.0
rsi_length = IntParameter(10, 30, default=14, optimize=True, load=True, space='buy') # 安全10-30
bb_lower_deviation = DecimalParameter(0.92, 1.15, decimals=3, default=1.00, optimize=True, load=True, space='buy') # 安全0.92-1.15
stochrsi_bull_threshold = IntParameter(20, 50, default=40, optimize=True, load=True, space='buy') # 安全20-50
volume_multiplier = DecimalParameter(1.5, 6.0, decimals=1, default=3.5, optimize=True, load=True, space='buy') # 安全1.5-6.0
min_condition_count = IntParameter(1, 2, default=1, optimize=True, load=True, space='buy') # 最多只允许2个条件
bb_length = IntParameter(20, 60, default=40, optimize=True, load=True, space='buy') # 安全20-60
# [/propertiesGrp]
# [propertiesGrp step="2" name="第三轮优化" epochs="120" space="buy roi stoploss" description="剧烈拉升检测与加仓策略优化,加仓精准度与金额管理"]
rsi_bull_threshold = IntParameter(30, 70, default=51, optimize=True, load=True, space='buy') # 极致放宽30-70
stochrsi_neutral_threshold = IntParameter(5, 45, default=36, optimize=True, load=True, space='buy') # 极致放宽5-45
bb_width_threshold = DecimalParameter(0.001, 0.060, decimals=3, default=0.01, optimize=True, load=True, space='buy') # 极致放宽0.001-0.060
h1_max_candles = IntParameter(16, 50, default=35, optimize=True, load=True, space='buy')
h1_rapid_rise_threshold = DecimalParameter(0.05, 0.15, decimals=3, default=0.147, optimize=True, load=True, space='buy')
h1_max_consecutive_candles = IntParameter(1, 4, default=2, optimize=True, load=True, space='buy')
# [propertiesGrp step="2" name="第二轮优化 - 剧烈拉升检测" epochs="160" space="buy" description="防追高核心参数,绝对不能放宽!"]
rsi_oversold = IntParameter(20, 50, default=30, optimize=True, load=True, space='buy') # 安全20-50
rsi_bull_threshold = IntParameter(40, 68, default=58, optimize=True, load=True, space='buy') # 安全40-68
stochrsi_neutral_threshold = IntParameter(15, 40, default=30, optimize=True, load=True, space='buy') # 安全15-40
bb_width_threshold = DecimalParameter(0.003, 0.030, decimals=3, default=0.012, optimize=True, load=True, space='buy') # 安全0.003-0.030
h1_max_candles = IntParameter(16, 50, default=35, optimize=True, load=True, space='buy') # 黄金区间绝不能超过50
h1_rapid_rise_threshold = DecimalParameter(0.08, 0.22, decimals=3, default=0.15, optimize=True, load=True, space='buy') # 0.08-0.22 实盘最稳
h1_max_consecutive_candles = IntParameter(1, 2, default=1, optimize=False, load=True, space='buy') # 固定为1最稳2也行
# [/propertiesGrp]
# [propertiesGrp id="3" name="第三轮优化" epochs="120" space="buy roi stoploss" description="剧烈拉升检测与加仓策略优化,加仓精准度与金额管理"]
add_position_callback = DecimalParameter(0.055, 0.125, decimals=3, default=0.083, optimize=True, load=True, space='buy') # 加仓回调百分比
add_rsi_oversold_threshold = IntParameter(5, 65, default=16, optimize=True, load=True, space='buy') # 极致放宽5-65
add_stochrsi_oversold = IntParameter(1, 55, default=16, optimize=True, load=True, space='buy') # 极致放宽1-55
add_bb_lower_proximity = DecimalParameter(0.70, 1.35, decimals=3, default=1.065, optimize=True, load=True, space='buy') # 极致放宽0.70-1.35
add_position_decrease_ratio = DecimalParameter(0.2, 1.0, decimals=2, default=0.48, optimize=True, load=True, space='buy') # 极致放宽0.2-1.0
max_entry_adjustments = IntParameter(1, 12, default=5, optimize=True, load=True, space='buy') # 极致放宽1-12
adjust_multiplier = DecimalParameter(0.01, 2.0, decimals=2, default=1.06, optimize=True, load=True, space='buy') # 极致放宽0.01-2.0
# [propertiesGrp step="3" name="第三轮优化 - 加仓策略" epochs="160" space="buy" description="加仓精准度与金额管理,严防爆仓"]
add_position_callback = DecimalParameter(0.025, 0.070, decimals=3, default=0.045, optimize=True, load=True, space='buy') # 2.5%-7.0% 回调才加
add_rsi_oversold_threshold = IntParameter(15, 40, default=25, optimize=True, load=True, space='buy') # 不能太低
add_stochrsi_oversold = IntParameter(10, 35, default=20, optimize=True, load=True, space='buy')
add_bb_lower_proximity = DecimalParameter(0.85, 1.20, decimals=3, default=1.05, optimize=True, load=True, space='buy') # 不能离下轨太远
add_position_decrease_ratio= DecimalParameter(0.30, 0.80, decimals=2, default=0.55, optimize=True, load=True, space='buy') # 递减比例别太激进
max_entry_adjustments = IntParameter(2, 7, default=5, optimize=True, load=True, space='buy') # 最多7次加仓防爆仓
adjust_multiplier = DecimalParameter(0.6, 1.6, decimals=2, default=1.0, optimize=True, load=True, space='buy') # 别让加仓金额指数爆炸
# [/propertiesGrp]
# [propertiesGrp step="4" name="第五轮优化" epochs="200" space="sell roi stoploss" description="出场条件与分级止盈,减仓与风险管理"]
exit_bb_upper_deviation = DecimalParameter(0.80, 1.25, decimals=2, default=0.99, optimize=True, load=True, space='sell') # 极致放宽0.80-1.25
exit_volume_multiplier = DecimalParameter(0.8, 6.0, decimals=1, default=4.7, optimize=True, load=True, space='sell') # 极致放宽0.8-6.0
exit_rsi_threshold = IntParameter(40, 85, default=58, optimize=True, load=True, space='sell') # 极致放宽40-85
exit_profit_tier1 = DecimalParameter(0.005, 0.20, decimals=3, default=0.05, optimize=True, load=True, space='sell') # 极致放宽0.005-0.20
exit_reduce_tier1 = DecimalParameter(0.05, 0.9, decimals=2, default=0.5, optimize=True, load=True, space='sell') # 极致放宽0.05-0.9
exit_profit_tier2 = DecimalParameter(0.01, 0.35, decimals=3, default=0.10, optimize=True, load=True, space='sell') # 极致放宽0.01-0.35
exit_reduce_tier2 = DecimalParameter(0.03, 0.75, decimals=2, default=0.3, optimize=True, load=True, space='sell') # 极致放宽0.03-0.75
reduce_profit_base = DecimalParameter(0.005, 0.30, default=0.05, space='sell', optimize=True) # 极致放宽0.005-0.30
reduce_coefficient = DecimalParameter(0.01, 1.5, default=0.289, space='sell', optimize=True) # 极致放宽0.01-1.5
max_reduce_adjustments = IntParameter(1, 12, default=3, space='sell', optimize=True) # 极致放宽1-12
# [propertiesGrp step="4" name="第四轮优化 - 出场与分级止盈" epochs="200" space="sell roi stoploss" description="出场条件与分级止盈,减仓与风险管理"]
exit_bb_upper_deviation = DecimalParameter(0.90, 1.15, decimals=3, default=1.00, optimize=True, load=True, space='sell')
exit_volume_multiplier = DecimalParameter(2.0, 7.0, decimals=1, default=4.5, optimize=True, load=True, space='sell')
exit_rsi_threshold = IntParameter(55, 72, default=65, optimize=True, load=True, space='sell') # 牛市也能出得了场
exit_profit_tier1 = DecimalParameter(0.03, 0.12, decimals=3, default=0.06, optimize=True, load=True, space='sell')
exit_reduce_tier1 = DecimalParameter(0.20, 0.70, decimals=2, default=0.50, optimize=True, load=True, space='sell')
exit_profit_tier2 = DecimalParameter(0.08, 0.20, decimals=3, default=0.12, optimize=True, load=True, space='sell')
exit_reduce_tier2 = DecimalParameter(0.15, 0.60, decimals=2, default=0.30, optimize=True, load=True, space='sell')
reduce_profit_base = DecimalParameter(0.02, 0.12, decimals=3, default=0.05, optimize=True, load=True, space='sell')
reduce_coefficient = DecimalParameter(0.15, 0.55, decimals=3, default=0.35, optimize=True, load=True, space='sell')
max_reduce_adjustments = IntParameter(1, 4, default=3, optimize=True, load=True, space='sell') # 最多4次减仓就够了
# [/propertiesGrp]
# [propertiesGrp step="5" name="第五轮优化" epochs="80" space="roi stoploss" description="最终ROI与止损微调"]
# 这里可以放你后续要优化的ROI表、动态止损系数等
# [/propertiesGrp]
# [propertiesGrp step="5" name="第六轮优化" epochs="80" space="roi stoploss" description="roi和stoploss优化" /]
# [/propertiesGrp_List]-----------------------------------------------------------------------------------------------------------------------------
def informative_pairs(self):
pairs = self.dp.current_whitelist()
return [(pair, '15m') for pair in pairs] + [(pair, '1h') for pair in pairs]

View File

@ -1 +1 @@
./hyperopt_org.sh 20250610 20250625 --spaces buy --spaces sell --spaces roi --spaces trailing --spaces stoploss --jobs 8 --epochs 500
./hyperopt_org.sh 20251110 20251125 --spaces buy --spaces sell --spaces roi --spaces trailing --spaces stoploss --jobs 8 --epochs 500