Skip to content

Crypto Fields Reference

Complete reference for all 3,108 cryptocurrency fields available in the CryptoScreener.

Overview

The CryptoField enum provides 3,108 total fields with full parity to the Python tvscreener library. These fields cover:

  • Price & Volume Metrics: 136 fields for current and historical price/volume data
  • Technical Indicators: 2,400+ fields including Moving Averages, RSI, MACD, Bollinger Bands, Stochastic, ADX, and more
  • Candlestick Patterns: 270 boolean fields for pattern recognition
  • Pivot Points: 310 fields for Camarilla and other pivot calculations
  • Recommendations: 63 fields for technical ratings and signals
  • Fundamental Data: Market cap, supply metrics, and asset information
  • Metadata: Names, descriptions, sectors, and exchange information

Key Capabilities

  • 2,673 fields support time intervals (1m, 5m, 15m, 30m, 1h, 4h, 1D, 1W, 1M)
  • 839 fields support historical data via .withHistory()
  • 11 data formats: float, percent, bool, rating, text, currency, date, and more

Field Categories

1. Price & Volume (136 Fields)

Core OHLCV data and 24-hour metrics.

Basic Price Data

typescript
CryptoField.PRICE                    // Current price (close)
CryptoField.OPEN                     // Open price
CryptoField.HIGH                     // High price
CryptoField.LOW                      // Low price
CryptoField.VOLUME                   // Trading volume

24-Hour Metrics

typescript
CryptoField.CHANGE_PERCENT           // 24h price change %
CryptoField.CHANGE                   // 24h price change (absolute)
CryptoField.VOLUME_24H_IN_USD        // 24h volume in USD
CryptoField.VOLUME_24H_CHANGE_PERCENT // 24h volume change %
CryptoField.N24H_VOL_TO_MARKET_CAP   // Volume to market cap ratio

Multi-Timeframe Changes

typescript
CryptoField.CHANGE_1MIN_PERCENT      // 1 minute change %
CryptoField.CHANGE_5MIN_PERCENT      // 5 minute change %
CryptoField.CHANGE_15MIN_PERCENT     // 15 minute change %
CryptoField.CHANGE_1H_PERCENT        // 1 hour change %
CryptoField.CHANGE_4H_PERCENT        // 4 hour change %
CryptoField.CHANGE_1W_PERCENT        // 1 week change %
CryptoField.CHANGE_1M_PERCENT        // 1 month change %

Historical Price Levels

typescript
CryptoField.WEEK_HIGH_52             // 52-week high
CryptoField.WEEK_LOW_52              // 52-week low
CryptoField.PRICE_52_WEEK_HIGH_DATE  // Date of 52-week high
CryptoField.PRICE_52_WEEK_LOW_DATE   // Date of 52-week low

2. Technical Indicators (2,400+ Fields)

Comprehensive technical analysis indicators with interval and historical support.

Moving Averages (630 Fields)

Simple, Exponential, and Volume-Weighted Moving Averages.

Simple Moving Average (SMA)

typescript
CryptoField.SIMPLE_MOVING_AVERAGE_10  // SMA(10)
CryptoField.SIMPLE_MOVING_AVERAGE_20  // SMA(20)
CryptoField.SIMPLE_MOVING_AVERAGE_50  // SMA(50)
CryptoField.SIMPLE_MOVING_AVERAGE_100 // SMA(100)
CryptoField.SIMPLE_MOVING_AVERAGE_200 // SMA(200)

Exponential Moving Average (EMA)

typescript
CryptoField.EXPONENTIAL_MOVING_AVERAGE_10  // EMA(10)
CryptoField.EXPONENTIAL_MOVING_AVERAGE_20  // EMA(20)
CryptoField.EXPONENTIAL_MOVING_AVERAGE_50  // EMA(50)
CryptoField.EXPONENTIAL_MOVING_AVERAGE_100 // EMA(100)
CryptoField.EXPONENTIAL_MOVING_AVERAGE_200 // EMA(200)

Volume-Weighted Moving Average (VWMA)

typescript
CryptoField.VOLUME_WEIGHTED_MOVING_AVERAGE_20 // VWMA(20)

With Time Intervals

typescript
// 1-minute timeframe
CryptoField.EMA100_1                 // EMA(100) on 1m chart
CryptoField.SMA200_1                 // SMA(200) on 1m chart

