From c4b34ea60c4310fa8d16acc37010510b2b6891a3 Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 3 Jan 2025 13:20:11 +0100 Subject: [PATCH] fix: Improve MultiMetricHyperoptLoss Capping expectancy_ratio makes sense - but must be done in a better way closes #11174 --- .../optimize/hyperopt_loss/hyperopt_loss_multi_metric.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/freqtrade/optimize/hyperopt_loss/hyperopt_loss_multi_metric.py b/freqtrade/optimize/hyperopt_loss/hyperopt_loss_multi_metric.py index adffdfb0b..0918c2c92 100644 --- a/freqtrade/optimize/hyperopt_loss/hyperopt_loss_multi_metric.py +++ b/freqtrade/optimize/hyperopt_loss/hyperopt_loss_multi_metric.py @@ -68,11 +68,8 @@ class MultiMetricHyperOptLoss(IHyperOptLoss): log_profit_factor = np.log(profit_factor + PF_CONST) # Calculate expectancy - expectancy, expectancy_ratio = calculate_expectancy(results) - if expectancy_ratio > 10: - log_expectancy_ratio = np.log(1.01) - else: - log_expectancy_ratio = np.log(expectancy_ratio + EXPECTANCY_CONST) + _, expectancy_ratio = calculate_expectancy(results) + log_expectancy_ratio = np.log(min(10, expectancy_ratio) + EXPECTANCY_CONST) # Calculate winrate winning_trades = results.loc[results["profit_abs"] > 0]