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") | ||||
|             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 | ||||
|             # 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 | ||||
|  | ||||
|         # 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', | ||||
|         side_effect=DependencyException() | ||||
|     ) | ||||
|     trade.is_open = True | ||||
|     freqtrade.handle_stoploss_on_exchange(trade) | ||||
|     assert log_has('Unable to place a stoploss order on exchange.', caplog) | ||||
|     assert trade.stoploss_order_id is None | ||||
|   | ||||
		Reference in New Issue
	
	Block a user