fix: Improve MultiMetricHyperoptLoss
Capping expectancy_ratio makes sense - but must be done in a better way closes #11174
This commit is contained in:
@@ -68,11 +68,8 @@ class MultiMetricHyperOptLoss(IHyperOptLoss):
|
|||||||
log_profit_factor = np.log(profit_factor + PF_CONST)
|
log_profit_factor = np.log(profit_factor + PF_CONST)
|
||||||
|
|
||||||
# Calculate expectancy
|
# Calculate expectancy
|
||||||
expectancy, expectancy_ratio = calculate_expectancy(results)
|
_, expectancy_ratio = calculate_expectancy(results)
|
||||||
if expectancy_ratio > 10:
|
log_expectancy_ratio = np.log(min(10, expectancy_ratio) + EXPECTANCY_CONST)
|
||||||
log_expectancy_ratio = np.log(1.01)
|
|
||||||
else:
|
|
||||||
log_expectancy_ratio = np.log(expectancy_ratio + EXPECTANCY_CONST)
|
|
||||||
|
|
||||||
# Calculate winrate
|
# Calculate winrate
|
||||||
winning_trades = results.loc[results["profit_abs"] > 0]
|
winning_trades = results.loc[results["profit_abs"] > 0]
|
||||||
|
|||||||
Reference in New Issue
Block a user