// 1-hour timeframe
CryptoField.EMA100_60                // EMA(100) on 1h chart
CryptoField.SMA200_60                // SMA(200) on 1h chart

// Daily timeframe
CryptoField.EMA100_1D                // EMA(100) on daily chart

RSI - Relative Strength Index (250 Fields)

RSI with multiple periods and historical data support.

typescript
CryptoField.RELATIVE_STRENGTH_INDEX_14 // RSI(14) - default
CryptoField.RSI10                      // RSI(10)
CryptoField.RSI7                       // RSI(7)

// Historical RSI values
CryptoField.RSI10_1                    // RSI(10) 1 bar ago
CryptoField.RSI10_2                    // RSI(10) 2 bars ago

// With time intervals
CryptoField.RSI10_60                   // RSI(10) on 1h chart
CryptoField.RSI10_1_60                 // RSI(10)[1] on 1h chart

MACD (30 Fields)

Moving Average Convergence Divergence indicator.

typescript
CryptoField.MACD_LEVEL_12_26          // MACD line
CryptoField.MACD_SIGNAL_12_26         // MACD signal line
CryptoField.MACD_HIST                 // MACD histogram

// With intervals
CryptoField.MACD_HIST_1               // MACD histogram on 1m
CryptoField.MACD_HIST_60              // MACD histogram on 1h
CryptoField.MACD_HIST_1D              // MACD histogram on daily

Bollinger Bands (80 Fields)

Standard Bollinger Bands with 20-period and 50-period variants.

typescript
CryptoField.BOLLINGER_UPPER_BAND_20   // Upper band (20)
CryptoField.BB_BASIS                  // Middle band / SMA(20)
CryptoField.BOLLINGER_LOWER_BAND_20   // Lower band (20)

// BB(50)
CryptoField.BB_BASIS_50               // 50-period basis
CryptoField.BB_LOWER_50               // 50-period lower band
CryptoField.BB_UPPER_50               // 50-period upper band

// With intervals
CryptoField.BB_UPPER_50_60            // 50-period upper on 1h
CryptoField.BB_BASIS_50_1D            // 50-period basis on daily

Stochastic (230 Fields)

Stochastic oscillator and Stochastic RSI.

typescript
CryptoField.STOCHASTIC_PERCENTK_14_3_3  // Stochastic %K (14,3,3)
CryptoField.STOCHASTIC_PERCENTD_14_3_3  // Stochastic %D (14,3,3)
CryptoField.REC_STOCH_RSI               // Stoch RSI recommendation

// With intervals
CryptoField.STOCH_K_1_60              // %K[1] on 1h chart
CryptoField.STOCH_D_1_1D              // %D[1] on daily chart

ADX - Average Directional Index (250 Fields)

Trend strength and directional movement indicators.

typescript
CryptoField.AVERAGE_DIRECTIONAL_INDEX_14          // ADX(14)
CryptoField.POSITIVE_DIRECTIONAL_INDICATOR_14     // +DI(14)
CryptoField.NEGATIVE_DIRECTIONAL_INDICATOR_14     // -DI(14)

// Historical values
CryptoField.ADX_PLUS_DI_1             // +DI 1 bar ago
CryptoField.ADX_MINUS_DI_1            // -DI 1 bar ago

// With intervals
CryptoField.ADX_PLUS_DI_1_60          // +DI[1] on 1h chart

Other Technical Indicators (200+ Fields)

Additional momentum, volatility, and trend indicators.

Average True Range (ATR)

typescript
CryptoField.AVERAGE_DAY_RANGE_14      // ADR(14)
CryptoField.ADRP                      // ADR Percentage

Awesome Oscillator (AO)

typescript
CryptoField.AWESOME_OSCILLATOR        // Awesome Oscillator
CryptoField.AO_1                      // AO 1 bar ago
CryptoField.AO_2                      // AO 2 bars ago

Momentum

typescript
CryptoField.MOMENTUM_10               // Momentum(10)

Commodity Channel Index

typescript
CryptoField.COMMODITY_CHANNEL_INDEX_20  // CCI(20)
CryptoField.CCI20_1                     // CCI(20) 1 bar ago

Williams %R

typescript
CryptoField.WILLIAMS_PERCENT_RANGE_14 // Williams %R (14)

