其他
已安装并登录 TradingView 桌面端时,通过…
需要从本地 TradingView.app 只读获取行情、期权、筛选器、新闻、警报、自选列表、图表状态或截图时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 57/100 ×0.15
适用场景
已安装并登录 TradingView 桌特定
解决思路
- 先运行 `(command -v opencli && opencli tradingview status 2>&1 | head -5 && echo "READY" || echo "SETUP_NEEDED") 2>/dev/null || echo "NOT_INSTALLED"` 检查环境;若输出 `READY`,跳到识别需求。
- 若环境为 `NOT_INSTALLED`,安装 opencli:`npm install -g @jackwener/opencli`;要求 Node.js >= 24,因为后续插件声明 `engines.node >= 24`。
- 若环境为 `SETUP_NEEDED`,安装 TradingView 插件:`opencli plugin install github:himself65/finance-skills/tradingview`。
- 安装插件后,用 `opencli tradingview launch` 以 CDP 启用方式重启 TradingView.app;该命令会退出运行中的 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` 时,在 TradingView 桌面应用内登录。
- 遇到 `No TradingView tab found` 时,在 TradingView 中打开任意图表或 symbol 页面,然后重试。
- 遇到 Empty chain / 0 contracts 时,检查登录账户的订阅层级是否包含此 symbol 期权。
- 设置/连接检查:运行 `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`。
- 获取单个到期日、ATM 区间的期权链:运行 `opencli tradingview options-chain --ticker X --expiry YYYY-MM-DD`,可带 `--type call|put`、`--strikes-around-spot N`。
- 列到期日:运行 `opencli tradingview options-expiries --ticker X`。
- 通用筛选器(stocks/crypto/forex/futures/bonds):运行 `opencli tradingview screener --market america --columns ...`,可带 `--filter <json>`、`--sort field:desc`、`--limit N`、`--label-product`。
- 示例:美股 RSI < 30 且按 volume 排序:运行 `opencli tradingview screener --market america --columns "name,close,RSI\|60,volume" --filter '[{"left":"RSI\|60","operation":"less","right":30}]' --sort volume:desc`。
- 示例:按市值取 top crypto:运行 `opencli tradingview screener --market coin --columns "name,close,change,market_cap_calc" --sort market_cap_calc:desc --limit 50`。
- symbol 搜索/自动补全:运行 `opencli tradingview search --query "nvidia"`,可带 `--type stock|funds|crypto|...`、`--exchange`、`--country`。
- 获取全局新闻标题:运行 `opencli tradingview news --limit 25`,可带 `--category`、`--area`、`--section`、`--provider`。
- 获取特定 ticker 新闻:运行 `opencli tradingview news --symbol NASDAQ:AAPL`,可带 `--limit`、`--section analysis|press_release|...`。
- 按 id 获取完整故事:运行 `opencli tradingview news --id <story-id>`,可带 `--lang en`。
- 列出所有自选列表:运行 `opencli tradingview watchlists`。
- 列出某个自选列表中的 symbols:运行 `opencli tradingview watchlists --id <wl-id>`。
- 读取彩色旗标列表:运行 `opencli tradingview watchlists --color red`(red/orange/yellow/green/blue/purple)。
- 列出所有警报:运行 `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`。
- 使用通用执行模式,例如 `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 tabs。
- 用 `-f json` 做程序化处理(LLM context、下游 skills)。
- 用 `--expiry` 和 `--strikes-around-spot` 过滤;完整期权链可能 3,000+ 行,未过滤 dump 很少是用户想要的。
- 美股默认 `--exchange NASDAQ`;ETF 需要显式 `--exchange`(例如 SPY = NYSEARCA、QQQ = NASDAQ)或非美国上市。
- 对 `screener`,`--columns` 很关键,它同时控制请求和输出表;包含 `name` 和任何用于 `--filter` 或 `--sort` 的字段;为指标时间框架追加 `|TF`,例如 `RSI|60` 表示 1 小时 RSI;默认列适合股票,但 crypto/forex/futures 应替换为不同字段目录。
- 对 `screener`,`--filter` 是 JSON,结构为 `{left, operation, right}` 子句数组;在 shell 中始终用单引号包裹 JSON 以避免转义问题;操作速查见 `references/commands.md`。
- 对 `news`,尽早缩小 feed;全局 feed 是 firehose 级别;提高 `--limit` 前使用 `--symbol`、`--category`、`--section` 或 `--provider`。
- 对 `search`,优先使用而不是猜测;当用户给模糊 ticker(例如没有交易所的 "SPY")时,先运行 `search --query SPY` 确认上市,然后向后续命令传 `--exchange`。
- 对 `watchlists` 和 `alerts`,默认给摘要;用户问 "what's in my watchlists?" 时想要列表名 + 数量,不是每个 symbol。
- 绝不调用任何写操作;本技能只读,不下单、不编辑自选、不创建/删除警报、不写图表;插件有意不暴露写端点(`/append`、`/replace`、`/create_alert` 等)。
- 输出格式 `-f table`(默认)用于人类可读终端输出。
- 输出格式 `-f json` 用于程序化处理、LLM context。
- 输出格式 `-f yaml` 用于结构化、可读输出。
- 输出格式 `-f md` 用于文档、报告。
- 输出格式 `-f csv` 用于电子表格导出。
- `quote` 输出列:`symbol`、`close`、`change`、`change_abs`、`currency`、`time`。
- `options-chain` 输出列:`expiry`、`dte`、`strike`、`type`、`bid`、`ask`、`mid`、`iv`、`delta`、`gamma`、`theta`、`vega`、`rho`、`theo`、`bid_iv`、`ask_iv`、`symbol`。
- `options-expiries` 输出列:`expiry`、`dte`、`contracts_count`。
- `screener` 输出列是动态的;每个 `--columns` 条目一列,外加 `symbol`;默认:`name`、`close`、`change`、`volume`、`market_cap_basic`、`sector.tr`。
- `search` 输出列:`symbol`、`description`、`type`、`exchange`、`country`、`currency`。
- `news`(list 模式)输出列:`id`、`published`、`provider`、`title`、`urgency`、`related_symbols`、`link`。
- `news`(story 模式,设置 `--id`)输出列:`id`、`published`、`provider`、`title`、`body`、`tags`、`link`。
- `watchlists` 输出列:`id`、`name`、`symbol_count`、`symbols`。
- `alerts` 输出列:`id`、`name`、`symbol`、`type`、`condition`、`value`、`active`、`status`、`fired_at`。
- `chart-state` 输出列:`layout_id`、`symbol`、`interval`、`url`。
- `screenshot` 输出列:`path`、`bytes`。
- 展示结果时先给结构摘要;期权链先说明 spot price、显示的 expiry、ATM strike、IV regime,再给表格;screener 先说明匹配数量和应用的过滤器。
- 展示前积极过滤;永不粘贴 3,000 行链或 500 行 screener;期权链默认每个 expiry ATM ± 6 strikes;screener 除非用户要求更多,默认 top 20。
- 突出 skew;同时显示 calls 和 puts 时,如果重要,注明 IV skew 方向。
- 对 `chart-state`,简洁报告 layout id + symbol + interval + URL;提供 screenshot。
- 对 `news`(list 模式),按 provider 分组,时间戳以用户可能时区开头(不确定时始终 UTC ISO);包含 link 以便用户打开故事;对 story 模式(设置 `--id`),body 是纯文本,原样呈现,可选裁剪。
- 对 `watchlists`,列 symbol 前总结数量(例如 "3 watchlists: Earnings (24 syms), AI plays (12 syms), Hedges (8 syms)");除非要求,不倾倒 100-symbol 自选内容。
- 对 `alerts`,按状态分组(active vs triggered/fired),最近触发按 `fired_at` desc 排序;除非用户明确要求,不暴露 alert ids。
- 对 screener 结果,先用平实文字呈现 top movers / extreme values(例如 "highest market cap NVDA at $4.2T, 12 names below the RSI<30 threshold"),再给表格。
- 将会话视为私有;除非用户要求,绝不暴露 CDP target IDs、cookies 或 layout IDs。
- 诊断时运行 `opencli tradingview status`;它返回 CDP 连接状态和活动 TradingView tabs;如果 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 页面,打开任意图表或 symbol 页面后重试。
- 错误 `scanner 400 / Empty chain / totalCount=0`:订阅层级不覆盖此 symbol 期权,在桌面应用检查账户层级。
- 错误 `Symbol not found`:交易所错误,显式传 `--exchange`,或先运行 `opencli tradingview search --query <name>`。
- 错误 Rate limited:请求太多,等几秒后重试。
- 参考 `references/commands.md`,其中包含每个命令的所有 flags、输出示例和分析师工作流。
适用边界 · 注意事项
- 只需要普通报价、TA 读数、筛选器、期货或无希腊值期权链时,优先使用 `tradingview-mcp`,不用本技能。
- 需要下单、发布想法、修改自选列表、创建/删除警报或更改图表布局时,不适用;本技能只读且不暴露写端点。
- 未安装并在 `TradingView.app` 中登录,或登录账户订阅不包含目标 symbol 期权时,不适用。