From c251877abac64a1ac2d330d52b8144cdbc9e52cb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Oct 2025 06:25:41 +0000 Subject: [PATCH 1/4] chore(deps): bump ccxt from 4.5.11 to 4.5.12 Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.5.11 to 4.5.12. - [Release notes](https://github.com/ccxt/ccxt/releases) - [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg) - [Commits](https://github.com/ccxt/ccxt/compare/v4.5.11...v4.5.12) --- updated-dependencies: - dependency-name: ccxt dependency-version: 4.5.12 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5a39f276b..b29e2b6c7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,7 @@ ft-pandas-ta==0.3.16 ta-lib==0.6.8 technical==1.5.3 -ccxt==4.5.11 +ccxt==4.5.12 cryptography==46.0.3 aiohttp==3.13.1 SQLAlchemy==2.0.44 From 43be6eef674481995963d68f57495c41a3580d5b Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 27 Oct 2025 19:45:15 +0100 Subject: [PATCH 2/4] chore: re-align okx limits with ccxt --- freqtrade/exchange/okx.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/freqtrade/exchange/okx.py b/freqtrade/exchange/okx.py index dbe746a8f..7462c6000 100644 --- a/freqtrade/exchange/okx.py +++ b/freqtrade/exchange/okx.py @@ -80,11 +80,6 @@ class Okx(Exchange): if candle_type in (CandleType.FUTURES, CandleType.SPOT): return 300 - if candle_type in (CandleType.MARK, CandleType.PREMIUMINDEX) and ( - not since_ms or since_ms > (date_minus_candles(timeframe, 300).timestamp() * 1000) - ): - return 300 - return super().ohlcv_candle_limit(timeframe, candle_type, since_ms) @retrier From 89802da1c70319a09d657925f8133842ed0f0b81 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 27 Oct 2025 19:45:21 +0100 Subject: [PATCH 3/4] test: update tests for new okx limits --- tests/exchange/test_exchange.py | 5 +---- tests/exchange/test_okx.py | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/tests/exchange/test_exchange.py b/tests/exchange/test_exchange.py index e5fc6f574..7e3caf039 100644 --- a/tests/exchange/test_exchange.py +++ b/tests/exchange/test_exchange.py @@ -2176,10 +2176,7 @@ def test_get_historic_ohlcv(default_conf, mocker, caplog, exchange_name, candle_ since = date_minus_candles("5m", candle_limit) ret = exchange.get_historic_ohlcv(pair, "5m", dt_ts(since), candle_type=candle_type) - if exchange_name == "okx" and candle_type == "mark": - expected = 4 - else: - expected = 2 + expected = 2 assert exchange._async_get_candle_history.call_count == expected # Returns twice the above OHLCV data after truncating the open candle. assert len(ret) == expected diff --git a/tests/exchange/test_okx.py b/tests/exchange/test_okx.py index a388c2ab1..750afbd40 100644 --- a/tests/exchange/test_okx.py +++ b/tests/exchange/test_okx.py @@ -20,7 +20,7 @@ def test_okx_ohlcv_candle_limit(default_conf, mocker): for timeframe in timeframes: assert exchange.ohlcv_candle_limit(timeframe, CandleType.SPOT) == 300 assert exchange.ohlcv_candle_limit(timeframe, CandleType.FUTURES) == 300 - assert exchange.ohlcv_candle_limit(timeframe, CandleType.MARK) == 300 + assert exchange.ohlcv_candle_limit(timeframe, CandleType.MARK) == 100 assert exchange.ohlcv_candle_limit(timeframe, CandleType.FUNDING_RATE) == 100 assert exchange.ohlcv_candle_limit(timeframe, CandleType.SPOT, start_time) == 300 @@ -36,7 +36,7 @@ def test_okx_ohlcv_candle_limit(default_conf, mocker): assert exchange.ohlcv_candle_limit(timeframe, CandleType.SPOT, one_call) == 300 assert exchange.ohlcv_candle_limit(timeframe, CandleType.FUTURES, one_call) == 300 - assert exchange.ohlcv_candle_limit(timeframe, CandleType.MARK, one_call) == 300 + assert exchange.ohlcv_candle_limit(timeframe, CandleType.MARK, one_call) == 100 one_call = int( ( From 5ae0328722e403cbdd91033aca76b73b6f822733 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 27 Oct 2025 19:49:41 +0100 Subject: [PATCH 4/4] chore: fix redundant import --- freqtrade/exchange/okx.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/freqtrade/exchange/okx.py b/freqtrade/exchange/okx.py index 7462c6000..bd401d198 100644 --- a/freqtrade/exchange/okx.py +++ b/freqtrade/exchange/okx.py @@ -11,7 +11,7 @@ from freqtrade.exceptions import ( RetryableOrderError, TemporaryError, ) -from freqtrade.exchange import Exchange, date_minus_candles +from freqtrade.exchange import Exchange from freqtrade.exchange.common import API_RETRY_COUNT, retrier from freqtrade.exchange.exchange_types import CcxtOrder, FtHas from freqtrade.misc import safe_value_fallback2