TradingView MCP 中文教程:先验证数据,再看买卖信号
jaipreet15/tradingview-mcp 把市场筛选、技术指标、新闻、Reddit 情绪和回测做成 36 个 MCP 工具,通过 stdio 交给客户端。package.json 与 CLI 都标为 1.0.0,但仓库没有 Git tag,因此部署时应固定 commit。
1. 先看清数据从哪里来
| 功能 | 主要来源 | 应检查什么 |
|---|---|---|
| 市场筛选与指标 | TradingView scanner/chart 公开端点 | 市场映射、限流、时间戳、字段缺失 |
| 报价与历史 K 线 | Yahoo Finance | 复权、时区、停牌和缺口 |
| 情绪 | Reddit JSON | 样本偏差、帖子时效、噪声 |
| 新闻 | 金融 RSS | 来源、重复、发布时间 |
| 回测 | 历史数据与本地策略 | 成本、滑点、样本外和过拟合 |
公开端点不要求账号或 API key,但仍有上游条款、数据授权和限流。企业用途要单独核对,不要把“能请求”理解成“能任意再分发”。
2. 架构与权限
src/index.ts 读取环境配置并启动 StdioServerTransport。server.ts 注册工具、用 Zod 校验参数,再调用 screener、scanner、Yahoo、sentiment、news、backtest 等 service。默认缓存留在进程内,可选 Redis。stdio 模式不需要对外开放 HTTP 端口。
MCP 客户端会让模型调用这些网络工具。应为服务进程配置最小网络权限,不要把券商凭据、钱包密钥或个人账户 cookie 放进环境变量。开启 DEBUG 前也要确认日志不会泄露查询和 Redis URL。
3. 固定源码后构建
git clone https://github.com/jaipreet15/tradingview-mcp.git
cd tradingview-mcp
git rev-parse HEAD
node --version
npm install
npm run validate
npm run build
要求 Node.js 18 以上。官方 README 的 clone 示例仍写着 your-org 占位符,上面使用的是实际官方仓库地址。运行前检查 package-lock、依赖脚本和许可证;生产环境不要直接跟随浮动 main。
4. 最小 stdio 配置
{
"mcpServers": {
"tradingview-research": {
"command": "node",
"args": ["/absolute/path/tradingview-mcp/dist/index.js"],
"env": {
"REDIS_ENABLED": "false",
"PROXY_ENABLED": "false",
"LOG_LEVEL": "info"
}
}
}
}
第一次只调用一个报价或筛选工具,记录请求时间、上游来源、symbol、timeframe、返回时间戳、缓存命中和错误码。把结果与另一数据源手工对照,不要先运行组合分析或把结论写进交易系统。
5. Redis 与代理不是必选项
REDIS_ENABLED=false 是默认值,单进程评估用内存缓存即可。多进程需要共享缓存时再启用 Redis,并把 URL、用户名与密码放进受管秘密存储。
代理配置目前有源码缺口:src/utils/http.ts 会生成 proxyUrl 并打印“Using proxy”,但随后调用的原生 fetch 没有使用该 URL 或 dispatcher。日志出现代理字样不能证明流量走了代理。需要这项能力时先修复并用受控回显端点测试出口。
6. 回测应怎样验收
仓库包含 9 类策略、Sharpe、Calmar 和 walk-forward 检查,这些指标只能描述输入数据和模拟规则。验收时锁定 symbol、时间范围、数据快照、手续费、滑点、无风险利率和基准;把参数选择期与评估期分开,并检查退市、停牌和幸存者偏差。
任何策略都应先做纸面交易,观察真实延迟、成交价与信号频率。若输出只有收益率而没有最大回撤、交易次数、换手和失败样本,信息不够支持资金决策。
7. 和 yfinance 怎么比较
相比 yfinance,tradingview-mcp 把多个来源、指标、新闻、情绪和回测直接做成 MCP 工具;yfinance 是 Python 行情库,主要提供 Yahoo Finance 的 Ticker、download、Screener 和 WebSocket 等接口。代理需要现成工具编排时可评估前者,Python 程序只需 Yahoo 数据时 yfinance 更直接。两者都不是上游数据提供方。
8. 版本与验证边界
当前源码 package 和 CLI 都显示 1.0.0,仓库 HEAD 日期为 2026-09-14。没有 Git tag 或 GitHub Release,所以本文不把 1.0.0 写成已验证正式发布。
验证边界:未验证 36 个工具、行情时效、市场覆盖、Redis、回测、代理、限流或任何投资结论。源码发现的代理问题也需要项目方修复或本地测试确认。
这里仅补原教程没有展开的事实和边界。安装命令与操作步骤仍以前文为准。
先判断这个项目是否适合你
近期变化与关注原因
保留原因是它没有充值、返佣或付费升级漏斗,且源码已经形成市场筛选、指标、新闻、情绪和回测的一体化 MCP 工作流;教程以审慎评估为目的。
适合谁用
适合在 MCP 客户端中做公开市场数据查询、候选标的筛选、指标复核、新闻和情绪汇总,以及对研究策略做离线回测。它不适合当实时交易行情源、合规投顾、订单执行器或无人工复核的买卖信号系统。
采用建议
该项目可以保留为市场研究型 MCP 教程,但页面必须压住金融风险和数据许可预期。合适的试用方式是固定 commit、默认 stdio、不开代理和 Redis、只做单工具离线核验;在行情时效、代理实现和上游条款未通过验证前,不应接入自动交易。
原教程未展开的系统信息
核心功能
技术分析与组合结论
提供 RSI、Bollinger、量价、K 线形态和多周期对齐,并可并行合并技术面、Reddit 情绪与新闻。结论仍受数据延迟和模型规则限制。
缓存与错误封装
默认使用进程内缓存,可选 Redis;请求层带超时、重试、并发限制和稳定错误码。Redis 不可用时会退回内存缓存。
常见问题
使用这个 MCP 需要 TradingView 账号或 API key 吗?
官方 README 说不需要,它读取公开 scanner 和 chart 端点。但无账号不代表没有使用条款、限流或数据授权约束,生产用途仍要核对上游规则。
它给出 Strong Buy 就可以直接下单吗?
不可以。信号来自公开数据、技术指标、情绪和固定规则,可能延迟、缺失或失真。项目不连接券商,也不构成投资建议;任何资金决策都要独立核验并设置风险上限。
README 的代理开关现在能保证请求经过代理吗?
不能。当前源码会构造代理 URL 并写日志,但没有把它附加到原生 fetch 请求。需要代理时应先补测试或修复实现,并用受控端点确认出口地址。
必须部署 Redis 才能运行吗?
不需要。REDIS_ENABLED 默认是 false,服务使用进程内缓存;Redis 适合多个进程共享缓存。Redis URL 和密码属于秘密,不能提交到仓库或写入聊天记录。
回测结果为什么不能直接代表策略有效?
历史数据会受缺失、复权、幸存者偏差和时间范围影响,模拟成本也不等于真实成交。应锁定数据版本,做样本外和 walk-forward 检查,再用纸面交易观察。