Ichimoku Cloud

typescript
CryptoField.ICHIMOKU_CONVERSION_LINE_9_26_52_26  // Tenkan-sen (9,26,52,26)
CryptoField.ICHIMOKU_BASE_LINE_9_26_52_26        // Kijun-sen (9,26,52,26)

Ultimate Oscillator

typescript
CryptoField.ULTIMATE_OSCILLATOR_7_14_28  // UO (7,14,28)

Parabolic SAR

typescript
CryptoField.PARABOLIC_SAR             // P.SAR
CryptoField.P_SAR_1                   // P.SAR on 1m
CryptoField.P_SAR_60                  // P.SAR on 1h

3. Candlestick Patterns (270 Fields)

Boolean fields indicating the presence of candlestick patterns.

typescript
// Bearish Patterns
CryptoField.CANDLE_3BLACKCROWS        // Three Black Crows
CryptoField.CANDLE_SHOOTINGSTAR       // Shooting Star
CryptoField.CANDLE_HANGINGMAN         // Hanging Man
CryptoField.CANDLE_EVENINGSTAR        // Evening Star
CryptoField.CANDLE_DARKCLOUDCOVER     // Dark Cloud Cover

// Bullish Patterns
CryptoField.CANDLE_3WHITESOLDIERS     // Three White Soldiers
CryptoField.CANDLE_HAMMER             // Hammer
CryptoField.CANDLE_INVERTEDHAMMER     // Inverted Hammer
CryptoField.CANDLE_MORNINGSTAR        // Morning Star
CryptoField.CANDLE_PIERCINGLINE       // Piercing Line

// Reversal Patterns
CryptoField.CANDLE_DOJI               // Doji
CryptoField.CANDLE_DRAGONFLYDOJI      // Dragonfly Doji
CryptoField.CANDLE_GRAVESTONEDOJI     // Gravestone Doji
CryptoField.CANDLE_ENGULFING_BEARISH  // Bearish Engulfing
CryptoField.CANDLE_ENGULFING_BULLISH  // Bullish Engulfing

// With time intervals
CryptoField.CANDLE_HAMMER_60          // Hammer on 1h chart
CryptoField.CANDLE_DOJI_1D            // Doji on daily chart

Usage Example:

typescript
screener
  .where(CryptoField.CANDLE_HAMMER.eq(true))
  .where(CryptoField.RSI10.lt(30))
  .select(CryptoField.NAME, CryptoField.PRICE, CryptoField.RSI10);

4. Pivot Points (310 Fields)

Camarilla and standard pivot point calculations.

typescript
// Camarilla Pivots
CryptoField.PIVOT_CAMARILLA_P         // Camarilla pivot point
CryptoField.PIVOT_CAMARILLA_R1        // Resistance 1
CryptoField.PIVOT_CAMARILLA_R2        // Resistance 2
CryptoField.PIVOT_CAMARILLA_R3        // Resistance 3
CryptoField.PIVOT_CAMARILLA_S1        // Support 1
CryptoField.PIVOT_CAMARILLA_S2        // Support 2
CryptoField.PIVOT_CAMARILLA_S3        // Support 3

// With time intervals
CryptoField.PIVOT_M_CAMARILLA_MIDDLE_60   // Camarilla P on 1h
CryptoField.PIVOT_M_CAMARILLA_R1_1D       // Camarilla R1 on daily

5. Recommendations & Ratings (63 Fields)

Technical analysis recommendations and rating signals.

typescript
CryptoField.TECHNICAL_RATING          // Overall technical rating
CryptoField.MOVING_AVERAGES_RATING    // MA rating
CryptoField.OSCILLATORS_RATING        // Oscillator rating

// Individual indicator recommendations
CryptoField.RELATIVE_STRENGTH_INDEX_14   // RSI recommendation
CryptoField.EXPONENTIAL_MOVING_AVERAGE_10 // EMA(10) recommendation
CryptoField.SIMPLE_MOVING_AVERAGE_20     // SMA(20) recommendation
CryptoField.MACD_LEVEL_12_26            // MACD recommendation
CryptoField.AVERAGE_DIRECTIONAL_INDEX_14 // ADX recommendation

// With intervals
CryptoField.RECOMMEND_ALL_60          // Technical rating on 1h
CryptoField.RECOMMEND_MA_1D           // MA rating on daily

