现在我有充足的素材,输出完整的中文学习笔记。


用 CDP 把 Claude 接入 TradingView:一个值得认真对待的工程实验

核心观点

这个项目的本质不是"交易机器人",而是一个接口层实验:用 MCP(Model Context Protocol)把 TradingView 这个专业金融桌面客户端的内部状态,翻译成 Claude 能理解和操作的结构化工具集。它的价值不在于帮你挣钱,而在于解决一个真实的工程摩擦——Pine Script 开发体验极差,AI 辅助无处落地

这件事处于一个微妙的节点:MCP 本身于 2024 年底由 Anthropic 提出,目前还处于快速扩张期,各类 MCP Server 遍地开花;把 LLM 接入金融工具的尝试也开始从"概念演示"走向"实用工具"。但要说范式突破,还为时过早——这更像是 MCP 浪潮在垂直场景的一次认真落地,而非凭空出现的颠覆性技术。


关键机制:CDP 是这件事能成立的唯一原因

最核心、也最值得拆解的一点是:作者没有逆向 TradingView 的 API,也没有爬取服务器数据,而是走了 Chrome DevTools Protocol(CDP)这条路

TradingView Desktop 是一个 Electron 应用(底层是 Chromium)。所有 Chromium 内核的程序天生支持 CDP——这是 Google 为调试工具内置的标准协议,VS Code、Slack、Discord 都是同类。只需要在启动时加一个标准 flag:

/path/to/TradingView --remote-debugging-port=9222

就能在本机 9222 端口建立 WebSocket 连接,从而读取 DOM 状态、执行 JavaScript、模拟输入、截图——而这一切完全发生在本地,不经过 TradingView 服务器。

这个机制的巧妙之处在于:它不需要任何 TradingView 的配合或授权,因为调试接口是操作系统层面的能力,不是 TradingView 特有的漏洞。这也是作者能理直气壮地说"这是合理使用"的技术依据。


它能做什么:78 个工具的分类理解

项目提供了 78 个 MCP 工具,本质上可以分为三层:

读取层(让 AI 有眼睛):

  • chart_get_state:读取当前 symbol、timeframe、所有 indicator 名称和 ID
  • data_get_study_values:读取 RSI、MACD、BB、EMA 等指标数值
  • data_get_pine_lines/labels/tables/boxes:读取自定义指标绘制的支撑/压力线、文字标注、数据表格
  • quote_get / data_get_ohlcv:当前价格和 K 线数据

控制层(让 AI 有手):

  • chart_set_symbol / chart_set_timeframe:切换品种和周期
  • pine_set_sourcepine_smart_compilepine_get_errors:Pine Script 开发的完整工作流
  • draw_shape:画趋势线、水平线、矩形、文字注释
  • alert_create / alert_delete:管理价格提醒
  • replay_start / replay_step / replay_trade:历史回放练习

监控层(让 AI 持续感知):

  • tv stream quote/bars/values/lines/tables:JSONL 格式的本地流式输出,可以配合 jq 管道处理

完整的 CLI 接口意味着它不只是给 Claude 用的,任何能调 shell 的程序都能集成。


代码示例:Pine Script 的 AI 辅助开发流

最典型的工作流是 Pine Script 开发,这也是作者认为最有价值的场景:

# 1. 让 Claude 写一个 VWAP 偏差检测脚本
# Claude 调用:pine_set_source 注入代码到编辑器

# 2. 编译并检查错误
# Claude 调用:pine_smart_compile
# Claude 调用:pine_get_errors

# 3. 读取运行时输出
# Claude 调用:pine_get_console

# 4. 保存到 TradingView 云端
# Claude 调用:pine_save

以前的工作流是:在 TradingView 编辑器里写代码 → 报错 → 手动搜索文档 → 复制错误信息到 ChatGPT → 粘贴修改回去 → 重复。现在这个循环完全在 Claude 内部闭合。

CLI 管道示例:

# 实时监控价格变化
tv stream quote | jq '.close'

# 过滤特定指标的数据表格
tv stream tables --filter Profiler

# 捕捉当前图表状态用于分析
tv screenshot -r chart

交叉验证

信源一:amazingindex.com(2026-07-22)

该站点对此项目打出 60/100 的推荐指数,认为它确实填补了"AI 助手与专业金融终端协议桥接"的空白,并特别认同它对 Pine Script 开发体验的改善。但该评测明确提示:"仅用于个人分析,不要构建核心交易系统",并指出 CDP 方案依赖 TradingView 桌面端内部实现细节,官方更新随时可能破坏集成。这和原文的免责声明高度吻合,并非单纯捧场。

信源二:wenyiblog.top — 《CDP 协议自动化实战:用 Chrome DevTools Protocol 控制 Electron 应用》(2026-06-20)

这是一篇独立的 CDP 技术文章,没有提到 TradingView MCP,但对 CDP 控制 Electron 应用的局限性讲得比原文诚实得多:

  • 多窗口处理复杂:需要手动选择正确的 WebSocket target,新弹窗需要重新连接
  • WebSocket 连接不稳定:需要实现指数退避重连机制
  • Shadow DOM 无法穿透:部分组件状态读不到
  • 开启调试端口本身是安全风险:在内网或公用机器上,9222 端口对本机其他进程完全暴露

原文对这些问题的描述相当简略。结合该技术文章的信息,可以确认:原文关于 CDP 机制的描述是准确的,但对其不稳定性的描述是有所淡化的

两个信源共同指向的一个核心结论:这个工具的"致命弱点"不是功能缺失,而是维护成本——每次 TradingView 更新 Electron 内部结构,都可能导致部分工具失效,而用户只能等待开源社区修复。


边界:哪些情况它会让你失望

原文整体偏向展示功能,有些边界需要单独强调:

  1. TradingView 更新即可能断裂。作者建议"固定 TradingView 版本",但实际上大多数用户不会这么做,而且固定版本意味着放弃安全更新。

  2. 流数据的 TOS 风险被低估。原文用一个 Warning 带过了"Programmatic consumption of TradingView data may conflict with their Terms of Use",但这其实是个严肃的法律问题。TradingView 的服务条款明确禁止通过程序化方式提取和再利用数据,即使数据"在本地",自动化流式读取本质上和数据抓取无异。

  3. Pine Script 的 AI 辅助存在上下文限制。Pine Script v5 本身是门小语言,但 Claude 对其边界案例(如复杂策略回测逻辑、多周期数据引用)的掌握质量因版本而异,AI 写出的代码不应不经验证直接使用。

  4. 不适合实时交易信号。工具本身明确说"不执行真实交易",但如果用它构建"AI 读图 → 生成信号 → 手动下单"的半自动流程,延迟和可靠性问题仍然存在。

  5. Windows 用户体验存疑。文档中 Linux/Mac 的脚本明显更完善,Windows 路径处理和 CDP 连接稳定性的问题在 Issues 区是可以预期的。


个人启发:这对你意味着什么

对 Pine Script 开发者:这是目前最直接的生产力提升路径。如果你已经在用 Claude Code,现在有一条成本几乎为零的路径让它帮你写、调、编译 Pine Script。不需要等 TradingView 官方做 AI 集成。立即可以做的动作:克隆项目,花 20 分钟完成配置,用一个你最近卡住的 Pine Script 问题来验证效果。

对量化研究者:项目的 RESEARCH.md 文件描述了一个有价值的开放问题——LLM agent 如何在有状态的实时金融界面上操作,其失败模式是什么?这比"AI 炒股"的噱头更有价值。如果你在做 Human-AI Collaboration 相关研究,这是一个现成的实验平台。

对决策者(团队负责人):不要把它引入任何涉及资金的关键路径。把它定位为"AI 开发工具加速器"而非"交易系统组件",边界非常清晰。

对普通用户:如果你只是偶尔用 TradingView 看图,配置成本(Node.js、Claude Code 订阅、手动启动调试模式)可能不值得。它的价值密度正比于你使用 Pine Script 的频率。


延伸思考

  1. MCP 的价值密度取决于"状态暴露程度":TradingView 这个案例之所以有价值,是因为 Pine Script 的运行时输出、K 线数据、指标值都是结构化的、可读的状态。如果一个应用的内部状态完全是视觉像素(如大多数游戏),CDP + LLM 的效果会大打折扣——这意味着 MCP 的下一个真正有意思的战场,是那些"内部状态结构化但接口封闭"的桌面软件(Bloomberg Terminal?Figma?)。

  2. "本地优先"的 AI 工具形态是否可持续? 这个工具最核心的卖点之一是"数据不出本地",这在当前隐私敏感的金融场景下非常有吸引力。但维持这个特性的代价是——它必须依赖一个本地运行的桌面客户端,而 TradingView 本身有明显的 Web 化趋势。一旦 TradingView 完全迁移到 Web 或引入 Electron 签名校验,整个方案的技术前提就会消失。

  3. AI + 专业工具的"接口层"会形成独立市场吗? 这个项目是一个作者的个人实验,但它揭示了一个更大的模式:每一个"有订阅费但没有开放 API"的专业工具(TradingView、Notion、Linear……),都存在一个"让 AI 看懂它"的工程机会。未来是否会出现专门做这类 CDP/自动化桥接的 MCP 中间件公司,还是 Anthropic 会在 Claude 层面统一解决这个问题?这个方向值得持续关注。


📚 参考来源

  1. GitHub - tradesdontlie/tradingview-mcp: AI-assisted TradingView chart analysis — connect Claude Code to your TradingView Desktop for personal workflow automation · GitHub
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