关于 tradingview-reader
tradingview-reader 是通过 opencli 读取 TradingView macOS 桌面应用数据的只读分析技能,可查看行情、期权链、图表状态及账户相关信息。它适用于需要期权希腊值和按行权价查看隐含波动率等数据的场景,不支持交易或修改设置。
主要功能
- 01读取行情报价和期权链
- 02查看期权希腊值与隐含波动率
- 03筛选股票、加密货币等市场
- 04查询新闻、观察列表和提醒
- 05检查图表状态并截取图表
适用场景
- 01分析期权链、希腊值和波动率偏斜
- 02按指标筛选股票或加密货币
- 03查看账户中的观察列表与提醒
- 04检查当前图表并保存截图
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ himself65/ finance-skills --skill tradingview-reader安装后在 Claude Code 中输入/tradingview-reader确认已加载。
附带文件README.mdreferences/commands.md
详细介绍
TradingView 阅读器(只读)
如果宿主尚未执行以下 shell 探测(例如在 Codex 中),请先使用其 shell 工具运行 ! 包裹的命令,再选择设置路径。请使用实际输出;如果无法访问 shell,请说明这一限制。
通过 opencli 和连接到正在运行的 TradingView.app 进程的 CDP,读取 TradingView macOS 桌面应用中的报价、期权链和图表状态。由本仓库 opencli-plugins/tradingview 目录中的 tradingview 插件提供支持(这是独立于 opencli 内置适配器的插件,通过 opencli 的 monorepo 子路径语法安装)。
此技能为只读。 专为分析而设计:获取期权链、检查 IV/Greeks、捕获图表状态。它不会下单、发布观点、修改关注列表或更改图表布局。
无头替代方案:对于普通报价、TA 读数、筛选器、期货或不含 Greeks 的期权链,优先使用同级的
tradingview-mcp技能(捆绑的 MCP 服务,无需桌面应用,也无需通过 CDP 重新启动)。需要 Greeks/各行权价的 IV 偏斜、带合约数量的到期日,或账户绑定数据(关注列表、提醒、图表、TV 新闻)时,请使用此技能。
重要:与基于浏览器的 opencli 阅读器(twitter、linkedin)不同,此阅读器通过 Chrome DevTools Protocol 直接与正在运行的 TradingView 桌面应用通信。用户必须 (a) 安装了 TradingView.app,并且 (b) 已在该应用中登录。插件会负责通过调试端口重新启动应用。
工作原理:数据命令通过 CDP 读取应用的会话 Cookie,并直接从 Node 调用 TradingView 的 HTTP API,因此无需 Browser Bridge 扩展或 apps.yaml 注册。
第 1 步:确保 opencli 和插件已安装并就绪
当前环境状态:
!`(command -v opencli && opencli tradingview status 2>&1 | head -5 && echo "READY" || echo "SETUP_NEEDED") 2>/dev/null || echo "NOT_INSTALLED"`
如果上述状态显示 READY,请跳至第 2 步。否则:
NOT_INSTALLED — 安装 opencli
npm install -g @jackwener/opencli
需要 Node.js >= 24 — 下一步安装的 tradingview 插件声明了 engines.node >= 24。
SETUP_NEEDED — 安装 TradingView 插件并通过 CDP 启动
TradingView 适配器并未内置于 opencli 中,而是一个独立插件:
# Install the plugin
opencli plugin install github:himself65/finance-skills/tradingview
# Relaunch TradingView.app with CDP enabled (one-time per session)
opencli tradingview launch
launch 步骤会退出正在运行的 TradingView,然后使用 --remote-debugging-port=9222 重新打开。如果用户有未保存的绘图,请提醒他们先保存图表布局。
常见设置问题
| 症状 | 解决方法 |
|---|---|
opencli: command not found | npm install -g @jackwener/opencli(Node ≥ 24) |
Unknown command: tradingview | opencli plugin install github:himself65/finance-skills/tradingview |
Cannot reach CDP at http://127.0.0.1:9222 | 应用未通过调试端口启动 — 运行 opencli tradingview launch |
No tradingview.com cookies found | 应用已打开但未登录 — 在桌面应用中登录 |
No TradingView tab found | 在 TradingView 中打开任意图表或标的页面,然后重试 |
| 期权链为空/合约数量为 0 | 已登录账户的订阅等级不包含此标的的期权 |
第 2 步:确定用户的需求
设置/图表检查
| 用户请求 | 命令 | 关键标志 |
|---|---|---|
| 设置/连接检查 | opencli tradingview status | — |
| 通过 CDP 重新启动应用 | opencli tradingview launch | --port 9222 |
| 查看图表内容 | opencli tradingview chart-state | --tab <id> |
| 截取图表 | opencli tradingview screenshot --output ~/charts/nvda.png | --tab <id> |
报价与期权
| 用户请求 | 命令 | 关键标志 |
|---|---|---|
| 即时报价 | opencli tradingview quote --ticker X | --exchange NASDAQ |
| 期权链(完整) | opencli tradingview options-chain --ticker X | --exchange |
| 期权链(单个到期日、平值范围) | opencli tradingview options-chain --ticker X --expiry YYYY-MM-DD | --type call|put、--strikes-around-spot N |
| 列出到期日 | opencli tradingview options-expiries --ticker X | — |
筛选器
| 用户请求 | 命令 | 关键标志 |
|---|---|---|
| 通用筛选器(股票/加密货币/外汇/期货/债券) | opencli tradingview screener --market america --columns ... | --filter <json>、--sort field:desc、--limit N、--label-product |
| RSI < 30、按成交量排序的美国股票 | opencli tradingview screener --market america --columns "name,close,RSI|60,volume" --filter '[{"left":"RSI|60","operation":"less","right":30}]' --sort volume:desc | — |
| 按市值排列的顶级加密货币 | opencli tradingview screener --market coin --columns "name,close,change,market_cap_calc" --sort market_cap_calc:desc --limit 50 | — |
| 搜索/自动补全交易代码 | opencli tradingview search --query "nvidia" | --type stock|funds|crypto|...、--exchange、--country |
新闻
| 用户请求 | 命令 | 关键标志 |
|---|---|---|
| 全球新闻头条 | opencli tradingview news --limit 25 | --category、--area、--section、--provider |
| 特定交易代码的新闻 | opencli tradingview news --symbol NASDAQ:AAPL | --limit、--section analysis|press_release|... |
| 按 ID 获取完整报道 | opencli tradingview news --id <story-id> | --lang en |
关注列表与提醒
| 用户请求 | 命令 | 关键标志 |
|---|---|---|
| 列出所有关注列表 | opencli tradingview watchlists | — |
| 某个关注列表中的交易代码 | opencli tradingview watchlists --id <wl-id> | — |
| 彩色旗标列表(红/橙/黄/绿/蓝/紫) | opencli tradingview watchlists --color red | — |
| 列出所有提醒 | opencli tradingview alerts --type list | — |
| 活跃提醒 | opencli tradingview alerts --type active | — |
| 最近触发的提醒 | opencli tradingview alerts --type triggered | — |
| 离线期间触发的提醒 | opencli tradingview alerts --type offline | — |
| 完整提醒日志 | opencli tradingview alerts --type log | — |
第 3 步:执行命令
通用模式
# Use -f json or -f yaml for structured output
opencli tradingview options-chain --ticker SNDK --expiry 2026-05-22 -f json
opencli tradingview options-chain --ticker NVDA --strikes-around-spot 8 -f csv
opencli tradingview quote --ticker SPY --exchange NYSEARCA -f json
关键规则
- 如果无法确定连接状态,请先运行
opencli tradingview status——该命令会报告 CDP 连接状态和当前打开的 TradingView 标签页。 - 使用
-f json进行程序化处理(LLM 上下文、下游技能)。 - 按到期日和
--strikes-around-spot筛选——完整期权链可能有 3,000 多行;未经筛选的输出通常不是用户想要的。 - 美国股票默认使用
--exchange NASDAQ;ETF(例如 SPY = NYSEARCA、QQQ = NASDAQ)或非美国上市证券必须明确指定--exchange。 - 对于
screener,请谨慎选择--columns——它同时控制请求内容和输出表格。请包含name以及--filter或--sort中使用的任何字段。为指标添加|TF以指定其时间周期,例如用RSI|60表示 1 小时 RSI。默认列适用于股票,但加密货币/外汇/期货应更换为其他列(字段目录不同)。 - 对于
screener,--filter使用 JSON——由{left, operation, right}子句组成的数组。在 shell 中始终用单引号括住 JSON,以避免转义问题。操作符速查表见references/commands.md。 - 对于
news,请尽早缩小资讯源范围——全局资讯流内容量极大。提高--limit之前,请先使用--symbol、--category、--section或--provider。 - 对于
search,优先搜索,不要猜测——当用户给出的股票代码含义不明确时(例如只提供“SPY”,未指定交易所),请先运行search --query SPY确认上市信息,然后在后续命令中传入--exchange。 - 对于
watchlists和alerts,默认显示摘要——用户问“我的观察列表里有什么?”时,想要的是列表名称和数量,而不是每个股票代码。 - 只读。 不进行交易、不编辑观察列表、不创建/删除提醒、不写入图表——该插件有意不提供写入端点(
/append、/replace、/create_alert等),因此不要寻找变通方法。
输出格式标志(-f)
| 格式 | 标志 | 适用场景 |
|---|---|---|
| 表格 | -f table(默认) | 便于人类阅读的终端输出 |
| JSON | -f json | 程序化处理、LLM 上下文 |
| YAML | -f yaml | 结构化输出,易于阅读 |
| Markdown | -f md | 文档、报告 |
| CSV | -f csv | 电子表格导出 |
输出列
quote—symbol、close、change、change_abs、currency、timeoptions-chain—expiry、dte、strike、type、bid、ask、mid、iv、delta、gamma、theta、vega、rho、theo、bid_iv、ask_iv、symboloptions-expiries—expiry、dte、contracts_countscreener— 动态;每个--columns条目对应一列,另加symbol。(默认:name、close、change、volume、market_cap_basic、sector.tr。)search—symbol、description、type、exchange、country、currencynews(列表模式)—id、published、provider、title、urgency、related_symbols、linknews(故事模式,已设置--id)—id、published、provider、title、body、tags、linkwatchlists—id、name、symbol_count、symbolsalerts—id、name、symbol、type、condition、value、active、status、fired_atchart-state—layout_id、symbol、interval、urlscreenshot—path、bytes
第 4 步:呈现结果
- 先概述结构——对于期权链,先说明现货价格、当前显示的到期日、平值行权价和隐含波动率(IV)状况,再给出表格。对于筛选器,先说明匹配数量和应用的筛选条件。
- 展示前积极筛选——绝不要直接贴出包含 3,000 行的期权链或包含 500 行的筛选结果。期权链默认每个到期日只显示平值行权价 ± 6 个行权价;筛选器默认最多显示前 20 条,除非用户要求更多。
- 突出偏斜——同时显示看涨期权和看跌期权时,如果隐含波动率偏斜明显,请注明其方向。
- 对于图表状态,简洁报告布局 ID、交易品种、时间间隔和 URL;并可提供截图。
- 对于新闻(列表模式),按提供方分组,并优先显示用户可能所在时区的时间戳(如不确定,则始终使用 UTC ISO 时间)。附上链接,方便用户打开报道。对于报道模式(已设置
--id),正文为纯文本——按原文呈现,可酌情删减。 - 对于自选列表,先概述数量,再列出交易品种(例如:“3 个自选列表:财报(24 个)、AI 主题(12 个)、对冲(8 个)”)。除非用户要求,否则不要倾倒包含 100 个交易品种的自选列表内容。
- 对于警报,按状态分组(活跃与已触发),并按
fired_at降序排列最近触发的警报。除非用户明确要求,否则不要暴露警报 ID。 - 对于筛选结果,先用纯文本指出涨跌幅最大项或极端值(例如:“市值最高的是 NVDA,达 4.2T;有 12 个标的的 RSI 低于 30”),再给出表格。
- 将会话视为私密信息——除非用户提出要求,否则绝不要暴露 CDP 目标 ID、Cookie 或布局 ID。
第 5 步:诊断
opencli tradingview status
返回 CDP 连接状态和活跃的 TradingView 标签页。如果 CDP 未运行,请运行 opencli tradingview launch,使用调试端口重新启动。
错误参考
| 错误 | 原因 | 修复方法 |
|---|---|---|
Unknown command: tradingview | 未安装插件 | opencli plugin install github:himself65/finance-skills/tradingview |
Cannot reach CDP at http://127.0.0.1:9222 | 启动应用时未启用调试端口 | opencli tradingview launch |
No tradingview.com cookies found | 已退出 TradingView | 在桌面应用中登录 |
No TradingView tab found | 应用已打开,但未加载 TradingView 页面 | 打开任意图表或交易品种页面,然后重试 |
scanner 400 / Empty chain / totalCount=0 | 订阅等级不支持此交易品种的期权 | 在桌面应用中检查账户等级 |
Symbol not found | 交易所错误 | 明确传入 --exchange,或先运行 opencli tradingview search --query <name> |
| 请求频率受限 | 请求过多 | 等待几秒后重试 |
参考文件
references/commands.md— 所有命令及其全部标志、输出示例和分析师工作流