Verify if trade is closed before acting on Stoploss_on_exchange
This commit is contained in:
		| @@ -689,9 +689,10 @@ class FreqtradeBot: | |||||||
|             self._notify_sell(trade, "stoploss") |             self._notify_sell(trade, "stoploss") | ||||||
|             return True |             return True | ||||||
|  |  | ||||||
|         if trade.open_order_id: |         if trade.open_order_id or not trade.is_open: | ||||||
|             # Trade has an open Buy or Sell order, Stoploss-handling can't happen in this case |             # Trade has an open Buy or Sell order, Stoploss-handling can't happen in this case | ||||||
|             # as the Amount on the exchange is tied up in another trade. |             # as the Amount on the exchange is tied up in another trade. | ||||||
|  |             # The trade can be closed already (sell-order fill confirmation came in this iteration) | ||||||
|             return False |             return False | ||||||
|  |  | ||||||
|         # If buy order is fulfilled but there is no stoploss, we add a stoploss on exchange |         # If buy order is fulfilled but there is no stoploss, we add a stoploss on exchange | ||||||
|   | |||||||
| @@ -1127,6 +1127,7 @@ def test_handle_stoploss_on_exchange(mocker, default_conf, fee, caplog, | |||||||
|         'freqtrade.exchange.Exchange.stoploss_limit', |         'freqtrade.exchange.Exchange.stoploss_limit', | ||||||
|         side_effect=DependencyException() |         side_effect=DependencyException() | ||||||
|     ) |     ) | ||||||
|  |     trade.is_open = True | ||||||
|     freqtrade.handle_stoploss_on_exchange(trade) |     freqtrade.handle_stoploss_on_exchange(trade) | ||||||
|     assert log_has('Unable to place a stoploss order on exchange.', caplog) |     assert log_has('Unable to place a stoploss order on exchange.', caplog) | ||||||
|     assert trade.stoploss_order_id is None |     assert trade.stoploss_order_id is None | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user