Move generate_wins_draw_losses to bt_output (it's an output function, not a calculation)
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
# flake8: noqa: F401
|
# flake8: noqa: F401
|
||||||
from freqtrade.optimize.optimize_reports.bt_output import (generate_edge_table,
|
from freqtrade.optimize.optimize_reports.bt_output import (generate_edge_table,
|
||||||
|
generate_wins_draws_losses,
|
||||||
show_backtest_result,
|
show_backtest_result,
|
||||||
show_backtest_results,
|
show_backtest_results,
|
||||||
show_sorted_pairlist,
|
show_sorted_pairlist,
|
||||||
@@ -14,5 +15,4 @@ from freqtrade.optimize.optimize_reports.optimize_reports import (
|
|||||||
generate_all_periodic_breakdown_stats, generate_backtest_stats, generate_daily_stats,
|
generate_all_periodic_breakdown_stats, generate_backtest_stats, generate_daily_stats,
|
||||||
generate_exit_reason_stats, generate_pair_metrics, generate_periodic_breakdown_stats,
|
generate_exit_reason_stats, generate_pair_metrics, generate_periodic_breakdown_stats,
|
||||||
generate_rejected_signals, generate_strategy_comparison, generate_strategy_stats,
|
generate_rejected_signals, generate_strategy_comparison, generate_strategy_stats,
|
||||||
generate_tag_metrics, generate_trade_signal_candles, generate_trading_stats,
|
generate_tag_metrics, generate_trade_signal_candles, generate_trading_stats)
|
||||||
generate_wins_draws_losses)
|
|
||||||
|
|||||||
@@ -5,8 +5,7 @@ from tabulate import tabulate
|
|||||||
|
|
||||||
from freqtrade.constants import UNLIMITED_STAKE_AMOUNT, Config
|
from freqtrade.constants import UNLIMITED_STAKE_AMOUNT, Config
|
||||||
from freqtrade.misc import decimals_per_coin, round_coin_value
|
from freqtrade.misc import decimals_per_coin, round_coin_value
|
||||||
from freqtrade.optimize.optimize_reports.optimize_reports import (generate_periodic_breakdown_stats,
|
from freqtrade.optimize.optimize_reports.optimize_reports import generate_periodic_breakdown_stats
|
||||||
generate_wins_draws_losses)
|
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@@ -30,6 +29,16 @@ def _get_line_header(first_column: str, stake_currency: str,
|
|||||||
'Win Draw Loss Win%']
|
'Win Draw Loss Win%']
|
||||||
|
|
||||||
|
|
||||||
|
def generate_wins_draws_losses(wins, draws, losses):
|
||||||
|
if wins > 0 and losses == 0:
|
||||||
|
wl_ratio = '100'
|
||||||
|
elif wins == 0:
|
||||||
|
wl_ratio = '0'
|
||||||
|
else:
|
||||||
|
wl_ratio = f'{100.0 / (wins + draws + losses) * wins:.1f}' if losses > 0 else '100'
|
||||||
|
return f'{wins:>4} {draws:>4} {losses:>4} {wl_ratio:>4}'
|
||||||
|
|
||||||
|
|
||||||
def text_table_bt_results(pair_results: List[Dict[str, Any]], stake_currency: str) -> str:
|
def text_table_bt_results(pair_results: List[Dict[str, Any]], stake_currency: str) -> str:
|
||||||
"""
|
"""
|
||||||
Generates and returns a text table for the given backtest data and the results dataframe
|
Generates and returns a text table for the given backtest data and the results dataframe
|
||||||
|
|||||||
@@ -57,16 +57,6 @@ def generate_rejected_signals(preprocessed_df: Dict[str, DataFrame],
|
|||||||
return rejected_candles_only
|
return rejected_candles_only
|
||||||
|
|
||||||
|
|
||||||
def generate_wins_draws_losses(wins, draws, losses):
|
|
||||||
if wins > 0 and losses == 0:
|
|
||||||
wl_ratio = '100'
|
|
||||||
elif wins == 0:
|
|
||||||
wl_ratio = '0'
|
|
||||||
else:
|
|
||||||
wl_ratio = f'{100.0 / (wins + draws + losses) * wins:.1f}' if losses > 0 else '100'
|
|
||||||
return f'{wins:>4} {draws:>4} {losses:>4} {wl_ratio:>4}'
|
|
||||||
|
|
||||||
|
|
||||||
def _generate_result_line(result: DataFrame, starting_balance: int, first_column: str) -> Dict:
|
def _generate_result_line(result: DataFrame, starting_balance: int, first_column: str) -> Dict:
|
||||||
"""
|
"""
|
||||||
Generate one result dict, with "first_column" as key.
|
Generate one result dict, with "first_column" as key.
|
||||||
|
|||||||
Reference in New Issue
Block a user