Changed test for new table printing
This commit is contained in:
parent
23ae0653bd
commit
267416eced
@ -390,17 +390,30 @@ def test_onlyprofit_loss_prefers_higher_profits(default_conf, hyperopt_results)
|
|||||||
def test_log_results_if_loss_improves(hyperopt, capsys) -> None:
|
def test_log_results_if_loss_improves(hyperopt, capsys) -> None:
|
||||||
hyperopt.current_best_loss = 2
|
hyperopt.current_best_loss = 2
|
||||||
hyperopt.total_epochs = 2
|
hyperopt.total_epochs = 2
|
||||||
|
|
||||||
hyperopt.print_results(
|
hyperopt.print_results(
|
||||||
{
|
{
|
||||||
'is_best': True,
|
|
||||||
'loss': 1,
|
'loss': 1,
|
||||||
|
'results_metrics':
|
||||||
|
{
|
||||||
|
'trade_count': 1,
|
||||||
|
'avg_profit': 0.1,
|
||||||
|
'total_profit': 0.001,
|
||||||
|
'profit': 1.0,
|
||||||
|
'duration': 20.0
|
||||||
|
},
|
||||||
|
'total_profit': 0,
|
||||||
'current_epoch': 2, # This starts from 1 (in a human-friendly manner)
|
'current_epoch': 2, # This starts from 1 (in a human-friendly manner)
|
||||||
'results_explanation': 'foo.',
|
'is_initial_point': False,
|
||||||
'is_initial_point': False
|
'is_best': True
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
out, err = capsys.readouterr()
|
out, err = capsys.readouterr()
|
||||||
assert ' 2/2: foo. Objective: 1.00000' in out
|
result_str = (
|
||||||
|
'| Best | 2/2 | 1 | 0.10% | 0.00100000 BTC |'
|
||||||
|
' 1.00% | 20.0m | 1 |'
|
||||||
|
)
|
||||||
|
assert result_str in out
|
||||||
|
|
||||||
|
|
||||||
def test_no_log_if_loss_does_not_improve(hyperopt, caplog) -> None:
|
def test_no_log_if_loss_does_not_improve(hyperopt, caplog) -> None:
|
||||||
@ -467,7 +480,16 @@ def test_start_calls_optimizer(mocker, default_conf, caplog, capsys) -> None:
|
|||||||
parallel = mocker.patch(
|
parallel = mocker.patch(
|
||||||
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
||||||
MagicMock(return_value=[{'loss': 1, 'results_explanation': 'foo result',
|
MagicMock(return_value=[{'loss': 1, 'results_explanation': 'foo result',
|
||||||
'params': {'buy': {}, 'sell': {}, 'roi': {}, 'stoploss': 0.0}}])
|
'params': {'buy': {}, 'sell': {}, 'roi': {}, 'stoploss': 0.0},
|
||||||
|
'results_metrics':
|
||||||
|
{
|
||||||
|
'trade_count': 1,
|
||||||
|
'avg_profit': 0.1,
|
||||||
|
'total_profit': 0.001,
|
||||||
|
'profit': 1.0,
|
||||||
|
'duration': 20.0
|
||||||
|
},
|
||||||
|
}])
|
||||||
)
|
)
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
# Co-test loading ticker-interval from strategy
|
# Co-test loading ticker-interval from strategy
|
||||||
@ -761,11 +783,23 @@ def test_print_json_spaces_all(mocker, default_conf, caplog, capsys) -> None:
|
|||||||
|
|
||||||
parallel = mocker.patch(
|
parallel = mocker.patch(
|
||||||
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
||||||
MagicMock(return_value=[{'loss': 1, 'results_explanation': 'foo result', 'params': {},
|
MagicMock(return_value=[{
|
||||||
'params_details': {'buy': {'mfi-value': None},
|
'loss': 1, 'results_explanation': 'foo result', 'params': {},
|
||||||
'sell': {'sell-mfi-value': None},
|
'params_details': {
|
||||||
'roi': {}, 'stoploss': {'stoploss': None},
|
'buy': {'mfi-value': None},
|
||||||
'trailing': {'trailing_stop': None}}}])
|
'sell': {'sell-mfi-value': None},
|
||||||
|
'roi': {}, 'stoploss': {'stoploss': None},
|
||||||
|
'trailing': {'trailing_stop': None}
|
||||||
|
},
|
||||||
|
'results_metrics':
|
||||||
|
{
|
||||||
|
'trade_count': 1,
|
||||||
|
'avg_profit': 0.1,
|
||||||
|
'total_profit': 0.001,
|
||||||
|
'profit': 1.0,
|
||||||
|
'duration': 20.0
|
||||||
|
}
|
||||||
|
}])
|
||||||
)
|
)
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
|
|
||||||
@ -787,7 +821,11 @@ def test_print_json_spaces_all(mocker, default_conf, caplog, capsys) -> None:
|
|||||||
parallel.assert_called_once()
|
parallel.assert_called_once()
|
||||||
|
|
||||||
out, err = capsys.readouterr()
|
out, err = capsys.readouterr()
|
||||||
assert '{"params":{"mfi-value":null,"sell-mfi-value":null},"minimal_roi":{},"stoploss":null,"trailing_stop":null}' in out # noqa: E501
|
result_str = (
|
||||||
|
'{"params":{"mfi-value":null,"sell-mfi-value":null},"minimal_roi"'
|
||||||
|
':{},"stoploss":null,"trailing_stop":null}'
|
||||||
|
)
|
||||||
|
assert result_str in out # noqa: E501
|
||||||
assert dumper.called
|
assert dumper.called
|
||||||
# Should be called twice, once for tickerdata, once to save evaluations
|
# Should be called twice, once for tickerdata, once to save evaluations
|
||||||
assert dumper.call_count == 2
|
assert dumper.call_count == 2
|
||||||
@ -804,10 +842,22 @@ def test_print_json_spaces_default(mocker, default_conf, caplog, capsys) -> None
|
|||||||
|
|
||||||
parallel = mocker.patch(
|
parallel = mocker.patch(
|
||||||
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
||||||
MagicMock(return_value=[{'loss': 1, 'results_explanation': 'foo result', 'params': {},
|
MagicMock(return_value=[{
|
||||||
'params_details': {'buy': {'mfi-value': None},
|
'loss': 1, 'results_explanation': 'foo result', 'params': {},
|
||||||
'sell': {'sell-mfi-value': None},
|
'params_details': {
|
||||||
'roi': {}, 'stoploss': {'stoploss': None}}}])
|
'buy': {'mfi-value': None},
|
||||||
|
'sell': {'sell-mfi-value': None},
|
||||||
|
'roi': {}, 'stoploss': {'stoploss': None}
|
||||||
|
},
|
||||||
|
'results_metrics':
|
||||||
|
{
|
||||||
|
'trade_count': 1,
|
||||||
|
'avg_profit': 0.1,
|
||||||
|
'total_profit': 0.001,
|
||||||
|
'profit': 1.0,
|
||||||
|
'duration': 20.0
|
||||||
|
}
|
||||||
|
}])
|
||||||
)
|
)
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
|
|
||||||
@ -846,8 +896,18 @@ def test_print_json_spaces_roi_stoploss(mocker, default_conf, caplog, capsys) ->
|
|||||||
|
|
||||||
parallel = mocker.patch(
|
parallel = mocker.patch(
|
||||||
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
||||||
MagicMock(return_value=[{'loss': 1, 'results_explanation': 'foo result', 'params': {},
|
MagicMock(return_value=[{
|
||||||
'params_details': {'roi': {}, 'stoploss': {'stoploss': None}}}])
|
'loss': 1, 'results_explanation': 'foo result', 'params': {},
|
||||||
|
'params_details': {'roi': {}, 'stoploss': {'stoploss': None}},
|
||||||
|
'results_metrics':
|
||||||
|
{
|
||||||
|
'trade_count': 1,
|
||||||
|
'avg_profit': 0.1,
|
||||||
|
'total_profit': 0.001,
|
||||||
|
'profit': 1.0,
|
||||||
|
'duration': 20.0
|
||||||
|
}
|
||||||
|
}])
|
||||||
)
|
)
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
|
|
||||||
@ -887,7 +947,16 @@ def test_simplified_interface_roi_stoploss(mocker, default_conf, caplog, capsys)
|
|||||||
parallel = mocker.patch(
|
parallel = mocker.patch(
|
||||||
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
||||||
MagicMock(return_value=[{
|
MagicMock(return_value=[{
|
||||||
'loss': 1, 'results_explanation': 'foo result', 'params': {'stoploss': 0.0}}])
|
'loss': 1, 'results_explanation': 'foo result', 'params': {'stoploss': 0.0},
|
||||||
|
'results_metrics':
|
||||||
|
{
|
||||||
|
'trade_count': 1,
|
||||||
|
'avg_profit': 0.1,
|
||||||
|
'total_profit': 0.001,
|
||||||
|
'profit': 1.0,
|
||||||
|
'duration': 20.0
|
||||||
|
}
|
||||||
|
}])
|
||||||
)
|
)
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
|
|
||||||
@ -965,7 +1034,17 @@ def test_simplified_interface_buy(mocker, default_conf, caplog, capsys) -> None:
|
|||||||
|
|
||||||
parallel = mocker.patch(
|
parallel = mocker.patch(
|
||||||
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
||||||
MagicMock(return_value=[{'loss': 1, 'results_explanation': 'foo result', 'params': {}}])
|
MagicMock(return_value=[{
|
||||||
|
'loss': 1, 'results_explanation': 'foo result', 'params': {},
|
||||||
|
'results_metrics':
|
||||||
|
{
|
||||||
|
'trade_count': 1,
|
||||||
|
'avg_profit': 0.1,
|
||||||
|
'total_profit': 0.001,
|
||||||
|
'profit': 1.0,
|
||||||
|
'duration': 20.0
|
||||||
|
}
|
||||||
|
}])
|
||||||
)
|
)
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
|
|
||||||
@ -1012,7 +1091,17 @@ def test_simplified_interface_sell(mocker, default_conf, caplog, capsys) -> None
|
|||||||
|
|
||||||
parallel = mocker.patch(
|
parallel = mocker.patch(
|
||||||
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
'freqtrade.optimize.hyperopt.Hyperopt.run_optimizer_parallel',
|
||||||
MagicMock(return_value=[{'loss': 1, 'results_explanation': 'foo result', 'params': {}}])
|
MagicMock(return_value=[{
|
||||||
|
'loss': 1, 'results_explanation': 'foo result', 'params': {},
|
||||||
|
'results_metrics':
|
||||||
|
{
|
||||||
|
'trade_count': 1,
|
||||||
|
'avg_profit': 0.1,
|
||||||
|
'total_profit': 0.001,
|
||||||
|
'profit': 1.0,
|
||||||
|
'duration': 20.0
|
||||||
|
}
|
||||||
|
}])
|
||||||
)
|
)
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user