Indicators Reference · 138 indicators · May 2026

Indicators.
The math, drawn clearly.

A technical indicator catalog documented the same way: the formula, the chart it draws, the edge cases that bite, and a concise path into StratForge validation.

stratcraft / indicators / rsi.md
№ 07 / 138 · MOMENTUM · RELATIVE STRENGTH INDEX

RSI(14) · price above, oscillator below · divergence highlighted

SPY · 2024-01 → 2026-04 · daily
price ↗ higher highRSI(14)7030RSI ↘ lower high · bearish divergence
RSI = 100 − 100 / (1 + RS)
formula
14
default period
9
playbooks use this
1-line
express the signal

The reference at a glance.

A broad indicator reference across trend, momentum, volatility, moving-average, oscillator, and statistical families. Each entry emphasizes the derivation, visual behavior, and implementation assumptions.

Indicators
138
From SMA to Hurst exponent. Each documented to the same depth.
Families
6
Trend, momentum, volatility, volume, oscillators, statistical.
Wired into
23
Playbooks that compose these primitives into real, backtestable strategies.
{ } Reference code
100%
Every indicator ships with Python + C++23 reference implementations.

Anatomy of an indicator entry.

Each reference page is built the same way: the formula in math, the picture on a chart, the failure modes that bite, and code you can paste in.

1 Layer 1 · The formula

The math, written the way Wilder wrote it.

Original definitions, not paraphrased blog versions. With the smoothing nuance (SMMA vs EMA vs SMA) that determines whether your numbers match a Bloomberg terminal.

def RSI(close, n=14):
  Δ = close.diff()
  up = Δ.clip(lower=0).ewm(α=1/n)
  dn = (−Δ).clip(lower=0).ewm(α=1/n)
  RS = up / dn
  return 100100 / (1 + RS)
2 Layer 2 · The visual

One chart shows what it sees.

A purpose-drawn picture, not a screenshot of TradingView. Levels, divergences, and smoothing artifacts, annotated where they matter.

7030overboughtoversold
3 Layer 3 · The edge cases

What breaks it. When to ignore it.

Every indicator lies in some regime. Sideways markets, gaps, holiday data, log returns vs simple. We list the failure modes so they can be tested before a signal is trusted.

! Flat / sideways: RSI flips noisily between 40–60
! First N bars: warm-up undefined, do not signal
! Overnight gaps: Δ spike inflates RS asymmetrically
! Strong uptrends: 70 is not overbought, it is the floor
Wire into StratForge

One line of logic, then validate it.

Every indicator is a research primitive. Reference snippets show how to express the logic, then validate it against data before relying on the signal.

# StratCraft DSL
rsi14 = rsi(close, 14)
# Python
from stratcraft import rsi

Why this beats a Wikipedia entry.

Most online indicator references are surface-level. Ours are written by the people who implement them, with the smoothing pitfalls and edge cases included, not glossed.

Wikipedia / blog entryStratCraft · indicator reference
FormulaListed once, vague on smoothingSMMA / EMA / SMA variants spelled out, all three
VisualA screenshot of TradingViewPurpose-drawn chart with annotated signals
Edge cases"May generate false signals in choppy markets"Listed by name with specific regimes and remedies
Reference codePseudocode that won't compileWorking Python + C++23, vetted against the engine
Cross-linksStatic "See also" listLive links to every playbook that uses this indicator
An indicator reference should leave you able to re-derive it from first principles, recognise where it lies, and call it from your code with one import. That is the only bar we hold ourselves to.

Three steps from formula to signal.

An indicator is just a feature. Three steps to take it from a math line on a page to a backtested signal in your portfolio.

1 Step 1 · Learn

Read the formula. Once.

Every page opens with the math and the visual side by side. Six minutes to internalise what the indicator measures and what it doesn't.

FormulaVisualSmoothingEdge cases
2 Step 2 · Wire

One line in the strategy logic.

Define the indicator, set the period, and make the signal rule explicit. StratForge can then evaluate the behavior against market data.

