Skip to main content

Overview

This page documents 12 operators (role: INDICATOR).

Quick Reference


DEMA

Double Exponential Moving Average indicator. DEMA reduces the lag compared to a traditional EMA by applying the formula: DEMA = 2 * EMA(price) - EMA(EMA(price)) Role: INDICATOR | Ephemeral: No

Parameters

Usage

Source Code

Full compute() implementation — no hidden logic.
Source: apps/trading/operators/indicator/dema.py

EMA

Exponential Moving Average for signal smoothing. Applies EMA smoothing across time to reduce signal noise and turnover. Uses the formula: EMA_t = alpha * x_t + (1 - alpha) * EMA_{t-1} This operator uses self-reference: it receives its own previous output via the Graph’s lookback buffer, making it stateless. Role: UNKNOWN | Ephemeral: No

Parameters

Usage

Source Code

Full compute() implementation — no hidden logic.
Source: apps/trading/operators/indicator/ema.py

KAMA

Kaufman Adaptive Moving Average indicator. KAMA adapts to market volatility by adjusting its smoothing constant. When the market is trending, KAMA responds quickly; when it’s ranging, it slows down. Efficiency Ratio (ER) = Change / Volatility Smoothing Constant (SC) = [ER * (fast_sc - slow_sc) + slow_sc]^2 KAMA_t = KAMA_{t-1} + SC * (Price_t - KAMA_{t-1}) Role: INDICATOR | Ephemeral: No

Parameters

Usage

Source Code

Full compute() implementation — no hidden logic.
Source: apps/trading/operators/indicator/kama.py

MA

Generic Moving Average indicator. Supports multiple MA types via ma_type parameter. Role: INDICATOR | Ephemeral: No

Parameters

Usage

Source Code

Full compute() implementation — no hidden logic.
Source: apps/trading/operators/indicator/ma.py

MACDEXT

MACD with controllable MA type. Role: INDICATOR | Ephemeral: No

Parameters

Usage

Source Code

Full compute() implementation — no hidden logic.
Source: apps/trading/operators/indicator/ma.py

MACDFIX

MACD Fix 12/26 - MACD with fixed periods. Uses fixed 12/26/9 periods like traditional MACD. Role: INDICATOR | Ephemeral: No

Parameters

Usage

Source Code

Full compute() implementation — no hidden logic.
Source: apps/trading/operators/indicator/ma.py

MAMA

MESA Adaptive Moving Average indicator. MAMA adapts to price movement based on the rate of change of phase (from Hilbert Transform). It provides both MAMA and FAMA (Following Adaptive Moving Average) values. Role: INDICATOR | Ephemeral: No

Parameters

Usage

Source Code

Full compute() implementation — no hidden logic.
Source: apps/trading/operators/indicator/mama.py

SMA

Simple Moving Average indicator. Calculates the arithmetic mean of a given set of values over a specified period. SMA_t = (x_t + x_{t-1} + … + x_{t-n+1}) / n Role: INDICATOR | Ephemeral: No

Parameters

Usage

Source Code

Full compute() implementation — no hidden logic.
Source: apps/trading/operators/indicator/sma.py

T3

Triple Exponential Moving Average (T3) indicator. T3 is a smoother version of TEMA using a volume factor. T3 = c1e6 + c2e5 + c3e4 + c4e3 where: e1 = EMA(price), e2 = EMA(e1), …, e6 = EMA(e5) c1 = -a^3, c2 = 3a^2 + 3a^3, c3 = -6a^2 - 3a - 3a^3, c4 = 1 + 3a + a^3 + 3*a^2 a = volume_factor (default 0.7) Role: INDICATOR | Ephemeral: No

Parameters

Usage

Source Code

Full compute() implementation — no hidden logic.
Source: apps/trading/operators/indicator/t3.py

TEMA

Triple Exponential Moving Average indicator. TEMA further reduces lag by applying the formula: TEMA = 3 * EMA - 3 * EMA(EMA) + EMA(EMA(EMA)) Role: INDICATOR | Ephemeral: No

Parameters

Usage

Source Code

Full compute() implementation — no hidden logic.
Source: apps/trading/operators/indicator/tema.py

TRIMA

Triangular Moving Average indicator. TRIMA is a double-smoothed SMA that gives more weight to middle values. For odd periods: TRIMA = SMA(SMA(price, (n+1)/2), (n+1)/2) For even periods: TRIMA = SMA(SMA(price, n/2+1), n/2) Role: INDICATOR | Ephemeral: No

Parameters

Usage

Source Code

Full compute() implementation — no hidden logic.
Source: apps/trading/operators/indicator/trima.py

WMA

Weighted Moving Average indicator. WMA assigns linearly increasing weights to more recent data points. WMA = (n*P_n + (n-1)P_{n-1} + … + 1P_1) / (n + (n-1) + … + 1) Role: INDICATOR | Ephemeral: No

Parameters

Usage

Source Code

Full compute() implementation — no hidden logic.
Source: apps/trading/operators/indicator/wma.py

Operator Protocol

How operators implement the compute() interface

StatefulGraph

How operators compose into a DAG