From 17477242067f36eee1d6f2ad6f0481327c57baa8 Mon Sep 17 00:00:00 2001 From: Ali Salama Date: Mon, 19 Jan 2026 14:08:20 +0000 Subject: [PATCH 1/4] Always download latest candle for Funding Rates --- freqtrade/exchange/exchange.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 9252fd90b..e1b00adfb 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -2563,7 +2563,9 @@ class Exchange: ) ) logger.debug(f"Downloaded data for {pair} from ccxt with length {len(data)}.") - return ohlcv_to_dataframe(data, timeframe, pair, fill_missing=False, drop_incomplete=True) + return ohlcv_to_dataframe(data, timeframe, pair, fill_missing=False, + # funding_rates are always complete, so never need to be dropped. + drop_incomplete=self._ohlcv_partial_candle if candle_type != CandleType.FUNDING_RATE else False) async def _async_get_historic_ohlcv( self, From 8cb72e1fa30de6c658388d3e5a81928153a1fff8 Mon Sep 17 00:00:00 2001 From: Ali Salama Date: Wed, 21 Jan 2026 10:25:35 +0000 Subject: [PATCH 2/4] Fixed linting line length issue --- freqtrade/exchange/exchange.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index e1b00adfb..41e48a88c 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -2565,7 +2565,8 @@ class Exchange: logger.debug(f"Downloaded data for {pair} from ccxt with length {len(data)}.") return ohlcv_to_dataframe(data, timeframe, pair, fill_missing=False, # funding_rates are always complete, so never need to be dropped. - drop_incomplete=self._ohlcv_partial_candle if candle_type != CandleType.FUNDING_RATE else False) + drop_incomplete=self._ohlcv_partial_candle if candle_type != CandleType.FUNDING_RATE + else False) async def _async_get_historic_ohlcv( self, From 558c65a85cc9a5ba04f3095ae6a623cca8543f05 Mon Sep 17 00:00:00 2001 From: Ali Salama Date: Wed, 21 Jan 2026 10:51:40 +0000 Subject: [PATCH 3/4] Amend linting issues --- freqtrade/exchange/exchange.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 41e48a88c..4efd3f328 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -2563,10 +2563,15 @@ class Exchange: ) ) logger.debug(f"Downloaded data for {pair} from ccxt with length {len(data)}.") - return ohlcv_to_dataframe(data, timeframe, pair, fill_missing=False, - # funding_rates are always complete, so never need to be dropped. - drop_incomplete=self._ohlcv_partial_candle if candle_type != CandleType.FUNDING_RATE - else False) + # funding_rates are always complete, so never need to be dropped. + drop = self._ohlcv_partial_candle if candle_type != CandleType.FUNDING_RATE else False + return ohlcv_to_dataframe( + data, + timeframe, + pair, + fill_missing=False, + drop_incomplete=drop + ) async def _async_get_historic_ohlcv( self, From ad6cf90037128a647c388af930497d7a47740467 Mon Sep 17 00:00:00 2001 From: Ali Salama Date: Wed, 21 Jan 2026 10:56:25 +0000 Subject: [PATCH 4/4] Applied ruff formatting --- freqtrade/exchange/exchange.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 4efd3f328..1fe4c152b 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -2564,13 +2564,11 @@ class Exchange: ) logger.debug(f"Downloaded data for {pair} from ccxt with length {len(data)}.") # funding_rates are always complete, so never need to be dropped. - drop = self._ohlcv_partial_candle if candle_type != CandleType.FUNDING_RATE else False + drop_incomplete = ( + self._ohlcv_partial_candle if candle_type != CandleType.FUNDING_RATE else False + ) return ohlcv_to_dataframe( - data, - timeframe, - pair, - fill_missing=False, - drop_incomplete=drop + data, timeframe, pair, fill_missing=False, drop_incomplete=drop_incomplete ) async def _async_get_historic_ohlcv(