Rating Values:

  • Strong Buy: 1.0 to 0.5
  • Buy: 0.5 to 0.1
  • Neutral: 0.1 to -0.1
  • Sell: -0.1 to -0.5
  • Strong Sell: -0.5 to -1.0

6. Fundamental Data

Market capitalization, supply metrics, and asset information.

Market Cap & Supply

typescript
CryptoField.MARKET_CAPITALIZATION     // Total market cap
CryptoField.FULLY_DILUTED_MARKET_CAP  // Fully diluted market cap
CryptoField.CIRCULATING_SUPPLY        // Circulating supply
CryptoField.TOTAL_SUPPLY              // Total supply
CryptoField.MAX_SUPPLY                // Maximum supply
CryptoField.CIRCULATING_TO_MAX_SUPPLY_RATIO // Circ/max ratio

Volume & Liquidity

typescript
CryptoField.VOLUME_24H_IN_USD         // 24h volume
CryptoField.N24H_VOL_TO_MARKET_CAP    // Volume/Market cap ratio
CryptoField.MARKET_CAP_TO_TVL         // Market cap to TVL ratio

Metadata

typescript
CryptoField.NAME                      // Cryptocurrency name
CryptoField.DESCRIPTION               // Asset description
CryptoField.SECTOR                    // Sector classification
CryptoField.TYPE                      // Asset type
CryptoField.SUBTYPE                   // Asset subtype
CryptoField.LOGOID                    // Logo identifier

Time Intervals

2,673 fields support time intervals, allowing you to analyze data across different timeframes.

Available Intervals

IntervalSuffixDescription
1 minute_1 or |11-minute chart
5 minutes_5 or |55-minute chart
15 minutes_15 or |1515-minute chart
30 minutes_30 or |3030-minute chart
1 hour_60 or |601-hour chart
2 hours_120 or |1202-hour chart
4 hours_240 or |2404-hour chart
1 day_1D or |1DDaily chart (default)
1 week_1W or |1WWeekly chart
1 month_1M or |1MMonthly chart

Field Naming Pattern

Fields with interval support follow this pattern:

BASE_NAME + INTERVAL_SUFFIX

Examples:

typescript
// RSI on different timeframes
CryptoField.RSI10                // Daily (default)
CryptoField.RSI10_1              // 1-minute
CryptoField.RSI10_5              // 5-minute
CryptoField.RSI10_60             // 1-hour
CryptoField.RSI10_240            // 4-hour
CryptoField.RSI10_1W             // Weekly

// EMA on different timeframes
CryptoField.EMA100               // Daily
CryptoField.EMA100_15            // 15-minute
CryptoField.EMA100_60            // 1-hour
CryptoField.EMA100_1D            // Daily (explicit)
CryptoField.EMA100_1M            // Monthly

// Bollinger Bands
CryptoField.BB_UPPER             // Daily
CryptoField.BB_UPPER_5           // 5-minute
CryptoField.BB_UPPER_60          // 1-hour

Multi-Timeframe Analysis

Combine indicators from different timeframes:

typescript
screener
  // Bullish on daily
  .where(CryptoField.RSI10.lt(30))
  .where(CryptoField.RECOMMEND_ALL.gt(0))

  // Strong momentum on 1-hour
  .where(CryptoField.RSI10_60.gt(60))
  .where(CryptoField.MACD_HIST_60.gt(0))

  .select(
    CryptoField.NAME,
    CryptoField.PRICE,
    CryptoField.RSI10,      // Daily RSI
    CryptoField.RSI10_60    // 1-hour RSI
  );

Historical Data

839 fields support historical data via the .withHistory() method.

How Historical Data Works

Historical data allows you to access indicator values from previous bars/candles:

typescript
// Current value
CryptoField.RSI10                // RSI now

// Historical values
CryptoField.RSI10_1              // RSI 1 bar ago
CryptoField.RSI10_2              // RSI 2 bars ago

Fields with Historical Support

  • RSI: All RSI variants (218 fields)
  • Stochastic: Stochastic and Stoch RSI (229 fields)
  • ADX: +DI and -DI indicators (266 fields)
  • Other: Selected momentum and trend indicators (126 fields)

Historical Data Examples

RSI Crossover Detection:

