fix: allow set-leverage failures on followup orders
This commit is contained in:
@@ -1405,8 +1405,9 @@ class Exchange:
|
|||||||
amount: float,
|
amount: float,
|
||||||
rate: float,
|
rate: float,
|
||||||
leverage: float,
|
leverage: float,
|
||||||
reduceOnly: bool = False,
|
|
||||||
time_in_force: str = "GTC",
|
time_in_force: str = "GTC",
|
||||||
|
reduceOnly: bool = False,
|
||||||
|
initial_order: bool = True,
|
||||||
) -> CcxtOrder:
|
) -> CcxtOrder:
|
||||||
if self._config["dry_run"]:
|
if self._config["dry_run"]:
|
||||||
dry_order = self.create_dry_run_order(
|
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
|
rate_for_order = self.price_to_precision(pair, rate) if needs_price else None
|
||||||
|
|
||||||
if not reduceOnly:
|
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(
|
order = self._api.create_order(
|
||||||
pair,
|
pair,
|
||||||
|
|||||||
@@ -937,6 +937,7 @@ class FreqtradeBot(LoggingMixin):
|
|||||||
reduceOnly=False,
|
reduceOnly=False,
|
||||||
time_in_force=time_in_force,
|
time_in_force=time_in_force,
|
||||||
leverage=leverage,
|
leverage=leverage,
|
||||||
|
initial_order=trade is None,
|
||||||
)
|
)
|
||||||
order_obj = Order.parse_from_ccxt_object(order, pair, side, amount, enter_limit_requested)
|
order_obj = Order.parse_from_ccxt_object(order, pair, side, amount, enter_limit_requested)
|
||||||
order_obj.ft_order_tag = enter_tag
|
order_obj.ft_order_tag = enter_tag
|
||||||
@@ -2145,6 +2146,7 @@ class FreqtradeBot(LoggingMixin):
|
|||||||
leverage=trade.leverage,
|
leverage=trade.leverage,
|
||||||
reduceOnly=self.trading_mode == TradingMode.FUTURES,
|
reduceOnly=self.trading_mode == TradingMode.FUTURES,
|
||||||
time_in_force=time_in_force,
|
time_in_force=time_in_force,
|
||||||
|
initial_order=False,
|
||||||
)
|
)
|
||||||
except InsufficientFundsError as e:
|
except InsufficientFundsError as e:
|
||||||
logger.warning(f"Unable to place order {e}.")
|
logger.warning(f"Unable to place order {e}.")
|
||||||
|
|||||||
Reference in New Issue
Block a user