Merge pull request #3133 from freqtrade/backtesting_filenameexpanding

[minor] Fix filename handling with --strategy-list
This commit is contained in:
hroff-1902 2020-04-15 12:02:19 +03:00 committed by GitHub
commit 8b6a7e685e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 6 deletions

View File

@ -24,13 +24,14 @@ def store_backtest_result(recordfilename: Path, all_results: Dict[str, DataFrame
for index, t in results.iterrows()] for index, t in results.iterrows()]
if records: if records:
filename = recordfilename
if len(all_results) > 1: if len(all_results) > 1:
# Inject strategy to filename # Inject strategy to filename
recordfilename = Path.joinpath( filename = Path.joinpath(
recordfilename.parent, recordfilename.parent,
f'{recordfilename.stem}-{strategy}').with_suffix(recordfilename.suffix) f'{recordfilename.stem}-{strategy}').with_suffix(recordfilename.suffix)
logger.info(f'Dumping backtest results to {recordfilename}') logger.info(f'Dumping backtest results to {filename}')
file_dump_json(recordfilename, records) file_dump_json(filename, records)
def generate_text_table(data: Dict[str, Dict], stake_currency: str, max_open_trades: int, def generate_text_table(data: Dict[str, Dict], stake_currency: str, max_open_trades: int,

View File

@ -160,10 +160,14 @@ def test_backtest_record(default_conf, fee, mocker):
# reset test to test with strategy name # reset test to test with strategy name
names = [] names = []
records = [] records = []
results['Strat'] = pd.DataFrame() results['Strat'] = results['DefStrat']
results['Strat2'] = results['DefStrat']
store_backtest_result(Path("backtest-result.json"), results) store_backtest_result(Path("backtest-result.json"), results)
# Assert file_dump_json was only called once assert names == [
assert names == [Path('backtest-result-DefStrat.json')] Path('backtest-result-DefStrat.json'),
Path('backtest-result-Strat.json'),
Path('backtest-result-Strat2.json'),
]
records = records[0] records = records[0]
# Ensure records are of correct type # Ensure records are of correct type
assert len(records) == 4 assert len(records) == 4