From 0cfb73b74bdb127bdfa1d4e7801da44a0e1a77dd Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 25 Jan 2025 14:02:09 +0100 Subject: [PATCH] chore: add wrapper for ws ohlcvs this avoids access to internal objects --- freqtrade/exchange/exchange.py | 2 +- freqtrade/exchange/exchange_ws.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 896728a05..f69380727 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -2397,7 +2397,7 @@ class Exchange: if self._exchange_ws: candle_ts = dt_ts(timeframe_to_prev_date(timeframe)) prev_candle_ts = dt_ts(date_minus_candles(timeframe, 1)) - candles = self._exchange_ws.ccxt_object.ohlcvs.get(pair, {}).get(timeframe) + candles = self._exchange_ws.ohlcvs.get(pair, {}).get(timeframe) half_candle = int(candle_ts - (candle_ts - prev_candle_ts) * 0.5) last_refresh_time = int( self._exchange_ws.klines_last_refresh.get((pair, timeframe, candle_type), 0) diff --git a/freqtrade/exchange/exchange_ws.py b/freqtrade/exchange/exchange_ws.py index 056e241ec..df9b172cd 100644 --- a/freqtrade/exchange/exchange_ws.py +++ b/freqtrade/exchange/exchange_ws.py @@ -83,6 +83,13 @@ class ExchangeWS: """ self.ccxt_object.ohlcvs.get(paircomb[0], {}).pop(paircomb[1], None) + @property + def ohlcvs(self) -> dict[str, dict[str, list[list]]]: + """ + Returns the ccxt cache for OHLCV data + """ + return self.ccxt_object.ohlcvs + def cleanup_expired(self) -> None: """ Remove pairs from watchlist if they've not been requested within