diff --git a/freqtrade/optimize/optimize_reports/bt_output.py b/freqtrade/optimize/optimize_reports/bt_output.py index 36a2b3bbb..5105a958e 100644 --- a/freqtrade/optimize/optimize_reports/bt_output.py +++ b/freqtrade/optimize/optimize_reports/bt_output.py @@ -132,18 +132,18 @@ def text_table_periodic_breakdown( """ headers = [ period.capitalize(), + "Trades", f"Tot Profit {stake_currency}", - "Wins", - "Draws", - "Losses", + "Profit Factor", + "Win Draw Loss Win%", ] output = [ [ d["date"], + d["trades"], fmt_coin(d["profit_abs"], stake_currency, False), - d["wins"], - d["draws"], - d["loses"], + d["profit_factor"], + generate_wins_draws_losses(d["wins"], d["draws"], d["losses"]), ] for d in days_breakdown_stats ] diff --git a/freqtrade/optimize/optimize_reports/optimize_reports.py b/freqtrade/optimize/optimize_reports/optimize_reports.py index a798eaf7a..e97a9c59d 100644 --- a/freqtrade/optimize/optimize_reports/optimize_reports.py +++ b/freqtrade/optimize/optimize_reports/optimize_reports.py @@ -231,8 +231,11 @@ def generate_periodic_breakdown_stats( profit_abs = day["profit_abs"].sum().round(10) wins = sum(day["profit_abs"] > 0) draws = sum(day["profit_abs"] == 0) - loses = sum(day["profit_abs"] < 0) - trades = wins + draws + loses + losses = sum(day["profit_abs"] < 0) + trades = wins + draws + losses + winning_profit = day.loc[day["profit_abs"] > 0, "profit_abs"].sum() + losing_profit = day.loc[day["profit_abs"] < 0, "profit_abs"].sum() + profit_factor = winning_profit / abs(losing_profit) if losing_profit else 0.0 stats.append( { "date": name.strftime("%d/%m/%Y"), @@ -240,8 +243,9 @@ def generate_periodic_breakdown_stats( "profit_abs": profit_abs, "wins": wins, "draws": draws, - "loses": loses, - "winrate": wins / trades if trades else 0.0, + "losses": losses, + "trades" : trades, + 'profit_factor': round(profit_factor, 2), } ) return stats