From 5174717ca9b0682433be4216221f699a09464270 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 27 Oct 2024 13:56:38 +0100 Subject: [PATCH] fix: ensure createMarketBuyOrderRequiresPrice is only applied to buys closes #10833 --- freqtrade/exchange/exchange.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index f7fb8a9c7..48bb84369 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -1230,10 +1230,10 @@ class Exchange: params.update({"reduceOnly": True}) return params - def _order_needs_price(self, ordertype: str) -> bool: + def _order_needs_price(self, side: BuySell, ordertype: str) -> bool: return ( ordertype != "market" - or self._api.options.get("createMarketBuyOrderRequiresPrice", False) + or (side == "buy" and self._api.options.get("createMarketBuyOrderRequiresPrice", False)) or self._ft_has.get("marketOrderRequiresPrice", False) ) @@ -1260,7 +1260,7 @@ class Exchange: try: # Set the precision for amount and price(rate) as accepted by the exchange amount = self.amount_to_precision(pair, self._amount_to_contracts(pair, amount)) - needs_price = self._order_needs_price(ordertype) + needs_price = self._order_needs_price(side, ordertype) rate_for_order = self.price_to_precision(pair, rate) if needs_price else None if not reduceOnly: