You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用tvDatafeed时偶发远程连接丢失及无数据报错求助

tvDatafeed 偶发连接丢失/无数据报错的处理方案

使用tvDatafeed时,脚本合法且多数场景运行正常,但偶尔会出现以下报错,重新运行脚本即可恢复:

ERROR:tvDatafeed.main:与远程主机的连接已丢失。
ERROR:tvDatafeed.main:无数据,请检查交易所和交易对

原因分析

这类偶发问题并非脚本逻辑或参数错误,主要由以下因素导致:

  • 本地网络临时波动,导致与TradingView服务器的连接中断
  • TradingView服务器临时限流或响应延迟,返回无数据结果

解决方案

  1. 添加自动重试机制
    在脚本中捕获连接异常,自动重试请求,无需手动重启。示例Python代码:
from tvDatafeed import TvDatafeed
import time

def fetch_tv_data(symbol, exchange, max_retries=3):
    tv_client = TvDatafeed()
    for retry in range(max_retries):
        try:
            data = tv_client.get_hist(symbol=symbol, exchange=exchange, n_bars=200)
            if data is not None and not data.empty:
                return data
        except Exception as err:
            print(f"重试 {retry+1}/{max_retries} 失败: {err}")
            time.sleep(2)  # 重试前短暂等待,避免触发限流
    print("多次重试失败,请稍后手动执行脚本")
    return None

# 调用示例
market_data = fetch_tv_data("ETHUSDT", "BINANCE")
  1. 优化网络环境
    切换到稳定性更高的网络,或调整tvDatafeed的请求超时参数(若库支持),降低连接中断概率。

  2. 避开高峰请求时段
    避免在TradingView服务器负载高峰(如全球交易时段峰值)发起大量连续请求,减少触发临时限流的可能。

内容的提问来源于stack exchange,提问作者Sunil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 14:42:44