typescript
screener
  .where(CryptoField.RSI10.gt(50))      // Current RSI above 50
  .where(CryptoField.RSI10_1.lt(50))    // Previous RSI below 50
  .select(
    CryptoField.NAME,
    CryptoField.RSI10,
    CryptoField.RSI10_1
  );
// Finds cryptos where RSI just crossed above 50

Stochastic Signal:

typescript
screener
  .where(CryptoField.STOCHASTIC_PERCENTK_14_3_3.gt(
    CryptoField.STOCHASTIC_PERCENTD_14_3_3
  ))
  .where(CryptoField.STOCH_K_1.lt(CryptoField.STOCH_D_1))
  .select(
    CryptoField.NAME,
    CryptoField.STOCHASTIC_PERCENTK_14_3_3,
    CryptoField.STOCHASTIC_PERCENTD_14_3_3
  );
// Stochastic %K crossing above %D

ADX Trend Strength:

typescript
screener
  .where(CryptoField.ADX_PLUS_DI.gt(CryptoField.ADX_MINUS_DI))
  .where(CryptoField.ADX_PLUS_DI_1.lt(CryptoField.ADX_MINUS_DI_1))
  .select(CryptoField.NAME, CryptoField.ADX_PLUS_DI, CryptoField.ADX_MINUS_DI);
// +DI crossing above -DI

Multi-Timeframe Historical Analysis:

typescript
screener
  // 1-hour chart: RSI was oversold, now recovering
  .where(CryptoField.RSI10_60.gt(35))
  .where(CryptoField.RSI10_1_60.lt(30))

  // Daily chart: Still in uptrend
  .where(CryptoField.EXPONENTIAL_MOVING_AVERAGE_50.gt(
    CryptoField.EXPONENTIAL_MOVING_AVERAGE_200
  ))

  .select(
    CryptoField.NAME,
    CryptoField.RSI10_60,      // Current 1h RSI
    CryptoField.RSI10_1_60     // Previous 1h RSI
  );

Complete Field Count by Format

FormatCountDescriptionExample Fields
float2,306Numeric valuesRSI, EMA, ADX, MACD
bool270Boolean flagsCandlestick patterns
number_group147Large numbers with groupingVolume, Market Cap
percent134Percentage valuesChange %, Volume Change %
rating100Technical ratings (-1 to 1)Recommendations
round42Rounded numeric valuesPrice changes
computed_recommendation28Indicator recommendationsSMA, EMA, RSI signals
text16Text stringsName, Description, Sector
date55Date values52-week high date
missing6Unavailable dataSome market cap fields
recommendation4Overall recommendationsBuy/Sell/Neutral
Total3,108

Field Naming Conventions

Understanding field naming patterns helps you find the right field.

Pattern 1: Base Indicators

Standard indicators without suffixes (use default/daily timeframe):

typescript
CryptoField.RSI10                // RSI(10) on daily
CryptoField.EMA50                // EMA(50) on daily
CryptoField.MACD_HIST            // MACD histogram on daily

Pattern 2: Interval Suffix

Indicators with |N or _N suffixes specify timeframes:

typescript
CryptoField.RSI10_60             // RSI(10) on 1-hour
CryptoField.EMA50_15             // EMA(50) on 15-minute
CryptoField.MACD_HIST_240        // MACD histogram on 4-hour

Pattern 3: Historical Suffix

Indicators with [N] specify historical bars:

typescript
CryptoField.RSI10_1              // RSI(10) 1 bar ago
CryptoField.ADX_PLUS_DI_1        // +DI 1 bar ago

Pattern 4: Combined Suffixes

Historical data on specific timeframes:

typescript
CryptoField.RSI10_1_60           // RSI(10)[1] on 1-hour
CryptoField.ADX_PLUS_DI_1_240    // +DI[1] on 4-hour

Pattern 5: Boolean Patterns

Candlestick patterns use dot notation:

typescript
CryptoField.CANDLE_HAMMER        // Hammer pattern (daily)
CryptoField.CANDLE_HAMMER_60     // Hammer pattern on 1-hour

Pattern 6: Dot-Separated Components

Multi-part indicators use dots:

typescript
CryptoField.BB_UPPER             // BB.upper (Bollinger upper band)
CryptoField.MACD_HIST            // MACD.hist (MACD histogram)
CryptoField.RECOMMEND_ALL        // Recommend.All (overall rating)

