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:
skills/tradingview-screener/.venv/bin/python3 skills/tradingview-screener/scripts/<script>.py [args]
Windows:
skills/tradingview-screener/.venv/Scripts/python.exe skills/tradingview-screener/scripts/<script>.py [args]
Modes
| Mode | Description | Script |
|---|
| Screen | One-time scan with filters, columns, sort | screen.py
|
| Signal | YAML-driven signal detection (pre-filters + computed signals) | signal-engine.py
|
Quick Start
Screen Mode
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
Signal Mode
# List available signals
skills/tradingview-screener/.venv/bin/python3 skills/tradingview-screener/scripts/signal-engine.py --list
Run a signal
skills/tradingview-screener/.venv/bin/python3 skills/tradingview-screener/scripts/signal-engine.py --signal golden-cross
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
>
,
>=
,
<
,
<=
,
==
,
!=
,
between
(value: [min, max]),
isin
(value: [...])
Common Stock Fields
NAME
,
PRICE
,
CHANGE_PERCENT
,
VOLUME
,
MARKET_CAPITALIZATION
,
SECTOR
,
SIMPLE_MOVING_AVERAGE_50
,
SIMPLE_MOVING_AVERAGE_200
,
RELATIVE_STRENGTH_INDEX_14
,
MACD_LEVEL_12_26
,
AVERAGE_VOLUME_30_DAY
Use
StockField.search("keyword")
in Python to discover more fields (13,000+ available).
Pre-built Signals
| Signal | File | Description |
|---|
| Golden Cross | state/signals/golden-cross.yaml
| 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
**Stock Screener** | 15 results | Sorted by VOLUME desc
| NAME | PRICE | CHANGE_PERCENT | VOLUME |
|---|
| AAPL | 185.50 | 2.3 | 80000000 |
| ... | | | |
| | | |
Timeframes
1
, 5
, 15
, 30
, 60
, 120
, 240
, 1D
, 1W
, 1M
Pass
--timeframe 60
to apply hourly interval to technical indicators.
References
- API Guide - Screener types, filters, field discovery
- Signals Guide - YAML schema, signal type configs
- Strategy Templates - Pre-built screening strategies
- Field Presets - Common field groups per asset class