Fixed test_tsl_on_exchange_compatible_with_edge
This commit is contained in:
parent
c820db4c60
commit
107fa911a5
@ -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', [
|
||||||
|
Loading…
Reference in New Issue
Block a user