Constant Name Transformations

Field names are transformed to TypeScript constant names:

PatternField NameConstant Name
DotsBB.upperBB_UPPER
PipesRSI10|60RSI10_60
BracketsRSI10[1]RSI10_1
Hyphens24h-volN24H_VOL
SpacesMarket CapMARKET_CAP
Starting digit24h_volN24H_VOL

Usage Examples

Example 1: Top Gainers with High Volume

typescript
import { CryptoScreener, CryptoField } from 'tradingview-screener';

const screener = new CryptoScreener();

screener
  .where(CryptoField.CHANGE_PERCENT.gt(10))
  .where(CryptoField.VOLUME_24H_IN_USD.gte(50_000_000))
  .where(CryptoField.MARKET_CAPITALIZATION.gt(100_000_000))
  .select(
    CryptoField.NAME,
    CryptoField.PRICE,
    CryptoField.CHANGE_PERCENT,
    CryptoField.VOLUME_24H_IN_USD,
    CryptoField.MARKET_CAPITALIZATION
  )
  .sortBy(CryptoField.CHANGE_PERCENT, false);

const results = await screener.get();

Example 2: Oversold RSI with Bullish MA Crossover

typescript
screener
  .where(CryptoField.RSI10.lt(30))                                        // Oversold RSI
  .where(CryptoField.EXPONENTIAL_MOVING_AVERAGE_50.gt(
    CryptoField.EXPONENTIAL_MOVING_AVERAGE_200
  ))    // Golden cross
  .where(CryptoField.VOLUME_24H_IN_USD.gte(10_000_000))
  .select(
    CryptoField.NAME,
    CryptoField.PRICE,
    CryptoField.RSI10,
    CryptoField.EXPONENTIAL_MOVING_AVERAGE_50,
    CryptoField.EXPONENTIAL_MOVING_AVERAGE_200
  )
  .sortBy(CryptoField.RSI10);

Example 3: Multi-Timeframe Momentum

typescript
screener
  // Daily: Uptrend
  .where(CryptoField.EXPONENTIAL_MOVING_AVERAGE_50.gt(
    CryptoField.EXPONENTIAL_MOVING_AVERAGE_200
  ))
  .where(CryptoField.TECHNICAL_RATING.gt(0))

  // 1-hour: Recent oversold recovery
  .where(CryptoField.RSI10_60.between(35, 50))
  .where(CryptoField.RSI10_1_60.lt(30))

  // Volume confirmation
  .where(CryptoField.VOLUME_24H_IN_USD.gte(25_000_000))

  .select(
    CryptoField.NAME,
    CryptoField.PRICE,
    CryptoField.RSI10,           // Daily RSI
    CryptoField.RSI10_60,        // 1h RSI current
    CryptoField.RSI10_1_60,      // 1h RSI previous
    CryptoField.TECHNICAL_RATING
  );

Example 4: Bollinger Band Squeeze

typescript
screener
  .where(CryptoField.PRICE.gt(CryptoField.BOLLINGER_UPPER_BAND_20))
  .where(CryptoField.RSI10.gt(70))
  .where(CryptoField.VOLUME_24H_CHANGE_PERCENT.gt(20))
  .select(
    CryptoField.NAME,
    CryptoField.PRICE,
    CryptoField.BOLLINGER_UPPER_BAND_20,
    CryptoField.BB_BASIS,
    CryptoField.BOLLINGER_LOWER_BAND_20,
    CryptoField.RSI10
  )
  .sortBy(CryptoField.VOLUME_24H_CHANGE_PERCENT, false);

Example 5: Candlestick Pattern Scanner

typescript
screener
  .where(CryptoField.CANDLE_HAMMER.eq(true))
  .where(CryptoField.RSI10.lt(35))
  .where(CryptoField.TECHNICAL_RATING.lt(0))
  .where(CryptoField.MARKET_CAPITALIZATION.gt(50_000_000))
  .select(
    CryptoField.NAME,
    CryptoField.PRICE,
    CryptoField.CHANGE_PERCENT,
    CryptoField.RSI10,
    CryptoField.CANDLE_HAMMER
  );

Example 6: MACD Crossover