DSLPythonC++23No glue
3 Step 3 · Combine

Stack them into a strategy.

Indicators compose. RSI + ATR + Donchian becomes a complete trend-following framework, the same way the 23 playbooks are built.

ComposeBacktestWalk-forwardValidate

The reference, all 138.

Featured entries are shown below, followed by the full catalog. Each entry documents formula, chart behavior, edge cases, and reference code where available.

EMASMA
TREND№ 01

SMA / EMA

Simple and exponential moving averages, the smoothing primitives underneath everything else.

USED IN
Read →
ATR × 2
VOLATILITY№ 14

ATR: Average True Range

The volatility unit Wilder built. The sizing primitive behind every Turtle-style system.

USED IN
Read →
20D HIGH
TREND№ 02

Donchian Channel

The N-period highest high and lowest low. The original Turtle breakout primitive.

USED IN
Read →
8020
MOMENTUM№ 08

Stochastic Oscillator

Where is close, relative to the recent range? %K and %D, bounded 0–100. Lane, 1950s.

USED IN
Read →
TREND№ 05

Ichimoku Cloud

Five lines, one chart. Trend, momentum, support: the kumo reads the regime at a glance.

USED IN
Read →
VWAP
VOLUME№ 21

VWAP

Volume-weighted average price. The intraday fair-value line that desks actually trade against.

USED IN
Read →
OBV
VOLUME№ 20

OBV: On-Balance Volume

Cumulative signed volume. Granville's 1963 classic: volume confirmation in one line.

USED IN
Read →
+100−100
MOMENTUM№ 10

CCI: Commodity Channel Index

Lambert's 1980 oscillator, unbounded. ±100 are not limits, they are alert lines.

USED IN
Read →
−20−80
MOMENTUM№ 11

Williams %R

The reverse of Stochastic, on a −100 to 0 scale. Larry Williams, 1970s: fast, raw, useful.

USED IN
Read →
ADX 25
TREND№ 06

ADX + DI

Wilder's directional movement system. ADX measures strength; +DI/−DI measure direction.

USED IN
Read →
VOL PROFILE
VOLUME№ 23

Volume Profile

Volume by price level. The point of control reveals where everyone agrees on fair value.

USED IN
Read →
+2σ−2σ
STATISTICAL№ 37

Z-Score

How many standard deviations from the mean. The math primitive behind every mean-reversion signal.

USED IN
Read →
Showing 15 of 138. The full reference is filterable by family, smoothing scheme, and citation.
View all 138 indicators
Acceleration Deceleration OscillatorACCDEOSC

2 parameters · other

AccumCUMSUM

1 parameters · other

Adaptive Moving AverageKAMA

3 parameters · moving_average

Adaptive Moving Average EnvelopeKAMAENVELOPE

4 parameters · other

Adaptive Moving Average OscillatorADAPTIVEMOVINGAVERAGEOSC

3 parameters · other

All NALLN

1 parameters · other

Any NANYN

1 parameters · other

Apply NAPPLYN

2 parameters · other

Aroon DownAROONDOWN

3 parameters · other

Aroon OscillatorAROONOSC

3 parameters · other

Aroon UpAROONUP

3 parameters · other

Aroon Up DownAROONUPDOWN

3 parameters · other

Aroon Up Down OscillatorAROONUPDOWNOSC

3 parameters · other

AverageARITHMETICMEAN

1 parameters · other

Average Directional Movement IndexADX

2 parameters · trend

Average Directional Movement Index RatingADXR

2 parameters · other

Average True RangeATR

2 parameters · volatility

Awesome OscillatorAO

3 parameters · other

Base Apply NBASEAPPLYN

2 parameters · other

Bollinger BandsBBANDS

3 parameters · other

Bollinger Bands PctBBANDSPCT

3 parameters · other

Coint NCOINTN

2 parameters · other

Commodity Channel IndexCCI

5 parameters · oscillator

Cross DownCROSSDOWN

3 parameters · other

Cross OverCROSSOVER

