diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 6f8eab820..cc1cd3322 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -1405,8 +1405,9 @@ class Exchange: amount: float, rate: float, leverage: float, - reduceOnly: bool = False, time_in_force: str = "GTC", + reduceOnly: bool = False, + initial_order: bool = True, ) -> CcxtOrder: if self._config["dry_run"]: dry_order = self.create_dry_run_order( @@ -1423,7 +1424,7 @@ class Exchange: rate_for_order = self.price_to_precision(pair, rate) if needs_price else None if not reduceOnly: - self._lev_prep(pair, leverage, side) + self._lev_prep(pair, leverage, side, accept_fail=not initial_order) order = self._api.create_order( pair, diff --git a/freqtrade/freqtradebot.py b/freqtrade/freqtradebot.py index 4c5207e93..b80442ca0 100644 --- a/freqtrade/freqtradebot.py +++ b/freqtrade/freqtradebot.py @@ -937,6 +937,7 @@ class FreqtradeBot(LoggingMixin): reduceOnly=False, time_in_force=time_in_force, leverage=leverage, + initial_order=trade is None, ) order_obj = Order.parse_from_ccxt_object(order, pair, side, amount, enter_limit_requested) order_obj.ft_order_tag = enter_tag @@ -2145,6 +2146,7 @@ class FreqtradeBot(LoggingMixin): leverage=trade.leverage, reduceOnly=self.trading_mode == TradingMode.FUTURES, time_in_force=time_in_force, + initial_order=False, ) except InsufficientFundsError as e: logger.warning(f"Unable to place order {e}.")