mirror of
https://github.com/freqtrade/freqtrade.git
synced 2024-11-10 10:21:59 +00:00
removed interest method from exchange, will create a separate interest PR
This commit is contained in:
parent
93da13212c
commit
9f96b977f6
|
@ -1581,31 +1581,6 @@ class Exchange:
|
|||
self._async_get_trade_history(pair=pair, since=since,
|
||||
until=until, from_id=from_id))
|
||||
|
||||
@retrier
|
||||
def get_interest_rate(
|
||||
self,
|
||||
pair: str,
|
||||
maker_or_taker: str,
|
||||
is_short: bool
|
||||
) -> Tuple[float, float]:
|
||||
"""
|
||||
Gets the rate of interest for borrowed currency when margin trading
|
||||
:param pair: base/quote currency pair
|
||||
:param maker_or_taker: "maker" if limit order, "taker" if market order
|
||||
:param is_short: True if requesting base interest, False if requesting quote interest
|
||||
:return: (open_interest, rollover_interest)
|
||||
"""
|
||||
try:
|
||||
# TODO-lev: implement, currently there is no ccxt method for this
|
||||
return (0.0005, 0.0005)
|
||||
except ccxt.DDoSProtection as e:
|
||||
raise DDosProtection(e) from e
|
||||
except (ccxt.NetworkError, ccxt.ExchangeError) as e:
|
||||
raise TemporaryError(
|
||||
f'Could not set leverage due to {e.__class__.__name__}. Message: {e}') from e
|
||||
except ccxt.BaseError as e:
|
||||
raise OperationalException(e) from e
|
||||
|
||||
@retrier
|
||||
def fill_leverage_brackets(self):
|
||||
"""
|
||||
|
|
|
@ -2998,69 +2998,6 @@ def test_fill_leverage_brackets():
|
|||
return
|
||||
|
||||
|
||||
# TODO-lev: These tests don't test anything real, they need to be replaced with real values once
|
||||
# get_interest_rates is written
|
||||
@pytest.mark.parametrize('exchange_name,pair,maker_or_taker,is_short,borrow_rate,interest_rate', [
|
||||
('binance', "ADA/USDT", "maker", True, 0.0005, 0.0005),
|
||||
('binance', "ADA/USDT", "maker", False, 0.0005, 0.0005),
|
||||
('binance', "ADA/USDT", "taker", True, 0.0005, 0.0005),
|
||||
('binance', "ADA/USDT", "taker", False, 0.0005, 0.0005),
|
||||
# Kraken
|
||||
('kraken', "ADA/USDT", "maker", True, 0.0005, 0.0005),
|
||||
('kraken', "ADA/USDT", "maker", False, 0.0005, 0.0005),
|
||||
('kraken', "ADA/USDT", "taker", True, 0.0005, 0.0005),
|
||||
('kraken', "ADA/USDT", "taker", False, 0.0005, 0.0005),
|
||||
# FTX
|
||||
('ftx', "ADA/USDT", "maker", True, 0.0005, 0.0005),
|
||||
('ftx', "ADA/USDT", "maker", False, 0.0005, 0.0005),
|
||||
('ftx', "ADA/USDT", "taker", True, 0.0005, 0.0005),
|
||||
('ftx', "ADA/USDT", "taker", False, 0.0005, 0.0005),
|
||||
])
|
||||
def test_get_interest_rate(
|
||||
default_conf,
|
||||
mocker,
|
||||
exchange_name,
|
||||
pair,
|
||||
maker_or_taker,
|
||||
is_short,
|
||||
borrow_rate,
|
||||
interest_rate
|
||||
):
|
||||
exchange = get_patched_exchange(mocker, default_conf, id=exchange_name)
|
||||
assert exchange.get_interest_rate(
|
||||
pair, maker_or_taker, is_short) == (borrow_rate, interest_rate)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("exchange_name", [("binance"), ("ftx"), ("kraken")])
|
||||
@pytest.mark.parametrize("maker_or_taker", [("maker"), ("taker")])
|
||||
@pytest.mark.parametrize("is_short", [(True), (False)])
|
||||
def test_get_interest_rate_exceptions(
|
||||
mocker,
|
||||
default_conf,
|
||||
exchange_name,
|
||||
maker_or_taker,
|
||||
is_short
|
||||
):
|
||||
|
||||
# api_mock = MagicMock()
|
||||
# # TODO-lev: get_interest_rate currently not implemented on CCXT, so this may be renamed
|
||||
# api_mock.get_interest_rate = MagicMock()
|
||||
# type(api_mock).has = PropertyMock(return_value={'getInterestRate': True})
|
||||
|
||||
# ccxt_exceptionhandlers(
|
||||
# mocker,
|
||||
# default_conf,
|
||||
# api_mock,
|
||||
# exchange_name,
|
||||
# "get_interest_rate",
|
||||
# "get_interest_rate",
|
||||
# pair="XRP/USDT",
|
||||
# is_short=is_short,
|
||||
# maker_or_taker="maker_or_taker"
|
||||
# )
|
||||
return
|
||||
|
||||
|
||||
@pytest.mark.parametrize("collateral", [
|
||||
(Collateral.CROSS),
|
||||
(Collateral.ISOLATED)
|
||||
|
|
Loading…
Reference in New Issue
Block a user