update cancel_stoploss_on_exchange to cancel all sl orders of trade

This commit is contained in:
Axel-CH
2023-10-05 22:24:17 -04:00
parent cac777cb21
commit 9214af6901
+12 -12
View File
@@ -904,18 +904,18 @@ class FreqtradeBot(LoggingMixin):
def cancel_stoploss_on_exchange(self, trade: Trade) -> Trade: def cancel_stoploss_on_exchange(self, trade: Trade) -> Trade:
# First cancelling stoploss on exchange ... # First cancelling stoploss on exchange ...
if trade.stoploss_order_id: if trade.has_open_sl_orders:
try: for o in trade.orders:
logger.info(f"Canceling stoploss on exchange for {trade}") if o.ft_order_side == 'stoploss' and o.ft_is_open:
co = self.exchange.cancel_stoploss_order_with_result( try:
trade.stoploss_order_id, trade.pair, trade.amount) logger.info(f"Canceling stoploss on exchange for {trade} "
self.update_trade_state(trade, trade.stoploss_order_id, co, stoploss_order=True) f"order: {o.order_id}")
co = self.exchange.cancel_stoploss_order_with_result(
# Reset stoploss order id. o.order_id, trade.pair, trade.amount)
trade.stoploss_order_id = None self.update_trade_state(trade, o.order_id, co, stoploss_order=True)
except InvalidOrderException: except InvalidOrderException:
logger.exception(f"Could not cancel stoploss order {trade.stoploss_order_id} " logger.exception(f"Could not cancel stoploss order {o.order_id} "
f"for pair {trade.pair}") f"for pair {trade.pair}")
return trade return trade
def get_valid_enter_price_and_stake( def get_valid_enter_price_and_stake(