parent
789a980a30
commit
62e43539c9
@ -264,7 +264,7 @@ It contains some useful key metrics about performance of your strategy on backte
|
|||||||
- `Backtesting from` / `Backtesting to`: Backtesting range (usually defined with the `--timerange` option).
|
- `Backtesting from` / `Backtesting to`: Backtesting range (usually defined with the `--timerange` option).
|
||||||
- `Max open trades`: Setting of `max_open_trades` (or `--max-open-trades`) - to clearly see settings for this.
|
- `Max open trades`: Setting of `max_open_trades` (or `--max-open-trades`) - to clearly see settings for this.
|
||||||
- `Total trades`: Identical to the total trades of the backtest output table.
|
- `Total trades`: Identical to the total trades of the backtest output table.
|
||||||
- `Total Profit %`: Total profit per stake amount. Aligned to the TOTAL column of the first table.
|
- `Total Profit %`: Total profit. Aligned to the `TOTAL` row's `Tot Profit %` from the first table.
|
||||||
- `Trades per day`: Total trades divided by the backtesting duration in days (this will give you information about how many trades to expect from the strategy).
|
- `Trades per day`: Total trades divided by the backtesting duration in days (this will give you information about how many trades to expect from the strategy).
|
||||||
- `Best Pair` / `Worst Pair`: Best and worst performing pair, and it's corresponding `Cum Profit %`.
|
- `Best Pair` / `Worst Pair`: Best and worst performing pair, and it's corresponding `Cum Profit %`.
|
||||||
- `Best Trade` / `Worst Trade`: Biggest winning trade and biggest losing trade
|
- `Best Trade` / `Worst Trade`: Biggest winning trade and biggest losing trade
|
||||||
|
@ -243,7 +243,7 @@ def generate_backtest_stats(btdata: Dict[str, DataFrame],
|
|||||||
if not isinstance(results, DataFrame):
|
if not isinstance(results, DataFrame):
|
||||||
continue
|
continue
|
||||||
config = content['config']
|
config = content['config']
|
||||||
max_open_trades = config['max_open_trades']
|
max_open_trades = min(config['max_open_trades'], len(btdata.keys()))
|
||||||
stake_currency = config['stake_currency']
|
stake_currency = config['stake_currency']
|
||||||
|
|
||||||
pair_results = generate_pair_metrics(btdata, stake_currency=stake_currency,
|
pair_results = generate_pair_metrics(btdata, stake_currency=stake_currency,
|
||||||
@ -274,7 +274,7 @@ def generate_backtest_stats(btdata: Dict[str, DataFrame],
|
|||||||
'left_open_trades': left_open_results,
|
'left_open_trades': left_open_results,
|
||||||
'total_trades': len(results),
|
'total_trades': len(results),
|
||||||
'profit_mean': results['profit_ratio'].mean() if len(results) > 0 else 0,
|
'profit_mean': results['profit_ratio'].mean() if len(results) > 0 else 0,
|
||||||
'profit_total': results['profit_ratio'].sum(),
|
'profit_total': results['profit_ratio'].sum() / max_open_trades,
|
||||||
'profit_total_abs': results['profit_abs'].sum(),
|
'profit_total_abs': results['profit_abs'].sum(),
|
||||||
'backtest_start': min_date.datetime,
|
'backtest_start': min_date.datetime,
|
||||||
'backtest_start_ts': min_date.int_timestamp * 1000,
|
'backtest_start_ts': min_date.int_timestamp * 1000,
|
||||||
@ -290,8 +290,9 @@ def generate_backtest_stats(btdata: Dict[str, DataFrame],
|
|||||||
'pairlist': list(btdata.keys()),
|
'pairlist': list(btdata.keys()),
|
||||||
'stake_amount': config['stake_amount'],
|
'stake_amount': config['stake_amount'],
|
||||||
'stake_currency': config['stake_currency'],
|
'stake_currency': config['stake_currency'],
|
||||||
'max_open_trades': (config['max_open_trades']
|
'max_open_trades': max_open_trades,
|
||||||
if config['max_open_trades'] != float('inf') else -1),
|
'max_open_trades_setting': (config['max_open_trades']
|
||||||
|
if config['max_open_trades'] != float('inf') else -1),
|
||||||
'timeframe': config['timeframe'],
|
'timeframe': config['timeframe'],
|
||||||
'timerange': config.get('timerange', ''),
|
'timerange': config.get('timerange', ''),
|
||||||
'enable_protections': config.get('enable_protections', False),
|
'enable_protections': config.get('enable_protections', False),
|
||||||
|
Loading…
Reference in New Issue
Block a user