| 123456789101112131415161718192021222324252627282930 |
- from __future__ import annotations
- import argparse
- import sys
- from pathlib import Path
- sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
- from okx_codex_trader.okx_client import OkxClient
- from scripts.explore_ultrashort import CANDLE_CACHE_DIR, get_candles_cached
- def main() -> int:
- parser = argparse.ArgumentParser(description="Update local OKX candle cache using recent candles.")
- parser.add_argument("--cache-dir", type=Path, default=CANDLE_CACHE_DIR)
- parser.add_argument("--bar", default="15m")
- parser.add_argument("--limit", type=int, default=300_000)
- parser.add_argument("--symbols", nargs="+", default=["ETH-USDT-SWAP", "BTC-USDT-SWAP"])
- args = parser.parse_args()
- client = OkxClient()
- for symbol in args.symbols:
- candles = get_candles_cached(client, symbol, args.bar, args.limit, args.cache_dir)
- first = candles[0].ts if candles else None
- last = candles[-1].ts if candles else None
- print(f"{symbol} {args.bar} rows={len(candles)} first_ts={first} last_ts={last}")
- return 0
- if __name__ == "__main__":
- raise SystemExit(main())
|