3 parameters · other

Cross UpCROSSUP

3 parameters · other

Demark Pivot PointDEMARKPIVOTPOINT

6 parameters · other

Detrended Price OscillatorDPO

2 parameters · trend

Dickson Moving AverageDMA

5 parameters · other

Dickson Moving Average EnvelopeDMAENVELOPE

6 parameters · other

Dickson Moving Average OscillatorDICKSONMOVINGAVERAGEOSC

5 parameters · other

Directional IndicatorDI

2 parameters · other

Directional MovementDM

2 parameters · other

Directional Movement IndexDMI

2 parameters · trend

Double Exponential Moving AverageDEMA

2 parameters · moving_average

Double Exponential Moving Average EnvelopeDEMAENVELOPE

3 parameters · other

Double Exponential Moving Average OscillatorDOUBLEEXPONENTIALMOVINGAVERAGEOSC

2 parameters · other

Down DayDOWNDAY

1 parameters · other

Down Day BoolDOWNDAYBOOL

1 parameters · other

Down MoveDOWNMOVE

1 parameters · other

DV2DV2

3 parameters · other

EnvelopeENVELOPE

1 parameters · other

Exponential Moving AverageEMA

1 parameters · moving_average

Exponential Moving Average EnvelopeEMAENVELOPE

2 parameters · other

Exponential Moving Average OscillatorEXPONENTIALMOVINGAVERAGEOSC

1 parameters · other

Exponential SmoothingEXPSMOOTHING

1 parameters · other

Exponential Smoothing DynamicEXPSMOOTHINGDYNAMIC

1 parameters · other

Fibonacci Pivot PointFIBONACCIPIVOTPOINT

6 parameters · other

Find First IndexFINDFIRSTINDEX

2 parameters · other

Find First Index HighestFINDFIRSTINDEXHIGHEST

2 parameters · other

Find First Index LowestFINDFIRSTINDEXLOWEST

2 parameters · other

Find Last IndexFINDLASTINDEX

2 parameters · other

Find Last Index HighestFINDLASTINDEXHIGHEST

2 parameters · other

Find Last Index LowestFINDLASTINDEXLOWEST

2 parameters · other

FractalFRACTAL

3 parameters · other

ha DeltaHADELTA

3 parameters · other

Heikin AshiHEIKINASHI

1 parameters · other

HighestHIGHEST

1 parameters · other

Hull Moving AverageHMA

2 parameters · moving_average

Hull Moving Average EnvelopeHMAENVELOPE

3 parameters · other

Hull Moving Average OscillatorHULLMOVINGAVERAGEOSC

2 parameters · other

Hurst ExponentHURST

1 parameters · other

IchimokuICHIMOKU

5 parameters · other

Know Sure ThingKST

12 parameters · other

Laguerre FilterLAGF

2 parameters · other

Laguerre RSILRSI

2 parameters · other

Line Plotter IndicatorLINEPLOTTERINDICATOR

1 parameters · other

LowestLOWEST

1 parameters · other

MACDMACD

4 parameters · trend

MACD HistoMACDHIST

4 parameters · other

Mean DeviationMEANDEVIATION

2 parameters · other

Minus Directional IndicatorMINUS_DI

2 parameters · other

MomentumMOM

1 parameters · other

Momentum OscillatorMOMENTUMOSC

2 parameters · other

Moving Average BaseMA

1 parameters · other

Moving Average SimpleSMA

1 parameters · moving_average

Moving Average Simple EnvelopeSMAENVELOPE

2 parameters · other

Moving Average Simple OscillatorMOVINGAVERAGESIMPLEOSC

1 parameters · other

Non Zero DifferenceNZD

1 parameters · other

OLS_ Beta NOLS_BETAN

1 parameters · other

OLS_ Slope_ Intercept NOLS_SLOPE_INTERCEPTN

2 parameters · other

OLS_ Transformation NOLS_TRANSFORMATIONN

1 parameters · other

Operation NOPERATIONN

1 parameters · other

