| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- {
- "backtest": {
- "command": [
- "rtk",
- "uvx",
- "--from",
- "freqtrade",
- "freqtrade",
- "backtesting",
- "--config",
- "/tmp/okx-codex-trader-freqtrade-eth-skeleton/config-eth-skeleton-okx-futures.json",
- "--userdir",
- "/tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data",
- "--strategy",
- "EthFocusedInformativeDry",
- "--timeframe",
- "5m",
- "--pairs",
- "ETH/USDT:USDT",
- "--timerange",
- "20230101-"
- ],
- "finished_at": "2026-04-29T18:43:17.417409+00:00",
- "returncode": 2,
- "started_at": "2026-04-29T18:39:26.261571+00:00",
- "stderr": "2026-04-30 02:39:28,701 - freqtrade - INFO - freqtrade 2026.3\n2026-04-30 02:39:29,995 - freqtrade.configuration.load_config - INFO - Using config: /tmp/okx-codex-trader-freqtrade-eth-skeleton/config-eth-skeleton-okx-futures.json ...\n2026-04-30 02:39:29,996 - freqtrade.loggers - INFO - Enabling colorized output.\n2026-04-30 02:39:29,997 - freqtrade.loggers - INFO - Logfile configured\n2026-04-30 02:39:29,997 - freqtrade.loggers - INFO - Verbosity set to 0\n2026-04-30 02:39:29,997 - freqtrade.configuration.configuration - INFO - Parameter -i/--timeframe detected ... Using timeframe: 5m ...\n2026-04-30 02:39:29,997 - freqtrade.configuration.configuration - INFO - Using max_open_trades: 1 ...\n2026-04-30 02:39:29,997 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20230101- ...\n2026-04-30 02:39:29,999 - freqtrade.configuration.configuration - INFO - Using user-data directory: /tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data ...\n2026-04-30 02:39:29,999 - freqtrade.configuration.configuration - INFO - Using data directory: /tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data/data/okx ...\n2026-04-30 02:39:29,999 - freqtrade.configuration.configuration - INFO - Parameter --cache=day detected ...\n2026-04-30 02:39:29,999 - freqtrade.configuration.configuration - INFO - Using pairs ['ETH/USDT:USDT']\n2026-04-30 02:39:29,999 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20230101-\n2026-04-30 02:39:30,000 - freqtrade.exchange.check_exchange - INFO - Checking exchange...\n2026-04-30 02:39:30,003 - freqtrade.exchange.check_exchange - INFO - Exchange \"okx\" is officially supported by the Freqtrade development team.\n2026-04-30 02:39:30,003 - freqtrade.configuration.config_validation - INFO - Validating configuration ...\n2026-04-30 02:39:30,004 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode\n2026-04-30 02:39:30,005 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled\n2026-04-30 02:39:30,005 - freqtrade.exchange.exchange - INFO - Using CCXT 4.5.51\n2026-04-30 02:39:30,005 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'options': {'defaultType': 'swap'}, 'enableRateLimit': True, 'proxies': {'http': \n'http://127.0.0.1:7897', 'https': 'http://127.0.0.1:7897'}, 'timeout': 60000}\n2026-04-30 02:39:30,008 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'options': {'defaultType': 'swap'}, 'enableRateLimit': True, 'proxies': {'http': \n'http://127.0.0.1:7897', 'https': 'http://127.0.0.1:7897'}, 'timeout': 60000}\n2026-04-30 02:39:30,010 - freqtrade.exchange.exchange - INFO - Using Exchange \"OKX\"\n2026-04-30 02:40:26,083 - freqtrade.exchange.common - WARNING - _load_async_markets() returned exception: \"Error in reload_markets due to RequestTimeout. Message: okx GET \nhttps://www.okx.com/api/v5/public/instruments?instType=FUTURES\". Retrying still for 3 times.\n2026-04-30 02:41:23,130 - freqtrade.exchange.common - WARNING - _load_async_markets() returned exception: \"Error in reload_markets due to RequestTimeout. Message: okx GET \nhttps://www.okx.com/api/v5/public/instruments?instType=SWAP\". Retrying still for 2 times.\n2026-04-30 02:42:20,094 - freqtrade.exchange.common - WARNING - _load_async_markets() returned exception: \"Error in reload_markets due to RequestTimeout. Message: okx GET \nhttps://www.okx.com/api/v5/public/instruments?instType=FUTURES\". Retrying still for 1 times.\n2026-04-30 02:43:17,089 - freqtrade.exchange.common - WARNING - _load_async_markets() returned exception: \"Error in reload_markets due to RequestTimeout. Message: okx GET \nhttps://www.okx.com/api/v5/public/instruments?instType=SWAP\". Giving up.\n2026-04-30 02:43:17,089 - freqtrade.exchange.exchange - ERROR - Could not load markets.\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 788, in _request\n resp = await handler(req)\n ^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 742, in _connect_and_send_request\n conn = await self._connector.connect(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 672, in connect\n proto = await self._create_connection(req, traces, timeout)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 1251, in _create_connection\n _, proto = await self._create_direct_connection(req, traces, timeout)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 1592, in _create_direct_connection\n transp, proto = await self._wrap_create_connection(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 1310, in _wrap_create_connection\n sock = await aiohappyeyeballs.start_connection(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohappyeyeballs/impl.py\", line 87, in start_connection\n sock, _, _ = await _staggered.staggered_race(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohappyeyeballs/_staggered.py\", line 165, in staggered_race\n done = await _wait_one(\n ^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohappyeyeballs/_staggered.py\", line 46, in _wait_one\n return await wait_next\n ^^^^^^^^^^^^^^^\nasyncio.exceptions.CancelledError\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 241, in fetch\n async with session_method(yarl.URL(url, encoded=True),\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 1521, in __aenter__\n self._resp: _RetType = await self._coro\n ^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 632, in _request\n with timer:\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/helpers.py\", line 713, in __exit__\n raise asyncio.TimeoutError from exc_val\nTimeoutError\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/exchange.py\", line 680, in _api_reload_markets\n await self._api_async.load_markets(reload=reload, params={})\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 365, in load_markets\n raise e\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 357, in load_markets\n result = await self.markets_loading\n ^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 324, in load_markets_helper\n markets = await self.fetch_markets(params)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/okx.py\", line 1711, in fetch_markets\n promises = await asyncio.gather(*promises)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/okx.py\", line 1896, in fetch_markets_by_type\n response = await self.publicGetPublicInstruments(self.extend(request, params))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 1033, in request\n return await self.fetch2(path, api, method, params, headers, body, config)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 1027, in fetch2\n raise e\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 1017, in fetch2\n return await self.fetch(request['url'], request['method'], request['headers'], request['body'])\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 277, in fetch\n raise RequestTimeout(details) from e\nccxt.base.errors.RequestTimeout: okx GET https://www.okx.com/api/v5/public/instruments?instType=FUTURES\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/common.py\", line 179, in wrapper\n return f(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/exchange.py\", line 693, in _load_async_markets\n markets = self.loop.run_until_complete(self._api_reload_markets(reload=reload))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.local/share/uv/python/cpython-3.11.15-linux-x86_64-gnu/lib/python3.11/asyncio/base_events.py\", line 654, in run_until_complete\n return future.result()\n ^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/exchange.py\", line 684, in _api_reload_markets\n raise TemporaryError(\nfreqtrade.exceptions.TemporaryError: Error in reload_markets due to RequestTimeout. Message: okx GET https://www.okx.com/api/v5/public/instruments?instType=FUTURES\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 788, in _request\n resp = await handler(req)\n ^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 742, in _connect_and_send_request\n conn = await self._connector.connect(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 672, in connect\n proto = await self._create_connection(req, traces, timeout)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 1251, in _create_connection\n _, proto = await self._create_direct_connection(req, traces, timeout)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 1592, in _create_direct_connection\n transp, proto = await self._wrap_create_connection(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 1310, in _wrap_create_connection\n sock = await aiohappyeyeballs.start_connection(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohappyeyeballs/impl.py\", line 87, in start_connection\n sock, _, _ = await _staggered.staggered_race(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohappyeyeballs/_staggered.py\", line 165, in staggered_race\n done = await _wait_one(\n ^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohappyeyeballs/_staggered.py\", line 46, in _wait_one\n return await wait_next\n ^^^^^^^^^^^^^^^\nasyncio.exceptions.CancelledError\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 241, in fetch\n async with session_method(yarl.URL(url, encoded=True),\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 1521, in __aenter__\n self._resp: _RetType = await self._coro\n ^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 632, in _request\n with timer:\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/helpers.py\", line 713, in __exit__\n raise asyncio.TimeoutError from exc_val\nTimeoutError\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/exchange.py\", line 680, in _api_reload_markets\n await self._api_async.load_markets(reload=reload, params={})\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 365, in load_markets\n raise e\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 357, in load_markets\n result = await self.markets_loading\n ^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 324, in load_markets_helper\n markets = await self.fetch_markets(params)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/okx.py\", line 1711, in fetch_markets\n promises = await asyncio.gather(*promises)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/okx.py\", line 1896, in fetch_markets_by_type\n response = await self.publicGetPublicInstruments(self.extend(request, params))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 1033, in request\n return await self.fetch2(path, api, method, params, headers, body, config)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 1027, in fetch2\n raise e\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 1017, in fetch2\n return await self.fetch(request['url'], request['method'], request['headers'], request['body'])\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 277, in fetch\n raise RequestTimeout(details) from e\nccxt.base.errors.RequestTimeout: okx GET https://www.okx.com/api/v5/public/instruments?instType=SWAP\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/common.py\", line 179, in wrapper\n return f(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/exchange.py\", line 693, in _load_async_markets\n markets = self.loop.run_until_complete(self._api_reload_markets(reload=reload))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.local/share/uv/python/cpython-3.11.15-linux-x86_64-gnu/lib/python3.11/asyncio/base_events.py\", line 654, in run_until_complete\n return future.result()\n ^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/exchange.py\", line 684, in _api_reload_markets\n raise TemporaryError(\nfreqtrade.exceptions.TemporaryError: Error in reload_markets due to RequestTimeout. Message: okx GET https://www.okx.com/api/v5/public/instruments?instType=SWAP\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 788, in _request\n resp = await handler(req)\n ^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 742, in _connect_and_send_request\n conn = await self._connector.connect(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 672, in connect\n proto = await self._create_connection(req, traces, timeout)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 1251, in _create_connection\n _, proto = await self._create_direct_connection(req, traces, timeout)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 1592, in _create_direct_connection\n transp, proto = await self._wrap_create_connection(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 1310, in _wrap_create_connection\n sock = await aiohappyeyeballs.start_connection(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohappyeyeballs/impl.py\", line 87, in start_connection\n sock, _, _ = await _staggered.staggered_race(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohappyeyeballs/_staggered.py\", line 165, in staggered_race\n done = await _wait_one(\n ^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohappyeyeballs/_staggered.py\", line 46, in _wait_one\n return await wait_next\n ^^^^^^^^^^^^^^^\nasyncio.exceptions.CancelledError\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 241, in fetch\n async with session_method(yarl.URL(url, encoded=True),\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 1521, in __aenter__\n self._resp: _RetType = await self._coro\n ^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 632, in _request\n with timer:\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/helpers.py\", line 713, in __exit__\n raise asyncio.TimeoutError from exc_val\nTimeoutError\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/exchange.py\", line 680, in _api_reload_markets\n await self._api_async.load_markets(reload=reload, params={})\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 365, in load_markets\n raise e\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 357, in load_markets\n result = await self.markets_loading\n ^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 324, in load_markets_helper\n markets = await self.fetch_markets(params)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/okx.py\", line 1711, in fetch_markets\n promises = await asyncio.gather(*promises)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/okx.py\", line 1896, in fetch_markets_by_type\n response = await self.publicGetPublicInstruments(self.extend(request, params))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 1033, in request\n return await self.fetch2(path, api, method, params, headers, body, config)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 1027, in fetch2\n raise e\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 1017, in fetch2\n return await self.fetch(request['url'], request['method'], request['headers'], request['body'])\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 277, in fetch\n raise RequestTimeout(details) from e\nccxt.base.errors.RequestTimeout: okx GET https://www.okx.com/api/v5/public/instruments?instType=FUTURES\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/common.py\", line 179, in wrapper\n return f(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/exchange.py\", line 693, in _load_async_markets\n markets = self.loop.run_until_complete(self._api_reload_markets(reload=reload))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.local/share/uv/python/cpython-3.11.15-linux-x86_64-gnu/lib/python3.11/asyncio/base_events.py\", line 654, in run_until_complete\n return future.result()\n ^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/exchange.py\", line 684, in _api_reload_markets\n raise TemporaryError(\nfreqtrade.exceptions.TemporaryError: Error in reload_markets due to RequestTimeout. Message: okx GET https://www.okx.com/api/v5/public/instruments?instType=FUTURES\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 788, in _request\n resp = await handler(req)\n ^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 742, in _connect_and_send_request\n conn = await self._connector.connect(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 672, in connect\n proto = await self._create_connection(req, traces, timeout)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 1251, in _create_connection\n _, proto = await self._create_direct_connection(req, traces, timeout)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 1592, in _create_direct_connection\n transp, proto = await self._wrap_create_connection(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/connector.py\", line 1310, in _wrap_create_connection\n sock = await aiohappyeyeballs.start_connection(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohappyeyeballs/impl.py\", line 87, in start_connection\n sock, _, _ = await _staggered.staggered_race(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohappyeyeballs/_staggered.py\", line 165, in staggered_race\n done = await _wait_one(\n ^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohappyeyeballs/_staggered.py\", line 46, in _wait_one\n return await wait_next\n ^^^^^^^^^^^^^^^\nasyncio.exceptions.CancelledError\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 241, in fetch\n async with session_method(yarl.URL(url, encoded=True),\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 1521, in __aenter__\n self._resp: _RetType = await self._coro\n ^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/client.py\", line 632, in _request\n with timer:\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/aiohttp/helpers.py\", line 713, in __exit__\n raise asyncio.TimeoutError from exc_val\nTimeoutError\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/exchange.py\", line 680, in _api_reload_markets\n await self._api_async.load_markets(reload=reload, params={})\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 365, in load_markets\n raise e\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 357, in load_markets\n result = await self.markets_loading\n ^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 324, in load_markets_helper\n markets = await self.fetch_markets(params)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/okx.py\", line 1711, in fetch_markets\n promises = await asyncio.gather(*promises)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/okx.py\", line 1896, in fetch_markets_by_type\n response = await self.publicGetPublicInstruments(self.extend(request, params))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 1033, in request\n return await self.fetch2(path, api, method, params, headers, body, config)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 1027, in fetch2\n raise e\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 1017, in fetch2\n return await self.fetch(request['url'], request['method'], request['headers'], request['body'])\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/ccxt/async_support/base/exchange.py\", line 277, in fetch\n raise RequestTimeout(details) from e\nccxt.base.errors.RequestTimeout: okx GET https://www.okx.com/api/v5/public/instruments?instType=SWAP\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/exchange.py\", line 720, in reload_markets\n retrier(self._load_async_markets, retries=retries)(reload=True)\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/common.py\", line 191, in wrapper\n return wrapper(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/common.py\", line 191, in wrapper\n return wrapper(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/common.py\", line 191, in wrapper\n return wrapper(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/common.py\", line 194, in wrapper\n raise ex\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/common.py\", line 179, in wrapper\n return f(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/exchange.py\", line 693, in _load_async_markets\n markets = self.loop.run_until_complete(self._api_reload_markets(reload=reload))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/lxy/.local/share/uv/python/cpython-3.11.15-linux-x86_64-gnu/lib/python3.11/asyncio/base_events.py\", line 654, in run_until_complete\n return future.result()\n ^^^^^^^^^^^^^^^\n File \"/home/lxy/.cache/uv/archive-v0/mUfiqGCKo_jp8tUPEZw-d/lib/python3.11/site-packages/freqtrade/exchange/exchange.py\", line 684, in _api_reload_markets\n raise TemporaryError(\nfreqtrade.exceptions.TemporaryError: Error in reload_markets due to RequestTimeout. Message: okx GET https://www.okx.com/api/v5/public/instruments?instType=SWAP\n2026-04-30 02:43:17,102 - freqtrade - ERROR - Could not load markets, therefore cannot start. Please investigate the above error for more details.\n",
- "stdout": ""
- },
- "exports": [
- {
- "command": [
- "rtk",
- "uv",
- "run",
- "python",
- "scripts/export_freqtrade_data.py",
- "--symbol",
- "ETH-USDT-SWAP",
- "--bar",
- "5m",
- "--output-dir",
- "/tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data/data/okx/futures"
- ],
- "finished_at": "2026-04-29T18:39:21.266745+00:00",
- "returncode": 0,
- "started_at": "2026-04-29T18:39:18.326903+00:00",
- "stderr": "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.11`.\n",
- "stdout": "/tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data/data/okx/futures/ETH_USDT_USDT-5m-futures.json\n"
- },
- {
- "command": [
- "rtk",
- "uv",
- "run",
- "python",
- "scripts/export_freqtrade_data.py",
- "--symbol",
- "BTC-USDT-SWAP",
- "--bar",
- "5m",
- "--output-dir",
- "/tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data/data/okx/futures"
- ],
- "finished_at": "2026-04-29T18:39:23.859357+00:00",
- "returncode": 0,
- "started_at": "2026-04-29T18:39:21.266771+00:00",
- "stderr": "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.11`.\n",
- "stdout": "/tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data/data/okx/futures/BTC_USDT_USDT-5m-futures.json\n"
- },
- {
- "command": [
- "rtk",
- "uv",
- "run",
- "python",
- "scripts/export_freqtrade_data.py",
- "--symbol",
- "ETH-USDT-SWAP",
- "--bar",
- "15m",
- "--output-dir",
- "/tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data/data/okx/futures"
- ],
- "finished_at": "2026-04-29T18:39:25.002678+00:00",
- "returncode": 0,
- "started_at": "2026-04-29T18:39:23.859379+00:00",
- "stderr": "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.11`.\n",
- "stdout": "/tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data/data/okx/futures/ETH_USDT_USDT-15m-futures.json\n"
- },
- {
- "command": [
- "rtk",
- "uv",
- "run",
- "python",
- "scripts/export_freqtrade_data.py",
- "--symbol",
- "BTC-USDT-SWAP",
- "--bar",
- "15m",
- "--output-dir",
- "/tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data/data/okx/futures"
- ],
- "finished_at": "2026-04-29T18:39:26.261504+00:00",
- "returncode": 0,
- "started_at": "2026-04-29T18:39:25.002698+00:00",
- "stderr": "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.11`.\n",
- "stdout": "/tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data/data/okx/futures/BTC_USDT_USDT-15m-futures.json\n"
- }
- ],
- "generated_at": "2026-04-29T18:43:17.417426+00:00",
- "json_report": "reports/eth-exploration/freqtrade-eth-skeleton-backtest-20260429T183918Z.json",
- "markdown_report": "reports/eth-exploration/freqtrade-eth-skeleton-backtest-20260429T183918Z.md",
- "mode": "freqtrade_eth_skeleton_backtest_attempt",
- "next_steps": [
- "Use the full stderr/stdout captured in the JSON report to identify the first Freqtrade failure and rerun after that specific issue is fixed."
- ],
- "real_trading": false,
- "repo_config_changed": false,
- "strategy": "freqtrade/user_data/strategies/EthFocusedInformativeDry.py",
- "tmp_config": {
- "dry_run": true,
- "pair_whitelist": [
- "ETH/USDT:USDT"
- ],
- "path": "/tmp/okx-codex-trader-freqtrade-eth-skeleton/config-eth-skeleton-okx-futures.json",
- "proxy_injected": true,
- "proxy_source": "environment",
- "timeframe": "5m"
- },
- "tmp_userdir": {
- "data_dir": "/tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data/data/okx/futures",
- "strategy": "/tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data/strategies/EthFocusedInformativeDry.py",
- "userdir": "/tmp/okx-codex-trader-freqtrade-eth-skeleton/user_data"
- }
- }
|