Re-set funding-fee history limit for bybit to 200

This commit is contained in:
Matthias
2023-08-08 20:23:01 +02:00
parent 62ad2cca1a
commit 565e2699b4
2 changed files with 12 additions and 2 deletions
+11 -1
View File
@@ -7,6 +7,7 @@ import ccxt
from freqtrade.constants import BuySell from freqtrade.constants import BuySell
from freqtrade.enums import MarginMode, PriceType, TradingMode from freqtrade.enums import MarginMode, PriceType, TradingMode
from freqtrade.enums.candletype import CandleType
from freqtrade.exceptions import DDosProtection, OperationalException, TemporaryError from freqtrade.exceptions import DDosProtection, OperationalException, TemporaryError
from freqtrade.exchange import Exchange from freqtrade.exchange import Exchange
from freqtrade.exchange.common import retrier from freqtrade.exchange.common import retrier
@@ -91,6 +92,14 @@ class Bybit(Exchange):
except ccxt.BaseError as e: except ccxt.BaseError as e:
raise OperationalException(e) from e raise OperationalException(e) from e
def ohlcv_candle_limit(
self, timeframe: str, candle_type: CandleType, since_ms: Optional[int] = None) -> int:
if candle_type in (CandleType.FUNDING_RATE):
return 200
return super().ohlcv_candle_limit(timeframe, candle_type, since_ms)
async def _fetch_funding_rate_history( async def _fetch_funding_rate_history(
self, self,
pair: str, pair: str,
@@ -104,7 +113,8 @@ class Bybit(Exchange):
""" """
params = {} params = {}
if since_ms: if since_ms:
until = since_ms + (timeframe_to_msecs(timeframe) * self._ft_has['ohlcv_candle_limit']) limit = self.ohlcv_candle_limit(timeframe, CandleType.FUNDING_RATE, since_ms)
until = since_ms + (timeframe_to_msecs(timeframe) * limit)
params.update({'until': until}) params.update({'until': until})
# Funding rate # Funding rate
data = await self._api_async.fetch_funding_rate_history( data = await self._api_async.fetch_funding_rate_history(
+1 -1
View File
@@ -26,7 +26,7 @@ async def test_bybit_fetch_funding_rate(default_conf, mocker):
api_mock = MagicMock() api_mock = MagicMock()
api_mock.fetch_funding_rate_history = get_mock_coro(return_value=[]) api_mock.fetch_funding_rate_history = get_mock_coro(return_value=[])
exchange = get_patched_exchange(mocker, default_conf, id='bybit', api_mock=api_mock) exchange = get_patched_exchange(mocker, default_conf, id='bybit', api_mock=api_mock)
limit = 1000 limit = 200
# Test fetch_funding_rate_history (current data) # Test fetch_funding_rate_history (current data)
await exchange._fetch_funding_rate_history( await exchange._fetch_funding_rate_history(
pair='BTC/USDT:USDT', pair='BTC/USDT:USDT',