Technical Indicators

This document provides a comprehensive reference for technical indicators used in trading, organized by category. Each indicator includes its calculation, interpretation, and practical application.

Signal Type Classifications

MangroveAI uses two signal types:
  • TRIGGER: Discrete events at specific moments (crossovers, breakouts). Fire once when conditions transition from false to true.
  • FILTER: Continuous state conditions (price above MA, RSI overbought). Evaluate to true or false at each bar.

Momentum Indicators (42 signals)

RSI (Relative Strength Index)

Measures the speed and magnitude of price changes on a 0-100 scale. Signals:
  • rsi_oversold (FILTER) — RSI below threshold
  • rsi_overbought (FILTER) — RSI above threshold
  • rsi_cross_up (TRIGGER) — RSI crosses above threshold
  • rsi_cross_down (TRIGGER) — RSI crosses below threshold
Default parameters: window=14, oversold threshold=30, overbought threshold=70

Stochastic Oscillator

Compares closing price to the price range over a period. Signals: stoch_overbought, stoch_oversold

Williams %R

Momentum indicator measuring overbought/oversold levels. Signals: williams_r_oversold, williams_r_overbought

TSI (True Strength Index)

Double-smoothed momentum oscillator.

Trend Indicators (88 signals)

SMA (Simple Moving Average)

Average of closing prices over N periods. Signals:
  • is_above_sma (FILTER) — Price above SMA
  • sma_crossover (FILTER) — SMA crossover condition
  • sma_cross_up (TRIGGER) — Fast SMA crosses above slow SMA
  • sma_cross_down (TRIGGER) — Fast SMA crosses below slow SMA

EMA (Exponential Moving Average)

Weighted moving average giving more weight to recent prices. Signals: ema_cross_up, ema_cross_down, ema_crossover, price_above_ema

MACD (Moving Average Convergence Divergence)

Difference between fast and slow EMAs with a signal line. Signals: macd_bullish_cross (TRIGGER), macd_bearish_cross (TRIGGER), macd_positive (FILTER)

ADX (Average Directional Index)

Measures trend strength regardless of direction. Signals: adx_strong_trend (FILTER), adx_bullish_di (FILTER)

Volume Indicators (33 signals)

OBV (On-Balance Volume)

Cumulative volume based on price direction. Signals: obv_bullish, obv_bearish

MFI (Money Flow Index)

Volume-weighted RSI combining price and volume. Signals: mfi_oversold, mfi_overbought

CMF (Chaikin Money Flow)

Measures buying/selling pressure over a period. Signals: cmf_bullish, cmf_bearish

VWAP (Volume-Weighted Average Price)

Average price weighted by volume. Signals: vwap_above, vwap_below

Volatility Indicators (20 signals)

Bollinger Bands

Price bands based on standard deviations from a moving average. Signals:
  • bb_upper_breakout (TRIGGER) — Price breaks above upper band
  • bb_lower_breakout (TRIGGER) — Price breaks below lower band
  • bb_squeeze (TRIGGER) — Bands contract (low volatility)

ATR (Average True Range)

Measures market volatility. Signals: atr_high_volatility (FILTER)

Keltner Channel

Envelope around an EMA using ATR for band width. Signals: kc_upper_breakout (TRIGGER), kc_lower_breakout (TRIGGER)
This is a summary of the most important indicators. For the complete 96-signal reference with detailed formulas, parameter ranges, and usage examples, see knowledge-base/06-indicators.md in the repository or use the Signals API at GET /api/v1/signals.