mirror of
https://github.com/freqtrade/freqtrade.git
synced 2024-09-20 17:41:12 +00:00
Fix test test_handle_stoploss_on_exchange_custom_stop
This commit is contained in:
parent
33bd433c22
commit
600e311b3e
|
@ -1866,6 +1866,7 @@ def test_handle_stoploss_on_exchange_custom_stop(
|
||||||
exit_order,
|
exit_order,
|
||||||
]),
|
]),
|
||||||
get_fee=fee,
|
get_fee=fee,
|
||||||
|
is_cancel_order_result_suitable=MagicMock(return_value=True),
|
||||||
)
|
)
|
||||||
mocker.patch.multiple(
|
mocker.patch.multiple(
|
||||||
EXMS,
|
EXMS,
|
||||||
|
@ -1896,7 +1897,6 @@ def test_handle_stoploss_on_exchange_custom_stop(
|
||||||
trade = Trade.session.scalars(select(Trade)).first()
|
trade = Trade.session.scalars(select(Trade)).first()
|
||||||
trade.is_short = is_short
|
trade.is_short = is_short
|
||||||
trade.is_open = True
|
trade.is_open = True
|
||||||
trade.stoploss_order_id = '100'
|
|
||||||
trade.stoploss_last_update = dt_now() - timedelta(minutes=601)
|
trade.stoploss_last_update = dt_now() - timedelta(minutes=601)
|
||||||
trade.orders.append(
|
trade.orders.append(
|
||||||
Order(
|
Order(
|
||||||
|
@ -1908,8 +1908,8 @@ def test_handle_stoploss_on_exchange_custom_stop(
|
||||||
order_id='100',
|
order_id='100',
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
Trade.commit()
|
||||||
stoploss_order_hanging = MagicMock(return_value={
|
slo = {
|
||||||
'id': '100',
|
'id': '100',
|
||||||
'status': 'open',
|
'status': 'open',
|
||||||
'type': 'stop_loss_limit',
|
'type': 'stop_loss_limit',
|
||||||
|
@ -1918,9 +1918,17 @@ def test_handle_stoploss_on_exchange_custom_stop(
|
||||||
'info': {
|
'info': {
|
||||||
'stopPrice': '2.0805'
|
'stopPrice': '2.0805'
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
slo_canceled = deepcopy(slo)
|
||||||
|
slo_canceled.update({'status': 'canceled'})
|
||||||
|
|
||||||
mocker.patch(f'{EXMS}.fetch_stoploss_order', stoploss_order_hanging)
|
def fetch_stoploss_order_mock(order_id, *args, **kwargs):
|
||||||
|
x = deepcopy(slo)
|
||||||
|
x['id'] = order_id
|
||||||
|
return x
|
||||||
|
|
||||||
|
mocker.patch(f'{EXMS}.fetch_stoploss_order', MagicMock(fetch_stoploss_order_mock))
|
||||||
|
mocker.patch(f'{EXMS}.cancel_stoploss_order', return_value=slo_canceled)
|
||||||
|
|
||||||
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
|
||||||
|
@ -1939,7 +1947,6 @@ def test_handle_stoploss_on_exchange_custom_stop(
|
||||||
stoploss_order_mock = MagicMock(return_value={'id': 'so1', 'status': 'open'})
|
stoploss_order_mock = MagicMock(return_value={'id': 'so1', 'status': 'open'})
|
||||||
mocker.patch(f'{EXMS}.cancel_stoploss_order', cancel_order_mock)
|
mocker.patch(f'{EXMS}.cancel_stoploss_order', cancel_order_mock)
|
||||||
mocker.patch(f'{EXMS}.create_stoploss', stoploss_order_mock)
|
mocker.patch(f'{EXMS}.create_stoploss', stoploss_order_mock)
|
||||||
trade.stoploss_order_id = '100'
|
|
||||||
|
|
||||||
# stoploss should not be updated as the interval is 60 seconds
|
# stoploss should not be updated as the interval is 60 seconds
|
||||||
assert freqtrade.handle_trade(trade) is False
|
assert freqtrade.handle_trade(trade) is False
|
||||||
|
@ -1953,10 +1960,12 @@ def test_handle_stoploss_on_exchange_custom_stop(
|
||||||
|
|
||||||
# setting stoploss_on_exchange_interval to 0 seconds
|
# setting stoploss_on_exchange_interval to 0 seconds
|
||||||
freqtrade.strategy.order_types['stoploss_on_exchange_interval'] = 0
|
freqtrade.strategy.order_types['stoploss_on_exchange_interval'] = 0
|
||||||
|
cancel_order_mock.assert_not_called()
|
||||||
|
stoploss_order_mock.assert_not_called()
|
||||||
|
|
||||||
assert freqtrade.handle_stoploss_on_exchange(trade) is False
|
assert freqtrade.handle_stoploss_on_exchange(trade) is False
|
||||||
|
|
||||||
cancel_order_mock.assert_called_once_with('100', 'ETH/USDT')
|
cancel_order_mock.assert_called_once_with('13434334', 'ETH/USDT')
|
||||||
# Long uses modified ask - offset, short modified bid + offset
|
# Long uses modified ask - offset, short modified bid + offset
|
||||||
stoploss_order_mock.assert_called_once_with(
|
stoploss_order_mock.assert_called_once_with(
|
||||||
amount=pytest.approx(trade.amount),
|
amount=pytest.approx(trade.amount),
|
||||||
|
|
Loading…
Reference in New Issue
Block a user