typescript
screener
  .where(CryptoField.MACD_HIST.gt(0))                // MACD above signal
  .where(CryptoField.MACD_HIST_1.lt(0))              // Was below (crossover)
  .where(CryptoField.VOLUME_24H_IN_USD.gte(15_000_000))
  .select(
    CryptoField.NAME,
    CryptoField.PRICE,
    CryptoField.MACD_LEVEL_12_26,
    CryptoField.MACD_SIGNAL_12_26,
    CryptoField.MACD_HIST
  )
  .sortBy(CryptoField.MACD_HIST, false);

Example 7: Strong Trend with ADX

typescript
screener
  .where(CryptoField.AVERAGE_DIRECTIONAL_INDEX_14.gt(25))        // Strong trend
  .where(CryptoField.POSITIVE_DIRECTIONAL_INDICATOR_14.gt(
    CryptoField.NEGATIVE_DIRECTIONAL_INDICATOR_14
  ))  // Uptrend
  .where(CryptoField.RSI10.between(50, 70))
  .select(
    CryptoField.NAME,
    CryptoField.PRICE,
    CryptoField.AVERAGE_DIRECTIONAL_INDEX_14,
    CryptoField.POSITIVE_DIRECTIONAL_INDICATOR_14,
    CryptoField.NEGATIVE_DIRECTIONAL_INDICATOR_14,
    CryptoField.RSI10
  );

Example 8: High Technical Rating

typescript
screener
  .where(CryptoField.TECHNICAL_RATING.gte(0.5))          // Strong Buy
  .where(CryptoField.MOVING_AVERAGES_RATING.gte(0.5))    // MA confirms
  .where(CryptoField.OSCILLATORS_RATING.gte(0.1))        // Oscillators agree
  .where(CryptoField.VOLUME_24H_IN_USD.gte(20_000_000))
  .select(
    CryptoField.NAME,
    CryptoField.PRICE,
    CryptoField.TECHNICAL_RATING,
    CryptoField.MOVING_AVERAGES_RATING,
    CryptoField.OSCILLATORS_RATING,
    CryptoField.CHANGE_PERCENT
  )
  .sortBy(CryptoField.TECHNICAL_RATING, false);

Working with Results

Accessing Field Values

Field values are accessed using the fieldName property:

typescript
const results = await screener.get();

results.data.forEach(crypto => {
  // Simple field names
  console.log(`${crypto.name}: $${crypto.close}`);
  console.log(`Change: ${crypto.change}%`);

  // Fields with special characters need bracket notation
  console.log(`Volume: $${crypto['24h_vol|5']}`);
  console.log(`RSI: ${crypto.RSI10}`);
  console.log(`RSI 1h: ${crypto['RSI10|60']}`);

  // Dot notation for sub-properties
  console.log(`BB Upper: ${crypto['BB.upper']}`);
  console.log(`MACD Hist: ${crypto['MACD.hist']}`);
});

Field Name Mapping Reference

ConstantfieldNameAccess
NAMEnamerow.name
PRICEcloserow.close
CHANGE_PERCENTchangerow.change
VOLUME_24H_IN_USD24h_vol|5row['24h_vol|5']
RSI10RSI10row.RSI10
RSI10_60RSI10|60row['RSI10|60']
RSI10_1RSI10[1]row['RSI10[1]']
BB_UPPERBB.upperrow['BB.upper']
MACD_HISTMACD.histrow['MACD.hist']
CANDLE_HAMMERCandle.Hammerrow['Candle.Hammer']

Finding Fields

Method 1: Search the Generated Types

The CryptoField enum is fully typed with all 3,108 fields. Use TypeScript autocomplete:

typescript
CryptoField.  // Autocomplete shows all available fields

Method 2: Check the JSON Reference

All field definitions are available in /tmp/python_crypto_fields.json with complete metadata:

json
{
  "constantName": "RSI10_60",
  "label": "RSI 10|60",
  "fieldName": "RSI10|60",
  "format": "float",
  "interval": true,
  "historical": true
}

Method 3: Pattern Matching

Use naming conventions to find fields:

  • Moving averages: SMA*, EMA*, VWMA*
  • RSI: RSI*, RELATIVE_STRENGTH_INDEX*
  • MACD: MACD*
  • Bollinger: BB*, BOLLINGER*
  • Candlestick: CANDLE_*
  • Recommendations: RECOMMEND*, TECHNICAL_RATING*

Next Steps

Released under the MIT License.