CCXT fetch_ohlcv无法获取Bitget最新ETH/USDT数据,存在数小时延迟
ETH/USDT K线数据延迟问题排查与解决
以下是可能导致延迟的原因及对应的解决方法:
固定
since参数未动态更新
你传入的startDate如果是预先设定的固定时间戳(而非动态计算的当前时间偏移值),会导致仅获取该时间点之前的历史数据,无法拿到最新的K线。
解决:要么移除since参数(默认返回最新的limit条数据),要么基于当前时间动态计算since:import time timeframe_ms = 60 * 1000 # 1分钟K线对应的毫秒数 since = int(time.time() * 1000) - (1000 * timeframe_ms) # 取最近1000根的起始时间 bars = bitget.fetch_ohlcv('ETH/USDT', timeframe='1m', since=since, limit=1000)误连接测试网
若初始化Bitget实例时启用了测试网模式,测试网的数据通常不会实时同步主网,会出现大幅延迟。
解决:确保初始化时使用主网配置,不要开启测试网选项:bitget = ccxt.bitget({ 'apiKey': '你的API密钥', 'secret': '你的API密钥Secret', 'enableRateLimit': True, 'options': {'defaultType': 'spot'} # 明确指定主网现货类型,不要设置test=True })CCXT版本过旧
旧版CCXT可能存在Bitget API适配问题,导致数据拉取逻辑异常。
解决:升级到最新版CCXT:pip install -U ccxt时区或时间戳格式错误
交易所API普遍使用UTC时间戳,若你的startDate是本地时间转换的非UTC戳,会导致时间偏移,表现为数据延迟。
解决:统一使用UTC时间戳,用int(time.time()*1000)获取当前UTC毫秒级时间戳。
内容的提问来源于stack exchange,提问作者Phablo
相关产品推荐
相关产品推荐