OscillatorOSCILLATOR

3 parameters · other

Oscillator Mix InOSCILLATORMIXIN

3 parameters · other

Parabolic SARPSAR

3 parameters · other

Percent ChangePCTCHANGE

1 parameters · other

Percent RankPCTRANK

1 parameters · other

Percentage Price OscillatorPPO

4 parameters · other

Percentage Price Oscillator ShortPPOSHORT

4 parameters · other

Period NPERIODN

1 parameters · other

Pivot PointPIVOTPOINT

3 parameters · other

Plus Directional IndicatorPLUS_DI

2 parameters · other

Pretty Good OscillatorPGO

2 parameters · other

Price OscillatorPRICEOSC

3 parameters · other

Rate Of ChangeROC

1 parameters · oscillator

Rate Of Change100ROC100

1 parameters · other

Reduce NREDUCEN

1 parameters · other

Relative Momentum IndexRMI

8 parameters · other

Relative Strength IndexRSI

8 parameters · oscillator

RSI_ EMARSI_EMA

8 parameters · other

RSI_ SafeRSI_SAFE

8 parameters · other

RSI_ SMARSI_SMA

8 parameters · other

SignalSIGNAL

1 parameters · other

Smoothed Moving AverageSMMA

1 parameters · other

Smoothed Moving Average EnvelopeSMMAENVELOPE

2 parameters · other

Smoothed Moving Average OscillatorSMOOTHEDMOVINGAVERAGEOSC

1 parameters · other

Standard DeviationSTDDEV

3 parameters · volatility

StochasticSTOCH

8 parameters · other

Stochastic FastSTOCHF

7 parameters · other

Stochastic FullSTOCHFULL

8 parameters · other

Sum NSUM

1 parameters · other

Triple Exponential Moving AverageTEMA

2 parameters · moving_average

Triple Exponential Moving Average EnvelopeTEMAENVELOPE

3 parameters · other

Triple Exponential Moving Average OscillatorTRIPLEEXPONENTIALMOVINGAVERAGEOSC

2 parameters · other

TrixTRIX

3 parameters · trend

Trix SignalTRIXSIGNAL

4 parameters · other

True HighTRUEHIGH

4 parameters · other

True LowTRUELOW

4 parameters · other

True RangeTRANGE

4 parameters · other

True Strength IndicatorTSI

4 parameters · other

Ultimate OscillatorULTOSC

5 parameters · other

Up DayUPDAY

1 parameters · other

Up Day BoolUPDAYBOOL

1 parameters · other

Up MoveUPMOVE

1 parameters · other

VortexVORTEX

1 parameters · other

Weighted AverageWEIGHTEDAVERAGE

3 parameters · other

Weighted Moving AverageWMA

1 parameters · moving_average

Weighted Moving Average EnvelopeWMAENVELOPE

2 parameters · other

Weighted Moving Average OscillatorWEIGHTEDMOVINGAVERAGEOSC

1 parameters · other

Williams ADWILLIAMSAD

3 parameters · other

Williams RWILLR

3 parameters · other

Zero Lag Exponential Moving AverageZLEMA

2 parameters · moving_average

Zero Lag Exponential Moving Average EnvelopeZLEMAENVELOPE

3 parameters · other

Zero Lag Exponential Moving Average OscillatorZEROLAGEXPONENTIALMOVINGAVERAGEOSC

2 parameters · other

Zero Lag IndicatorZLINDICATOR

3 parameters · other

Zero Lag Indicator EnvelopeZLINDICATORENVELOPE

4 parameters · other

Zero Lag Indicator OscillatorZEROLAGINDICATOROSC

3 parameters · other

Go deeper.

Two threads to pull on next: see the indicators in action, or step up to the algorithm primitives.

Pick an indicator. Validate it next.

Use the catalog to choose an indicator, define the signal logic, and validate the behavior in StratForge before treating it as part of a strategy workflow.

Explore other projects.

StratCraft is one of three engines we build. Same philosophy: open-source where possible, performance-first, no lock-in.