diff --git a/freqtrade/exchange/binance.py b/freqtrade/exchange/binance.py index f5a222d2d..1fcdc0ab4 100644 --- a/freqtrade/exchange/binance.py +++ b/freqtrade/exchange/binance.py @@ -112,9 +112,6 @@ class Binance(Exchange): except ccxt.BaseError as e: raise OperationalException(e) from e - def _apply_leverage_to_stake_amount(self, stake_amount: float, leverage: float): - return stake_amount / leverage - @retrier def fill_leverage_brackets(self): """ diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 03ab281c9..dfee82d7b 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -630,7 +630,7 @@ class Exchange: :param stake_amount: The stake amount for a pair before leverage is considered :param leverage: The amount of leverage being used on the current trade """ - return stake_amount + return stake_amount / leverage # Dry-run methods diff --git a/freqtrade/exchange/kraken.py b/freqtrade/exchange/kraken.py index 14ebedef0..b72a92070 100644 --- a/freqtrade/exchange/kraken.py +++ b/freqtrade/exchange/kraken.py @@ -163,15 +163,6 @@ class Kraken(Exchange): leverages[pair] = leverage_buy self._leverage_brackets = leverages - def _apply_leverage_to_stake_amount(self, stake_amount: float, leverage: float): - """ - Takes the minimum stake amount for a pair with no leverage and returns the minimum - stake amount when leverage is considered - :param stake_amount: The stake amount for a pair before leverage is considered - :param leverage: The amount of leverage being used on the current trade - """ - return stake_amount / leverage - def get_max_leverage(self, pair: Optional[str], nominal_value: Optional[float]) -> float: """ Returns the maximum leverage that a pair can be traded at diff --git a/tests/exchange/test_exchange.py b/tests/exchange/test_exchange.py index 330793822..5c0323915 100644 --- a/tests/exchange/test_exchange.py +++ b/tests/exchange/test_exchange.py @@ -2969,18 +2969,11 @@ def test_calculate_backoff(retrycount, max_retries, expected): assert calculate_backoff(retrycount, max_retries) == expected +@pytest.mark.parametrize('exchange', ['binance', 'kraken', 'ftx']) @pytest.mark.parametrize('exchange,stake_amount,leverage,min_stake_with_lev', [ - ('binance', 9.0, 3.0, 3.0), - ('binance', 20.0, 5.0, 4.0), - ('binance', 100.0, 100.0, 1.0), - # Kraken - ('kraken', 9.0, 3.0, 3.0), - ('kraken', 20.0, 5.0, 4.0), - ('kraken', 100.0, 100.0, 1.0), - # FTX - ('ftx', 9.0, 3.0, 9.0), - ('ftx', 20.0, 5.0, 20.0), - ('ftx', 100.0, 100.0, 100.0) + (9.0, 3.0, 3.0), + (20.0, 5.0, 4.0), + (100.0, 100.0, 1.0) ]) def test_apply_leverage_to_stake_amount( exchange,