diff --git a/freqtrade/optimize/optimize_reports/bt_output.py b/freqtrade/optimize/optimize_reports/bt_output.py index ef58975ca..d509b75fb 100644 --- a/freqtrade/optimize/optimize_reports/bt_output.py +++ b/freqtrade/optimize/optimize_reports/bt_output.py @@ -263,12 +263,32 @@ def text_table_add_metrics(strat_results: Dict) -> None: else [] ) + trading_mode = ( + ( + [ + ( + "Trading Mode", + ( + "" + if not strat_results.get("margin_mode") + or strat_results.get("trading_mode", "spot") == "spot" + else f"{strat_results['margin_mode'].capitalize()} " + ) + + f"{strat_results['trading_mode'].capitalize()}", + ) + ] + ) + if "trading_mode" in strat_results + else [] + ) + # Newly added fields should be ignored if they are missing in strat_results. hyperopt-show # command stores these results and newer version of freqtrade must be able to handle old # results with missing new fields. metrics = [ ("Backtesting from", strat_results["backtest_start"]), ("Backtesting to", strat_results["backtest_end"]), + *trading_mode, ("Max open trades", strat_results["max_open_trades"]), ("", ""), # Empty line to improve readability ( diff --git a/freqtrade/optimize/optimize_reports/optimize_reports.py b/freqtrade/optimize/optimize_reports/optimize_reports.py index 38a6cfbf8..c3bb607dd 100644 --- a/freqtrade/optimize/optimize_reports/optimize_reports.py +++ b/freqtrade/optimize/optimize_reports/optimize_reports.py @@ -504,6 +504,8 @@ def generate_strategy_stats( "exit_profit_only": config["exit_profit_only"], "exit_profit_offset": config["exit_profit_offset"], "ignore_roi_if_entry_signal": config["ignore_roi_if_entry_signal"], + "trading_mode": config["trading_mode"], + "margin_mode": config["margin_mode"], **periodic_breakdown, **daily_stats, **trade_stats,