Coin Screener¶
Screen coins from CoinGecko data.
Quick Start¶
Field Count¶
The Coin Screener has access to ~3,026 fields covering:
- Price & market data
- On-chain metrics
- Technical indicators
- Performance data
Difference from Crypto Screener¶
| Feature | CoinScreener | CryptoScreener |
|---|---|---|
| Data Source | CoinGecko-style | TradingView exchanges |
| Focus | Coins/tokens | Trading pairs |
| Metrics | Market cap, supply | Exchange volume |
Common Fields¶
Price & Market¶
CoinField.CLOSE # Current price
CoinField.MARKET_CAP_CALC # Market cap
CoinField.CHANGE # 24h change
CoinField.N24H_VOL_CMC # 24h volume
Technical¶
CoinField.RSI # RSI(14)
CoinField.MACD_MACD # MACD
CoinField.SMA50 # SMA 50
CoinField.SMA200 # SMA 200
Performance¶
CoinField.PERF_W # 7d change
CoinField.PERF_1M # 30d change
CoinField.PERF_YTD # Year to date
CoinField.PERF_Y # 1 year
Example Screens¶
Top by Market Cap¶
cs = CoinScreener()
cs.sort_by(CoinField.MARKET_CAP_CALC, ascending=False)
cs.set_range(0, 100)
cs.select(
CoinField.NAME,
CoinField.CLOSE,
CoinField.MARKET_CAP_CALC,
CoinField.CHANGE
)
df = cs.get()
Top Gainers¶
cs = CoinScreener()
cs.where(CoinField.CHANGE > 10)
cs.where(CoinField.MARKET_CAP_CALC > 10_000_000) # Min $10M cap
cs.sort_by(CoinField.CHANGE, ascending=False)
cs.set_range(0, 50)
df = cs.get()
Large Cap Oversold¶
cs = CoinScreener()
cs.where(CoinField.MARKET_CAP_CALC > 1e9) # $1B+ market cap
cs.where(CoinField.RSI < 35)
cs.select(
CoinField.NAME,
CoinField.CLOSE,
CoinField.MARKET_CAP_CALC,
CoinField.RSI
)
df = cs.get()
Weekly Momentum¶
cs = CoinScreener()
cs.where(CoinField.PERF_W > 20)
cs.where(CoinField.MARKET_CAP_CALC > 100_000_000)
cs.sort_by(CoinField.PERF_W, ascending=False)
df = cs.get()
Multi-Timeframe¶
cs = CoinScreener()
# Daily RSI moderate
cs.where(CoinField.RSI.between(40, 60))
# 4-hour RSI oversold
rsi_4h = CoinField.RSI.with_interval('240')
cs.where(rsi_4h < 35)
cs.select(
CoinField.NAME,
CoinField.CLOSE,
CoinField.RSI,
rsi_4h
)
df = cs.get()
All Fields¶
cs = CoinScreener()
cs.select_all()
cs.set_range(0, 100)
df = cs.get()
print(f"Columns: {len(df.columns)}") # ~3,026
Notes¶
- CoinScreener focuses on individual coins/tokens
- Use CryptoScreener for exchange-specific trading pairs
- Market cap and supply data may differ from exchange data