TradingView Screener
Screen stocks, crypto, forex, bonds, futures, and coins using TradingView's market data. Zero auth required.
Setup (Run Once)
Before first use, run the install script to create a venv and install dependencies:
bash skills/tradingview-screener/install.sh
This creates
.venv/ inside the skill directory with all required packages.
Execution
All scripts use the skill's own venv:
CODEBLOCK1
Windows:
CODEBLOCK2
Modes
| Mode | Description | Script |
|---|
| Screen | One-time scan with filters, columns, sort | INLINECODE1 |
| Signal |
YAML-driven signal detection (pre-filters + computed signals) |
signal-engine.py |
Quick Start
Screen Mode
CODEBLOCK3
Signal Mode
CODEBLOCK4
Asset Classes
| Class | Screener | Field Enum |
|---|
| stock | StockScreener | StockField |
| crypto |
CryptoScreener | CryptoField |
| forex | ForexScreener | ForexField |
| bond | BondScreener | BondField |
| futures | FuturesScreener | FuturesField |
| coin | CoinScreener | CoinField |
Signal Types (Computed)
| Type | Description | Key Params |
|---|
| crossover | Fast field crosses slow field | fast, slow, direction |
| threshold |
Field crosses a value | field, op, value |
| expression | Pandas expression on DataFrame | expr |
| range | Field between min/max bounds | field, min, max |
Filter Operators
INLINECODE3 , >=, <, <=, ==, !=, between (value: [min, max]), isin (value: [...])
Common Stock Fields
INLINECODE11 , PRICE, CHANGE_PERCENT, VOLUME, MARKET_CAPITALIZATION, SECTOR,
SIMPLE_MOVING_AVERAGE_50, SIMPLE_MOVING_AVERAGE_200, RELATIVE_STRENGTH_INDEX_14,
MACD_LEVEL_12_26, INLINECODE21
Use StockField.search("keyword") in Python to discover more fields (13,000+ available).
Pre-built Signals
| Signal | File | Description |
|---|
| Golden Cross | INLINECODE23 | SMA50 above SMA200 (bullish) |
| Oversold Bounce |
state/signals/oversold-bounce.yaml | RSI < 30 + price rising |
| Volume Breakout |
state/signals/volume-breakout.yaml | Volume > 2x avg + momentum |
Output Format
CODEBLOCK5
Timeframes
INLINECODE26 , 5, 15, 30, 60, 120, 240, 1D, 1W, INLINECODE35
Pass --timeframe 60 to apply hourly interval to technical indicators.
References
TradingView 筛选器
使用TradingView市场数据筛选股票、加密货币、外汇、债券、期货和代币。无需认证。
设置(仅需运行一次)
首次使用前,运行安装脚本以创建虚拟环境并安装依赖:
bash
bash skills/tradingview-screener/install.sh
这将在技能目录内创建包含所有必需包的 .venv/ 目录。
执行
所有脚本均使用技能自身的虚拟环境:
bash
skills/tradingview-screener/.venv/bin/python3 skills/tradingview-screener/scripts/<脚本名>.py [参数]
Windows系统:
bash
skills/tradingview-screener/.venv/Scripts/python.exe skills/tradingview-screener/scripts/<脚本名>.py [参数]
模式
| 模式 | 描述 | 脚本 |
|---|
| 筛选 | 带过滤条件、列和排序的单次扫描 | screen.py |
| 信号 |
基于YAML的信号检测(预过滤+计算信号) | signal-engine.py |
快速开始
筛选模式
bash
skills/tradingview-screener/.venv/bin/python3 skills/tradingview-screener/scripts/screen.py \
--asset-class stock --limit 20 \
--filters [{field:MARKET_CAPITALIZATION,op:>,value:1000000000}] \
--columns NAME,PRICE,CHANGE_PERCENT,VOLUME \
--sort-by VOLUME --sort-order desc
信号模式
bash
列出可用信号
skills/tradingview-screener/.venv/bin/python3 skills/tradingview-screener/scripts/signal-engine.py --list
运行信号
skills/tradingview-screener/.venv/bin/python3 skills/tradingview-screener/scripts/signal-engine.py --signal golden-cross
资产类别
| 类别 | 筛选器 | 字段枚举 |
|---|
| 股票 | StockScreener | StockField |
| 加密货币 |
CryptoScreener | CryptoField |
| 外汇 | ForexScreener | ForexField |
| 债券 | BondScreener | BondField |
| 期货 | FuturesScreener | FuturesField |
| 代币 | CoinScreener | CoinField |
信号类型(计算型)
| 类型 | 描述 | 关键参数 |
|---|
| crossover | 快线穿过慢线 | fast, slow, direction |
| threshold |
字段穿过某个值 | field, op, value |
| expression | 对DataFrame的Pandas表达式 | expr |
| range | 字段在最小/最大值之间 | field, min, max |
过滤运算符
>, >=, <, <=, ==, !=, between (值: [最小值, 最大值]), isin (值: [...])
常用股票字段
NAME, PRICE, CHANGEPERCENT, VOLUME, MARKETCAPITALIZATION, SECTOR,
SIMPLEMOVINGAVERAGE50, SIMPLEMOVINGAVERAGE200, RELATIVESTRENGTHINDEX_14,
MACDLEVEL1226, AVERAGEVOLUME30DAY
在Python中使用 StockField.search(关键词) 可发现更多字段(超过13,000个可用)。
预构建信号
| 信号 | 文件 | 描述 |
|---|
| 黄金交叉 | state/signals/golden-cross.yaml | SMA50上穿SMA200(看涨) |
| 超卖反弹 |
state/signals/oversold-bounce.yaml | RSI < 30 + 价格上涨 |
| 成交量突破 | state/signals/volume-breakout.yaml | 成交量 > 2倍均值 + 动量 |
输出格式
markdown
股票筛选器 | 15条结果 | 按VOLUME降序排列
| NAME | PRICE | CHANGE_PERCENT | VOLUME |
|---|
| AAPL | 185.50 | 2.3 | 80000000 |
...
时间周期
1, 5, 15, 30, 60, 120, 240, 1D, 1W, 1M
传递 --timeframe 60 可将小时间隔应用于技术指标。
参考