Fixed test_tsl_on_exchange_compatible_with_edge

This commit is contained in:
Sam Germain 2021-09-30 02:34:00 -06:00
parent c820db4c60
commit 107fa911a5

View File

@ -1483,9 +1483,9 @@ def test_tsl_on_exchange_compatible_with_edge(mocker, edge_conf, fee, caplog,
mocker.patch.multiple( mocker.patch.multiple(
'freqtrade.exchange.Exchange', 'freqtrade.exchange.Exchange',
fetch_ticker=MagicMock(return_value={ fetch_ticker=MagicMock(return_value={
'bid': 1.9, 'bid': 2.19,
'ask': 2.2, 'ask': 2.2,
'last': 1.9 'last': 2.19
}), }),
create_order=MagicMock(side_effect=[ create_order=MagicMock(side_effect=[
{'id': limit_buy_order_usdt['id']}, {'id': limit_buy_order_usdt['id']},
@ -1540,7 +1540,7 @@ def test_tsl_on_exchange_compatible_with_edge(mocker, edge_conf, fee, caplog,
# stoploss initially at 20% as edge dictated it. # stoploss initially at 20% as edge dictated it.
assert freqtrade.handle_trade(trade) is False assert freqtrade.handle_trade(trade) is False
assert freqtrade.handle_stoploss_on_exchange(trade) is False assert freqtrade.handle_stoploss_on_exchange(trade) is False
assert trade.stop_loss == 2.178 assert isclose(trade.stop_loss, 1.76)
cancel_order_mock = MagicMock() cancel_order_mock = MagicMock()
stoploss_order_mock = MagicMock() stoploss_order_mock = MagicMock()
@ -1549,15 +1549,15 @@ def test_tsl_on_exchange_compatible_with_edge(mocker, edge_conf, fee, caplog,
# price goes down 5% # price goes down 5%
mocker.patch('freqtrade.exchange.Exchange.fetch_ticker', MagicMock(return_value={ mocker.patch('freqtrade.exchange.Exchange.fetch_ticker', MagicMock(return_value={
'bid': 1.9 * 0.95, 'bid': 2.19 * 0.95,
'ask': 2.2 * 0.95, 'ask': 2.2 * 0.95,
'last': 1.9 * 0.95 'last': 2.19 * 0.95
})) }))
assert freqtrade.handle_trade(trade) is False assert freqtrade.handle_trade(trade) is False
assert freqtrade.handle_stoploss_on_exchange(trade) is False assert freqtrade.handle_stoploss_on_exchange(trade) is False
# stoploss should remain the same # stoploss should remain the same
assert trade.stop_loss == 2.178 assert isclose(trade.stop_loss, 1.76)
# stoploss on exchange should not be canceled # stoploss on exchange should not be canceled
cancel_order_mock.assert_not_called() cancel_order_mock.assert_not_called()
@ -1575,10 +1575,12 @@ def test_tsl_on_exchange_compatible_with_edge(mocker, edge_conf, fee, caplog,
# stoploss should be set to 1% as trailing is on # stoploss should be set to 1% as trailing is on
assert trade.stop_loss == 4.4 * 0.99 assert trade.stop_loss == 4.4 * 0.99
cancel_order_mock.assert_called_once_with(100, 'NEO/BTC') cancel_order_mock.assert_called_once_with(100, 'NEO/BTC')
stoploss_order_mock.assert_called_once_with(amount=2132892.49146757, stoploss_order_mock.assert_called_once_with(
pair='NEO/BTC', amount=11.41438356,
order_types=freqtrade.strategy.order_types, pair='NEO/BTC',
stop_price=4.4 * 0.99) order_types=freqtrade.strategy.order_types,
stop_price=4.4 * 0.99
)
@pytest.mark.parametrize('return_value,side_effect,log_message', [ @pytest.mark.parametrize('return_value,side_effect,log_message', [