From 1ed6f1875b019aa932d225c6e3acee04906e7cdf Mon Sep 17 00:00:00 2001 From: axel Date: Wed, 21 Jun 2023 01:48:57 -0400 Subject: [PATCH] wip fix test_rpc_force_exit --- freqtrade/rpc/rpc.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/freqtrade/rpc/rpc.py b/freqtrade/rpc/rpc.py index c8df39af4..4c6edc078 100644 --- a/freqtrade/rpc/rpc.py +++ b/freqtrade/rpc/rpc.py @@ -763,21 +763,22 @@ class RPC: def __exec_force_exit(self, trade: Trade, ordertype: Optional[str], amount: Optional[float] = None) -> bool: - # Check if there is there is an open order + # Check if there is there is open orders fully_canceled = False - if trade.open_order_id: - order = self._freqtrade.exchange.fetch_order(trade.open_order_id, trade.pair) + for oo in trade.open_orders: + order = self._freqtrade.exchange.fetch_order(oo.order_id, trade.pair) if order['side'] == trade.entry_side: fully_canceled = self._freqtrade.handle_cancel_enter( - trade, order, CANCEL_REASON['FORCE_EXIT']) + trade, order, oo.order_id, CANCEL_REASON['FORCE_EXIT']) if order['side'] == trade.exit_side: # Cancel order - so it is placed anew with a fresh price. - self._freqtrade.handle_cancel_exit(trade, order, CANCEL_REASON['FORCE_EXIT']) + self._freqtrade.handle_cancel_exit( + trade, order, oo.order_id, CANCEL_REASON['FORCE_EXIT']) if not fully_canceled: - if trade.open_order_id is not None: + if trade.has_open_orders: # Order cancellation failed, so we can't exit. return False # Get current rate and execute sell