Skip to content
The Complete Reference · Updated May 2026

Every indicator.
Deeply explained.

Formulas, parameters, trading signals, and outputs for all 100+ technical indicators in the AlgoBars engine. From SMA to Ehlers DSP, no marketing fluff, just the truth.

⌘K
173+
Indicators
Fully documented
11
Categories
From MA to DSP
200+
Brokers
One-click deploy
$0
To Start
Free forever

Moving Averages

12 Indicators • Overlay

The Simple Moving Average calculates the arithmetic mean of the closing price over a specified number of periods. It smooths out price data to reveal the underlying trend direction.
SMA = (P₁ + P₂ + ... + Pₙ) / n
Period
Default: 20
Range: 1–500
Source
Default: Close
Close, Open, High, Low, HL/2, HLC/3, OHLC/4
SMA Line · line · width 2
Trading Signals
  • Price crossing above the SMA signals a potential bullish shift
  • Price crossing below the SMA signals bearish pressure
  • Use Golden Cross (50 SMA above 200 SMA) and Death Cross for major trend confirmation
The RMA (Wilder's Smoothing) is used internally by RSI and ATR. Equivalent to an EMA with period 2n-1.
RMA = (RMA[1] × (n-1) + Close) / n
Period
Default: 14
Range: 1–500
Trading Signals
  • Extremely smooth. Used as the default smoothing method in Wilder indicators (RSI, ATR, ADX)
An EMA that dynamically adjusts its smoothing factor based on a volatility or efficiency ratio, combining benefits of fast and slow EMAs.
AEMA = AEMA[1] + α(ER) × (Close - AEMA[1])
Period
Default: 20
Range: 2–500
Fast
Default: 2
Range: 1–10
Slow
Default: 30
Range: 10–200
Trading Signals
  • Slope turning up during high efficiency ratio = strong trend detected
  • Flat during choppy markets. Automatically reduces false signals
Uses the Hilbert Transform to create an adaptive trendline that automatically adjusts to the dominant cycle period.
Based on instantaneous trendline from Hilbert Transform dominant cycle
Trading Signals
  • Price crossing above HT Trendline = cycle-confirmed uptrend
  • Price crossing below HT Trendline = cycle-confirmed downtrend
The Exponential Moving Average gives more weight to recent prices, making it faster to react than SMA.
EMA = Price × k + EMA[1] × (1 - k) k = 2 / (period + 1)
Period
Default: 20
Range: 1–500
EMA Line · line · width 2
Trading Signals
  • Fast EMA crossing above slow EMA signals bullish momentum
  • Fast EMA crossing below slow EMA signals bearish momentum
The WMA assigns linearly decreasing weights to older prices.
WMA = (P₁×n + P₂×(n-1) + ... + Pₙ×1) / sum
Period
Default: 20
Range: 1–500
Trading Signals
  • Balances responsiveness with smoothing
The Hull Moving Average reduces lag dramatically while improving smoothness.
HMA = WMA(2×WMA(n/2) - WMA(n), √n)
Trading Signals
  • HMA turning up is a strong bullish signal
  • HMA turning down signals bearish momentum
The VWAP is the institutional benchmark for intraday trading.
VWAP = Σ(Typical Price × Volume) / Σ(Volume)
Trading Signals
  • Price above VWAP = bullish intraday sentiment
  • Price below VWAP = bearish intraday sentiment
The DEMA applies EMA twice to reduce lag more than a standard EMA while maintaining smoothness.
DEMA = 2 × EMA(n) - EMA(EMA(n))
Period
Default: 20
Range: 1–500
DEMA Line · line · width 2
Trading Signals
  • Price crossing above DEMA signals faster trend detection than EMA
  • Price crossing below DEMA confirms bearish shift with minimal lag
The TEMA applies triple exponential smoothing for even less lag than DEMA.
TEMA = 3×EMA - 3×EMA(EMA) + EMA(EMA(EMA))
Period
Default: 20
Range: 1–500
TEMA Line · line · width 2
Trading Signals
  • TEMA slope turning positive signals early trend reversal upward
  • TEMA slope turning negative signals early bearish reversal
The LSMA (Linear Regression) fits a straight line to price data using least squares method, projecting the endpoint.
LSMA = Linear Regression Value at endpoint
Period
Default: 25
Range: 2–500
Trading Signals
  • LSMA slope positive and price above line = strong uptrend
  • Best used as dynamic support/resistance in trending markets
The SMMA takes all price data into account, providing extremely smooth results with more lag. Used in Alligator indicator.
SMMA = (SMMA[1] × (n-1) + Close) / n
Period
Default: 20
Range: 1–500
Trading Signals
  • Best for identifying long-term trend direction, not short-term signals

Bands & Channels

13 Indicators • Overlay

Created by John Bollinger, Bollinger Bands use standard deviation for dynamic volatility bands.
Upper = SMA + (StdDev × mult) Lower = SMA - (StdDev × mult)
Period
Default: 20
Range: 5–200
StdDev
Default: 2.0
Range: 0.5–4
Middle Band · line
Upper/Lower · bands
Trading Signals
  • Price at lower band in uptrend = potential buy
  • Bollinger Squeeze often precedes explosive moves
SuperTrend is a trend-following indicator based on ATR that flips between bullish (below price, green) and bearish (above price, red).
Upper Band = (H+L)/2 + Multiplier × ATR Lower Band = (H+L)/2 - Multiplier × ATR
ATR Period
Default: 10
Range: 1–100
Multiplier
Default: 3.0
Range: 0.5–10
Bullish Line · line · below price
Bearish Line · line · above price
Trading Signals
  • Price crossing above SuperTrend (line turns green) = buy signal
  • Price crossing below SuperTrend (line turns red) = sell signal
  • SuperTrend also serves as a dynamic trailing stop-loss
STARC Bands (Stoller Average Range Channel) plot bands around a short-term SMA using ATR, similar to Keltner but with different parameters.
Upper = SMA(6) + ATR(15) × 2 Lower = SMA(6) - ATR(15) × 2
SMA
Default: 6
Range: 2–50
ATR
Default: 15
Range: 5–50
Mult
Default: 2.0
Range: 0.5–4.0
Trading Signals
  • Price at lower STARC band in uptrend = buy the dip
  • Price at upper STARC band in downtrend = sell the rally
Acceleration Bands by Price Headley use the high-low range to calculate expanding/contracting bands around an SMA, identifying breakout candidates.
Upper = SMA(Close × (1 + 2 × (((H-L)/((H+L)/2)) × 1000) × factor)) Lower = SMA(Close × (1 - 2 × (((H-L)/((H+L)/2)) × 1000) × factor))
Period
Default: 20
Range: 5–100
Factor
Default: 0.001
Range: 0.0001–0.01
Trading Signals
  • Close above upper band for 2+ bars = acceleration breakout, go long
  • Close below lower band for 2+ bars = acceleration breakdown
  • Price between bands = no acceleration, wait for breakout
%B quantifies where price is relative to the Bollinger Bands. 0 = at lower band, 1 = at upper band, 0.5 = at middle.
%B = (Close - Lower Band) / (Upper Band - Lower Band)
Period
Default: 20
Range: 5–100
StdDev
Default: 2.0
Range: 0.5–4.0
Trading Signals
  • %B below 0 = price below lower band, potential oversold bounce
  • %B above 1 = price above upper band, potential overbought reversal
  • %B at 0.5 = price at middle band (SMA). Neutral zone
High-Low Bands plot smoothed moving averages of the high, low, and close prices, creating a natural volatility channel.
Upper = SMA(High, n) Middle = SMA(Close, n) Lower = SMA(Low, n)
Period
Default: 14
Range: 2–200
Trading Signals
  • Close above upper band = breaking out above normal range
  • Close below lower band = breaking down below normal range
  • Band width shows current volatility relative to recent history
Plots a linear regression line with upper/lower bands at a specified standard deviation distance, showing the statistically expected price path.
Center = Linear Regression(Close, n) Upper = Center + k × StdDev Lower = Center - k × StdDev
Period
Default: 100
Range: 10–500
Deviations
Default: 2.0
Range: 0.5–4.0
Trading Signals
  • Price at lower channel band with positive regression slope = buy zone
  • Price at upper channel band = statistically overbought
  • Regression slope indicates trend direction and strength quantitatively
Pivot Points calculate key support and resistance levels from prior period's high, low, and close. Multiple methods supported: Floor, Fibonacci, Camarilla, Woodie.
Pivot = (H + L + C) / 3 R1 = 2×P - L | S1 = 2×P - H R2 = P + (H-L) | S2 = P - (H-L) R3 = H + 2×(P-L) | S3 = L - 2×(H-P)
Method
Default: Floor
Floor, Fibonacci, Camarilla, Woodie, DeMark
Pivot · line · center
R1/R2/R3 · line · resistance
S1/S2/S3 · line · support
Trading Signals
  • Price bouncing off S1/S2 with bullish candle = support buy
  • Price rejected at R1/R2 with bearish candle = resistance sell
  • Pivot level acts as directional bias. Above = bullish, below = bearish
Fibonacci Levels plot horizontal lines at key ratios (23.6%, 38.2%, 50%, 61.8%, 78.6%) between swing high and low, identifying potential reversal zones.
Level = High - (High - Low) × Ratio Key Ratios: 0.236, 0.382, 0.5, 0.618, 0.786
23.6% · line
38.2% · line
50.0% · line · dashed
61.8% · line · key level
78.6% · line
Trading Signals
  • 61.8% retracement with bullish reversal candle = highest probability buy zone
  • Price failing at 38.2% retracement after breakdown = continuation sell
  • Cluster of Fibonacci levels from multiple swings = strongest S/R zones
The Keltner Channel uses ATR for band width instead of standard deviation.
Upper = EMA + (ATR × mult) Lower = EMA - (ATR × mult)
Trading Signals
  • Price breaking above upper channel = strong bullish momentum
The Donchian Channel plots highest high and lowest low - foundation of Turtle Trading.
Upper = Highest High(n) Lower = Lowest Low(n)
Trading Signals
  • Breakout above upper channel = buy signal
  • Breakdown below lower channel = sell signal
The Envelope plots bands at a fixed percentage above and below a moving average, identifying overbought and oversold levels.
Upper = MA × (1 + %deviation)\nLower = MA × (1 - %deviation)
Period
Default: 20
Range: 1–500
Deviation %
Default: 2.5%
Range: 0.1–20%
Upper Band · line
Lower Band · line
Basis · line · dashed
Trading Signals
  • Price touching upper envelope signals potential overbought condition
  • Price touching lower envelope signals potential oversold condition
The Price Channel plots the highest high and lowest low over a given period, similar to Donchian but with midline calculations.
Upper = Highest High(n)\nLower = Lowest Low(n)\nMid = (Upper + Lower) / 2
Period
Default: 20
Range: 1–500
Trading Signals
  • Breakout above upper channel signals strong bullish momentum
  • Breakdown below lower channel signals bearish breakout
  • Narrowing channel width signals decreasing volatility and impending breakout

Momentum & Oscillators

29 Indicators • Separate Pane

The RSI measures momentum on a 0-100 scale. Overbought >70, Oversold <30.
RSI = 100 - (100 / (1 + RS)) RS = Avg Gain / Avg Loss
Period
Default: 14
Range: 2–50
Trading Signals
  • RSI below 30 = oversold, potential reversal up
  • RSI above 70 = overbought, potential reversal down
  • RSI divergence from price is a powerful reversal signal
Connors RSI combines three components, standard RSI, up/down streak length RSI, and percent rank of magnitude, for a composite momentum reading.
CRSI = (RSI(3) + RSI(Streak,2) + PercentRank(100)) / 3
RSI Period
Default: 3
Range: 2–20
Streak
Default: 2
Range: 2–10
Rank
Default: 100
Range: 10–200
Trading Signals
  • CRSI below 10 = deeply oversold mean reversion buy
  • CRSI above 90 = extremely overbought, expect pullback
RMI is RSI with a variable lookback for the change calculation, making it more flexible for different timeframes.
RMI = RSI but comparing Close to Close[m] instead of Close[1]
Period
Default: 14
Range: 2–100
Momentum
Default: 4
Range: 1–20
Trading Signals
  • RMI below 30 = oversold with momentum lookback
  • RMI above 70 = overbought
IMI applies the RSI concept to candlestick bodies (open-to-close), measuring intraday buying vs selling pressure.
Gains = Σ(Close-Open) when Close > Open Losses = Σ(Open-Close) when Open > Close IMI = 100 × Gains / (Gains + Losses)
Period
Default: 14
Range: 2–50
Trading Signals
  • IMI below 30 = persistent intraday selling, oversold for reversal
  • IMI above 70 = persistent intraday buying, overbought
MACD Histogram plots the difference between MACD line and signal line as bars. Shows the rate of change of momentum.
Histogram = MACD Line - Signal Line
Positive bars · histogram · green
Negative bars · histogram · red
Trading Signals
  • Histogram turning positive (crossing zero) = bullish crossover
  • Histogram turning negative = bearish crossover
  • Histogram divergence from price is often more reliable than MACD line divergence
TD Sequential counts consecutive bars meeting specific conditions. A completed 9-count signals potential exhaustion.
Setup: 9 consecutive closes compared to close 4 bars earlier Countdown: 13 bars with close ≤ low 2 bars earlier
Trading Signals
  • Perfected sell setup (9-count) = potential bottom, look for reversal candle
  • Perfected buy setup (9-count) = potential top, expect pullback
  • Completed 13-countdown is a stronger exhaustion signal than 9-count alone
PFE uses fractal geometry to measure how efficiently price moves between two points. Range: -100 to +100.
PFE = 100 × sign × √((C-C[n])² + n²) / Σ√((C[i]-C[i-1])² + 1)
Period
Default: 10
Range: 2–100
Smooth
Default: 5
Range: 1–20
Trading Signals
  • PFE near ±100 = very efficient/straight-line movement (strong trend)
  • PFE near 0 = inefficient/choppy movement (congestion)
Chande Kroll Stop calculates two stop lines based on ATR that serve as dynamic trailing stops and trend direction signals.
First Stop = HH(ATR×mult, p) - ATR×mult Stop Long = HH(First Stop, q) Stop Short = LL(First Stop + ATR×mult, q)
P
Default: 10
Range: 2–50
Q
Default: 9
Range: 1–50
Mult
Default: 1.0
Range: 0.5–5.0
Stop Long · line
Stop Short · line
Trading Signals
  • Price above both stop lines = confirmed uptrend
  • Price below both stop lines = confirmed downtrend
  • Lines converging = trend weakening, prepare for potential reversal
PMO is a double-smoothed ROC that shows momentum direction and potential turning points. Created by Carl Swenlin.
PMO = 20-EMA of (10 × 35-EMA of ((Close/Close[1] - 1) × 100))
PMO Line · line · width 2
Signal · line · dashed
Trading Signals
  • PMO crossing above signal line from oversold = buy
  • PMO crossing below signal line from overbought = sell
Balance of Power measures the strength of buyers vs sellers by comparing close position to the open relative to the range.
BOP = (Close - Open) / (High - Low)
Smooth
Default: 14
Range: 1–50
Trading Signals
  • BOP consistently positive = buyers dominating
  • BOP consistently negative = sellers dominating
  • Divergence between BOP and price = early reversal warning
Disparity Index measures the percentage distance between price and a moving average. Extreme readings signal mean reversion opportunities.
DI = ((Close - MA(n)) / MA(n)) × 100
MA Period
Default: 14
Range: 2–200
Trading Signals
  • Large negative DI = price far below MA, expect snap-back rally
  • Large positive DI = price far above MA, expect mean reversion
REI by Tom DeMark identifies overbought/oversold conditions based on the relationship between consecutive bars' highs and lows.
Compares high/low relationships across consecutive bars Range: -100 to +100
Period
Default: 8
Range: 2–50
Trading Signals
  • REI above +60 for 5+ bars = overbought exhaustion
  • REI below -60 for 5+ bars = oversold exhaustion
  • Between -60 and +60 = trending phase, stay with trend
RWI determines whether price movement is random or trending by comparing actual price range to expected random walk range.
RWI High = (High - Low[n]) / (ATR × √n) RWI Low = (High[n] - Low) / (ATR × √n)
Period
Default: 14
Range: 2–100
RWI High · line
RWI Low · line
Trading Signals
  • RWI High > 1.0 = statistically significant uptrend (not random)
  • RWI Low > 1.0 = statistically significant downtrend
  • Both below 1.0 = random walk, no reliable trend
Ken Wood's complete CCI trading system using dual CCI lines (14 and 6 period) with specific pattern recognition for entries.
CCI14 = (Typical Price - SMA(TP,14)) / (0.015 × Mean Deviation) Turbo CCI6 for timing
CCI Period
Default: 14
Range: 5–50
Turbo
Default: 6
Range: 2–14
CCI 14 · line · width 2
CCI 6 (Turbo) · line · thin
Trading Signals
  • Zero-Line Reject (ZLR): CCI bounces off zero from above during uptrend
  • Trend Line Break (TLB): CCI breaks its own trendline for reversal entry
  • Ghost pattern: CCI makes lower high while price makes higher high = divergence setup
DMI shows the +DI and -DI lines separately, measuring directional pressure. The companion to ADX which only measures trend strength.
+DM = High - High[1] (if > Low[1] - Low) -DM = Low[1] - Low (if > High - High[1]) +DI = 100 × EMA(+DM) / ATR -DI = 100 × EMA(-DM) / ATR
Period
Default: 14
Range: 5–50
+DI · line · width 2
-DI · line · width 2
Trading Signals
  • +DI crossing above -DI = bullish directional shift
  • -DI crossing above +DI = bearish directional shift
  • Wide spread between +DI and -DI confirms strong one-directional momentum
The MACD shows relationship between two EMAs with signal line and histogram.
MACD = EMA(12) - EMA(26) Signal = EMA(MACD, 9)
MACD Line · line
Signal Line · line
Histogram · bars
Trading Signals
  • MACD crossing above signal = bullish
  • MACD crossing below signal = bearish
The Stochastic compares closing price to the price range.
%K = (Close - LL) / (HH - LL) × 100
Trading Signals
  • Below 20 and %K crosses above %D = oversold buy
  • Above 80 and %K crosses below %D = overbought sell
The CCI measures price deviation from statistical mean.
Trading Signals
  • CCI rising above -100 = bullish reversal
  • CCI falling below +100 = bearish reversal
The MFI is a volume-weighted RSI.
Trading Signals
  • MFI below 20 = oversold with volume confirmation
  • MFI above 80 = overbought with volume confirmation
Williams %R measures overbought/oversold levels on a scale of 0 to -100. Essentially an inverted Stochastic.
%R = (Highest High - Close) / (Highest High - Lowest Low) × -100
Period
Default: 14
Range: 1–200
%R Line · line · width 2
Trading Signals
  • Readings above -20 signal overbought conditions
  • Readings below -80 signal oversold conditions
ROC measures the percentage change between the current price and a price n periods ago.
ROC = ((Close - Close[n]) / Close[n]) × 100
Period
Default: 12
Range: 1–200
Trading Signals
  • ROC crossing above zero from below signals bullish momentum shift
  • ROC crossing below zero from above signals bearish momentum
  • Extreme ROC readings often precede mean reversion
Momentum measures the rate of price change. Unlike ROC, it returns the absolute difference rather than percentage.
Momentum = Close - Close[n]
Period
Default: 10
Range: 1–200
Trading Signals
  • Momentum crossing above zero line signals bullish acceleration
  • Momentum crossing below zero signals bearish acceleration
Ultimate Oscillator combines three timeframes (7, 14, 28) to reduce false signals and volatility.
UO = 100 × (4×Avg7 + 2×Avg14 + Avg28) / 7
Fast
Default: 7
Range: 1–50
Medium
Default: 14
Range: 1–100
Slow
Default: 28
Range: 1–200
Trading Signals
  • UO below 30 with bullish divergence = strong buy signal
  • UO above 70 with bearish divergence = strong sell signal
DPO removes trend from price to identify cycles. It compares price to a displaced moving average.
DPO = Close - SMA(n/2 + 1 periods ago)
Period
Default: 20
Range: 5–100
Trading Signals
  • Useful for identifying cycle lengths and timing entries within established trends
Stochastic RSI applies the Stochastic formula to RSI values rather than price, creating a more sensitive oscillator.
StochRSI = (RSI - Lowest RSI) / (Highest RSI - Lowest RSI)
RSI Period
Default: 14
Range: 2–100
Stoch Period
Default: 14
Range: 2–100
K Smooth
Default: 3
Range: 1–10
D Smooth
Default: 3
Range: 1–10
%K Line · line · width 2
%D Line · line · dashed
Trading Signals
  • %K crossing above %D below 0.2 = oversold buy signal
  • %K crossing below %D above 0.8 = overbought sell signal
PPO is a normalized MACD expressed as a percentage, making it comparable across different price levels.
PPO = ((EMA(12) - EMA(26)) / EMA(26)) × 100
Fast
Default: 12
Range: 1–100
Slow
Default: 26
Range: 1–200
Signal
Default: 9
Range: 1–50
Trading Signals
  • PPO crossing above signal line = bullish
  • PPO crossing below signal line = bearish
Aroon identifies trend changes and strength by measuring time since the highest high and lowest low.
Aroon Up = ((n - Periods Since High) / n) × 100 Aroon Down = ((n - Periods Since Low) / n) × 100
Period
Default: 25
Range: 1–200
Aroon Up · line · width 2
Aroon Down · line · width 2
Trading Signals
  • Aroon Up crossing above Aroon Down signals emerging uptrend
  • Aroon Down crossing above Aroon Up signals emerging downtrend
  • Both lines near 50 indicates consolidation / no clear trend
TSI double-smooths momentum to show trend direction and overbought/oversold conditions.
TSI = 100 × EMA(EMA(Close-Close[1],r),s) / EMA(EMA(|Close-Close[1]|,r),s)
Long
Default: 25
Range: 1–100
Short
Default: 13
Range: 1–50
Trading Signals
  • TSI crossing above zero or signal line = bullish
  • TSI crossing below zero or signal line = bearish
CMO measures momentum on both up and down days. Ranges from +100 to -100.
CMO = 100 × (Sum of Ups - Sum of Downs) / (Sum of Ups + Sum of Downs)
Period
Default: 9
Range: 1–100
Trading Signals
  • CMO crossing above -50 from oversold territory = buy
  • CMO crossing below +50 from overbought territory = sell

Volatility

17 Indicators • Separate Pane

The ATR measures market volatility using true range.
TR = Max(H-L, |H-PC|, |L-PC|) ATR = EMA(TR, n)
Period
Default: 14
Range: 5–50
Trading Signals
  • High ATR = high volatility, wider stops needed
  • Low ATR = potential breakout coming
NATR expresses ATR as a percentage of closing price, making it comparable across different priced instruments.
NATR = (ATR / Close) × 100
Period
Default: 14
Range: 1–200
Trading Signals
  • Comparable across instruments. a 5% NATR stock is equally volatile as another 5% NATR stock regardless of price
True Range is the greatest of: current high minus low, absolute(high minus previous close), or absolute(low minus previous close). The raw input for ATR.
TR = Max(H-L, |H-C[1]|, |L-C[1]|)
Trading Signals
  • Spike in TR = gap or large bar, indicating sudden volatility expansion
Garman-Klass estimates volatility using OHLC data, providing a more efficient estimate than close-to-close methods.
GK = √(½×ln(H/L)² - (2ln2-1)×ln(C/O)²)
Window
Default: 21
Range: 5–252
Trading Signals
  • More efficient than historical volatility. Uses full bar range information
Yang-Zhang combines overnight (close-to-open), open-to-close, and Rogers-Satchell components for the most efficient OHLC volatility estimator.
YZ = √(σ²overnight + σ²open-close + σ²Rogers-Satchell)
Window
Default: 21
Range: 5–252
Trading Signals
  • Considered the minimum variance unbiased estimator. Most accurate OHLC volatility measure
ADR calculates the average daily high-low range, useful for setting profit targets and stop losses in day trading.
ADR = SMA(Daily High - Daily Low, n)
Period
Default: 14
Range: 5–100
Trading Signals
  • If price has moved 80% of ADR, expect reduced follow-through in same direction
  • Use ADR × 0.5 as minimum profit target, ADR × 1.5 as stretch target
HVR compares short-term to long-term historical volatility, identifying volatility contractions that precede breakouts.
HVR = HV(short) / HV(long)
Short
Default: 6
Range: 2–20
Long
Default: 100
Range: 20–252
Trading Signals
  • HVR < 0.5 = volatility contraction, expect expansion (breakout imminent)
  • HVR > 2.0 = volatility expansion, current move may be overextended
Larry Williams' synthetic VIX for any instrument. Identifies implied fear/greed levels without options data.
WVIX = (Highest Close(22) - Low) / Highest Close(22) × 100
Period
Default: 22
Range: 5–100
Trading Signals
  • WVIX spike above upper Bollinger Band = panic selling, buy the fear
  • Works on any instrument, stocks, futures, crypto, not just indices
BB% normalizes Bollinger Band Width as a percentile rank, showing whether current volatility is historically high or low.
BB% = PercentileRank(BBW, lookback)
BB Period
Default: 20
Range: 5–100
Lookback
Default: 252
Range: 50–500
Trading Signals
  • BB% below 5th percentile = historically tight, breakout imminent
  • BB% above 95th = historically wide, volatility likely to contract
KCW measures the width of Keltner Channels, similar to BBW but ATR-based. Rising = expanding volatility.
KCW = (Upper KC - Lower KC) / Middle KC × 100
Period
Default: 20
Range: 5–100
ATR Mult
Default: 2.0
Range: 0.5–5.0
Trading Signals
  • Used with BBW for the Squeeze indicator. When BBW < KCW the squeeze is on
RVI by Donald Dorsey measures the direction of volatility using standard deviation instead of price. Confirms trend strength.
Like RSI but uses StdDev of closes instead of price changes RVOL = 100 × UpStdDev / (UpStdDev + DownStdDev)
Period
Default: 14
Range: 2–100
Trading Signals
  • RVOL above 50 confirms buy signals from other indicators
  • RVOL below 50 confirms sell signals from other indicators
  • Best used as a filter. Only take trades when RVOL agrees with primary signal
Parkinson estimates volatility using only high-low range data. More efficient than close-to-close with fewer data points.
PV = √((1/4n×ln2) × Σ(ln(H/L))²) × √252
Window
Default: 21
Range: 5–252
Trading Signals
  • 5× more efficient than close-to-close volatility. Better with limited data
The BBW measures distance between Bollinger Bands.
Trading Signals
  • Low BBW = squeeze forming, expect volatility expansion
Standard Deviation measures the dispersion of price from its mean. Higher values indicate increased volatility.
StdDev = √(Σ(Price - Mean)² / n)
Period
Default: 20
Range: 2–200
Trading Signals
  • Rising StdDev = expanding volatility, potential breakout
  • Falling StdDev = contracting volatility, potential squeeze
Historical Volatility measures the annualized standard deviation of log returns.
HV = StdDev(ln(Close/Close[1]), n) × √252 × 100
Period
Default: 21
Range: 5–252
Trading Signals
  • Compare HV to implied volatility for options mispricing
Ulcer Index measures downside volatility specifically. The depth and duration of drawdowns.
UI = √(Σ(% Drawdown²) / n)
Period
Default: 14
Range: 5–100
Trading Signals
  • Higher values = deeper, more prolonged drawdowns
  • Used in the Martin Ratio (return / Ulcer Index) for risk-adjusted performance
Chaikin Volatility measures the rate of change of the trading range (High - Low) EMA.
CV = (EMA(H-L, n) - EMA(H-L, n)[m]) / EMA(H-L, n)[m] × 100
EMA Period
Default: 10
Range: 1–100
ROC Period
Default: 10
Range: 1–100
Trading Signals
  • Rising values indicate expanding trading ranges (increasing volatility)
  • Sharp decline in volatility at market bottoms can signal reversal

Volume

22 Indicators • Mixed Pane

The OBV is cumulative, adding volume on up days and subtracting on down days.
Trading Signals
  • OBV rising while price flat = accumulation, bullish
  • OBV falling while price flat = distribution, bearish
PVI tracks price changes only on days with volume increases, reflecting "uninformed" or crowd money activity.
If Volume > Volume[1]: PVI = PVI[1] + ((Close-Close[1])/Close[1]) × PVI[1] Else: PVI = PVI[1]
Trading Signals
  • Companion to NVI. Together they separate smart money from crowd behavior
  • PVI below its 255-day EMA = uninformed money is bearish
CVD tracks the running total of buy volume minus sell volume, estimating order flow from OHLC data.
Delta = Volume × ((Close-Low) - (High-Close)) / (High-Low) CVD = Cumulative Sum of Delta
Trading Signals
  • CVD rising with price = strong buying pressure, healthy uptrend
  • CVD falling while price rises = hidden selling (distribution), bearish divergence
  • CVD divergence is one of the most powerful institutional flow signals
Relative Volume compares current volume to the average volume for the same time of day, showing unusual activity.
RVOL = Current Volume / Average Volume (same time period, n days)
Days
Default: 20
Range: 5–60
Trading Signals
  • RVOL > 2.0 = 2× normal volume, significant institutional interest
  • RVOL > 5.0 with breakout = extremely high conviction move
  • RVOL spike at support level with reversal candle = high-probability bounce
MFM is the raw close location value used in A/D Line and CMF. Shows where the close falls within the bar's range.
MFM = ((Close - Low) - (High - Close)) / (High - Low)
Trading Signals
  • MFM = +1: closed at high (maximum buying). MFM = -1: closed at low (maximum selling)
  • Average MFM over time reveals systematic accumulation or distribution
WVO weights volume by price change magnitude, giving more importance to high-conviction moves.
WV = Volume × |Close - Close[1]| × Sign(Close - Close[1]) WVO = EMA(WV, fast) - EMA(WV, slow)
Fast
Default: 5
Range: 2–20
Slow
Default: 10
Range: 5–50
Trading Signals
  • WVO crossing above zero = volume-weighted momentum turning bullish
  • WVO crossing below zero = volume-weighted momentum bearish
VZO classifies volume as positive or negative based on close vs close[1], then smooths with EMA for trend confirmation.
VP = Volume × Sign(Close - Close[1]) VZO = 100 × EMA(VP, 14) / EMA(Volume, 14)
Period
Default: 14
Range: 5–50
Trading Signals
  • VZO crossing above +40 from below = strong bullish volume trend
  • VZO crossing below -40 from above = strong bearish volume trend
  • Between -5 and +5 = dead zone, no clear volume direction
TVI tracks whether volume is flowing in or out of a security using tick-level or minimum tick analysis.
If Close - Close[1] > MTR: Direction = Up If Close[1] - Close > MTR: Direction = Down TVI = TVI[1] + (Direction × Volume)
Min Tick
Default: 0.5
Range: 0.01–5.0
Trading Signals
  • TVI rising = money flowing into the security
  • TVI falling = money flowing out of the security
Twiggs Money Flow is an improved version of CMF that uses True Range instead of daily range, avoiding issues with gaps.
TMF = EMA(Volume × (2×TRP - TRH - TRL)/(TRH - TRL), 21) / EMA(Volume, 21)
Period
Default: 21
Range: 5–100
Trading Signals
  • TMF crossing above zero = accumulation confirmed
  • TMF crossing below zero = distribution confirmed
  • Superior to CMF because gaps are properly accounted for
VROC measures the percentage change in volume over n periods, highlighting volume surges and contractions.
VROC = ((Volume - Volume[n]) / Volume[n]) × 100
Period
Default: 14
Range: 1–100
Trading Signals
  • Spike above +50% with price breakout = volume-confirmed move
  • Decreasing VROC during rally = weakening conviction, potential top
Money Flow is the raw money flow calculation, Typical Price × Volume, classified as positive or negative based on price direction.
Typical Price = (H + L + C) / 3 MF = TP × Volume Positive if TP > TP[1], Negative otherwise
Trading Signals
  • Raw building block for MFI. Track net money flow for accumulation/distribution analysis
Volume Profile displays volume at each price level as a horizontal histogram, revealing where the most trading occurred.
For each price level: Sum all volume traded at that price POC = Price level with highest volume VAH/VAL = 70% volume range boundaries
POC (Point of Control) · line · key level
Value Area High · line
Value Area Low · line
Trading Signals
  • Price at VAL with bullish candle = institutional support zone buy
  • Price at VAH with bearish rejection = institutional resistance sell
  • POC acts as a magnet. Price tends to return to highest-volume levels
Volume Weighted MACD replaces EMA with VWMA in the MACD calculation, giving volume-confirmed momentum signals.
VMACD = VWMA(Close, 12) - VWMA(Close, 26) Signal = EMA(VMACD, 9) Hist = VMACD - Signal
Fast
Default: 12
Range: 2–50
Slow
Default: 26
Range: 10–200
Signal
Default: 9
Range: 2–50
Trading Signals
  • VMACD crossing above signal line = volume-weighted bullish momentum
  • VMACD crossing below signal line = volume-weighted bearish momentum
The CMF measures money flow volume over a period.
Trading Signals
  • CMF above zero = buying pressure dominant
  • CMF below zero = selling pressure dominant
VWMA weights price by volume. Heavy volume days have more influence on the average.
VWMA = Σ(Close × Volume) / Σ(Volume)
Period
Default: 20
Range: 1–500
Trading Signals
  • Price above VWMA with VWMA above SMA = strong volume-confirmed uptrend
  • Price below VWMA with VWMA below SMA = volume-confirmed downtrend
A/D Line uses volume and the close position within the bar range to detect accumulation or distribution.
CLV = ((Close-Low) - (High-Close)) / (High-Low) A/D = A/D[1] + CLV × Volume
Trading Signals
  • Rising A/D while price rises confirms accumulation (healthy uptrend)
  • Divergence between A/D and price is a powerful early warning signal
Klinger uses high-low-close and volume to predict reversals. Compares short vs long-term volume force.
KVO = EMA(VF, 34) - EMA(VF, 55) Signal = EMA(KVO, 13)
Trading Signals
  • KVO crossing above signal line = bullish volume shift
  • KVO crossing below signal line = bearish volume shift
Volume Oscillator shows the difference between two volume moving averages as a percentage.
VOSC = ((Fast Vol MA - Slow Vol MA) / Slow Vol MA) × 100
Fast
Default: 5
Range: 1–50
Slow
Default: 10
Range: 1–100
Trading Signals
  • Positive values mean short-term volume exceeding long-term average
Force Index combines price change and volume to measure the power behind moves.
FI = (Close - Close[1]) × Volume Smoothed = EMA(FI, 13)
Trading Signals
  • Force Index crossing above zero = bulls gaining power
  • Force Index crossing below zero = bears gaining power
EMV relates price change to volume, showing how easily price moves. High values = price moving on low volume.
DM = (High+Low)/2 - (High[1]+Low[1])/2 BR = Volume / (High-Low) EMV = DM / BR
Trading Signals
  • EMV crossing above zero signals price advancing easily on volume
  • EMV crossing below zero signals distribution pressure
PVT is similar to OBV but uses percentage price change instead of direction, giving proportional volume weighting.
PVT = PVT[1] + Volume × ((Close - Close[1]) / Close[1])
Trading Signals
  • Divergence with price signals potential reversal. More nuanced than OBV
NVI tracks price changes only on days when volume decreases, reflecting "smart money" activity.
If Volume < Volume[1]: NVI = NVI[1] + ((Close-Close[1])/Close[1]) × NVI[1] Else: NVI = NVI[1]
Trading Signals
  • NVI above its 255-day EMA = bull market (96% historical accuracy)
  • Based on the theory that smart money trades on quiet days

Trend Strength

14 Indicators • Separate Pane

The ADX measures trend strength. Above 25 = trending, below 20 = ranging.
Period
Default: 14
Range: 7–30
ADX · trend strength
+DI · bullish
-DI · bearish
Trading Signals
  • +DI crossing above -DI with ADX > 25 = strong bullish
  • -DI crossing above +DI with ADX > 25 = strong bearish
  • ADX below 20 = market is ranging
Aroon Oscillator is the difference between Aroon Up and Aroon Down, simplifying trend analysis to a single line.
Aroon Osc = Aroon Up - Aroon Down
Period
Default: 25
Range: 1–200
Trading Signals
  • Oscillator crossing above zero = uptrend emerging
  • Oscillator crossing below zero = downtrend emerging
  • Values near +100 or -100 indicate very strong trends
ADXR is a smoothed version of ADX, averaging current ADX with the ADX from n periods ago to reduce whipsaws.
ADXR = (ADX + ADX[n]) / 2
Period
Default: 14
Range: 5–50
Trading Signals
  • ADXR above 25 with ADX above ADXR = strengthening trend
  • ADXR below 20 = no reliable trend in either direction
CDI combines multiple trend detection methods (ADX, linear regression slope, Aroon) into a single composite score.
CDI = Weighted average of: ADX, |LR Slope|, |Aroon Osc| normalized to 0-100
Period
Default: 14
Range: 5–50
Trading Signals
  • CDI > 60 = strong trend confirmed by multiple methods
  • CDI < 25 = no trend detected by any method. Avoid trend strategies
The difference between two Ehlers Decyclers with different cutoff periods, isolating a specific frequency band for trend timing.
DECOSC = Decycler(HP1) - Decycler(HP2)
HP1
Default: 60
Range: 20–200
HP2
Default: 125
Range: 50–500
Trading Signals
  • DECOSC crossing above zero = medium-term cycle turning up
  • DECOSC crossing below zero = medium-term cycle turning down
Efficiency Ratio (Kaufman's) measures how efficiently price moves from point A to point B. Used internally by KAMA.
ER = |Close - Close[n]| / Σ|Close[i] - Close[i-1]| Range: 0 to 1
Period
Default: 10
Range: 2–100
Trading Signals
  • ER > 0.6 = very efficient movement (strong trend)
  • ER < 0.2 = very inefficient (choppy/ranging)
  • ER is the core building block for all adaptive moving average strategies
TII measures trend intensity by counting closes above vs below a moving average over n periods.
TII = 100 × (Days Above MA / n) if bullish TII = 100 × (Days Below MA / n) if bearish
MA Period
Default: 30
Range: 5–200
Signal
Default: 60
Range: 5–100
Trading Signals
  • TII above 80 = very strong uptrend intensity
  • TII below 20 = very strong downtrend intensity
  • Between 40-60 = no clear trend, sideways market
ZigZag filters out minor price movements below a threshold, connecting only significant swing highs and lows. Non-predictive but essential for wave analysis.
Connect swing points where reversal > threshold %
Depth
Default: 12
Range: 2–100
Deviation %
Default: 5%
Range: 1–20%
Trading Signals
  • Not a trading signal generator. Use for identifying swing structure and Elliott Wave counts
  • Higher highs + higher lows = uptrend structure. Lower highs + lower lows = downtrend
Williams Alligator uses three offset smoothed moving averages (Jaw, Teeth, Lips) to identify trend direction and sleeping/waking market phases.
Jaw (Blue) = SMMA(13) shifted 8 bars Teeth (Red) = SMMA(8) shifted 5 bars Lips (Green) = SMMA(5) shifted 3 bars
Jaw (13,8) · line · blue
Teeth (8,5) · line · red
Lips (5,3) · line · green
Trading Signals
  • Lines fanning apart upward (Lips > Teeth > Jaw) = Alligator eating (strong uptrend)
  • Lines fanning apart downward (Jaw > Teeth > Lips) = bearish feeding
  • Lines intertwined = Alligator sleeping (no trade zone). Wait for awakening.
Fractals identify potential reversal points where a bar's high/low is the extreme of 5 bars (2 bars each side). Used with Alligator for breakout entries.
Fractal Up: High > High[-2,-1,+1,+2] Fractal Down: Low < Low[-2,-1,+1,+2]
Trading Signals
  • Price breaking above an up-fractal that is above Alligator Teeth = buy
  • Price breaking below a down-fractal that is below Alligator Teeth = sell
  • Fractals between the Alligator lines are ignored. Only trade breakouts outside
R-Squared measures how well a linear regression fits the price data. High R² = trending, Low R² = random/choppy.
R² = 1 - (SSresidual / SStotal) Range: 0 to 1 (0% to 100%)
Period
Default: 14
Range: 5–200
Trading Signals
  • R² > 0.75 = strong trend, use trend-following strategies
  • R² < 0.25 = no reliable trend, use mean-reversion strategies
  • Best combined with linear regression slope for direction + R² for confidence
Vortex Indicator identifies trend direction and reversals using the relationship between recent highs/lows and prior closes.
VM+ = |High - Low[1]| VM- = |Low - High[1]| VI± = Sum(VM±,n) / Sum(TR,n)
Period
Default: 14
Range: 5–100
VI+ · line · width 2
VI- · line · width 2
Trading Signals
  • VI+ crossing above VI- signals bullish trend change
  • VI- crossing above VI+ signals bearish trend change
Parabolic SAR (Stop And Reverse) places trailing dots above or below price, providing both trend direction and stop-loss levels.
SAR = SAR[1] + AF × (EP - SAR[1]) AF starts at 0.02, increments by 0.02, max 0.20
AF Start
Default: 0.02
Range: 0.01–0.10
AF Max
Default: 0.20
Range: 0.10–0.50
Trading Signals
  • Dots flipping from above to below price = new uptrend
  • Dots flipping from below to above price = new downtrend
  • Dot position provides dynamic trailing stop-loss level
Ichimoku Kinko Hyo provides a comprehensive view of support, resistance, trend direction, and momentum. All in one indicator.
Tenkan = (9H+9L)/2 Kijun = (26H+26L)/2 Senkou A = (Tenkan+Kijun)/2 shifted 26 Senkou B = (52H+52L)/2 shifted 26 Chikou = Close shifted -26
Tenkan
Default: 9
Range: 1–100
Kijun
Default: 26
Range: 1–200
Senkou B
Default: 52
Range: 1–300
Tenkan-sen · line
Kijun-sen · line
Senkou A · cloud edge
Senkou B · cloud edge
Chikou · line · lagging
Trading Signals
  • Price above cloud + Tenkan above Kijun = strong bullish signal
  • Price below cloud + Tenkan below Kijun = strong bearish signal
  • Cloud thickness indicates support/resistance strength. Kumo twist = potential reversal

Advanced Moving Averages

15 Indicators • Overlay

Uses Gaussian distribution for weighting, reducing lag while maintaining smoothness.
Adapts speed based on market noise. Fast in trends, slow in consolidation.
Uses multiple EMAs with volume factor for extremely smooth response.
Attempts to eliminate lag by using de-lagged data.
Uses fractal dimension to dynamically adjust smoothing. Fast in trends, slow in noise. John Ehlers' adaptive approach.
α = exp(-4.6 × (D - 1)) FRAMA = α × Price + (1-α) × FRAMA[1]
Period
Default: 16
Range: 4–200
Trading Signals
  • FRAMA slope turning upward signals trend with minimal false signals
  • Automatically adapts speed, no parameter tuning needed for market regime
Chande's adaptive MA that uses CMO as volatility index to adjust smoothing dynamically.
VIDYA = α × |CMO| × Close + (1 - α × |CMO|) × VIDYA[1]
Period
Default: 20
Range: 2–500
CMO Period
Default: 9
Range: 2–100
Trading Signals
  • Responds quickly in trending markets, becomes flat during consolidation
Premium adaptive filter with virtually zero lag and extremely smooth output. Often considered the gold standard of moving averages.
Length
Default: 7
Range: 1–200
Phase
Default: 0
Range: -100–100
Power
Default: 2
Range: 1–5
Trading Signals
  • JMA direction change up = earliest possible trend signal
  • JMA direction change down = earliest reversal detection
Ehlers' MESA (Maximum Entropy Spectral Analysis) uses Hilbert Transform to measure instantaneous cycle period and adapt accordingly.
Uses phase rate of change to set alpha MAMA line + FAMA (Following AMA) signal line
Fast Limit
Default: 0.5
Range: 0.01–0.99
Slow Limit
Default: 0.05
Range: 0.01–0.5
MAMA · line · width 2
FAMA · line · dashed
Trading Signals
  • MAMA crossing above FAMA = bullish cycle shift
  • MAMA crossing below FAMA = bearish cycle shift
Uses sine wave coefficients for weighting, giving maximum weight to the middle of the period. Naturally smooth output.
SWMA = Σ(sin(π×i/n) × Price[i]) / Σ(sin(π×i/n))
Period
Default: 14
Range: 2–500
Trading Signals
  • Extremely smooth. Best for identifying major trend direction on higher timeframes
Double-smoothed SMA that applies SMA to an SMA, producing an extremely smooth line with center-weighted data.
TRIMA = SMA(SMA(Close, ⌈n/2⌉), ⌊n/2⌋+1)
Period
Default: 20
Range: 2–500
Trading Signals
  • Center-weighted smoothing. Best for noise reduction on volatile instruments
Self-adjusting MA that automatically adjusts speed relative to the market, reducing whipsaws and price separation.
MD = MD[1] + (Close - MD[1]) / (k × N × (Close/MD[1])⁴)
Period
Default: 14
Range: 2–200
Trading Signals
  • Price crossing above McGinley Dynamic = trend shift up
  • Sticks closer to price than SMA/EMA. Fewer whipsaw signals
David Varadi's ultra-short-term mean reversion indicator that ranks the average magnitude of consecutive close-to-close returns.
DV2 = PercentRank(SMA((C/C[1]-1), 2), 252)
Lookback
Default: 252
Range: 50–500
Trading Signals
  • DV2 below 0.5 = short-term oversold, mean reversion buy
  • DV2 above 0.5 = short-term overbought
Ehlers' MESA Adaptive Moving Average with Following Adaptive Moving Average. Adapts to the dominant cycle automatically.
MAMA = α × Price + (1-α) × MAMA[1] FAMA = 0.5α × MAMA + (1-0.5α) × FAMA[1]
Fast Limit
Default: 0.5
Range: 0.01–0.99
Slow Limit
Default: 0.05
Range: 0.01–0.5
MAMA · line · width 2
FAMA · line · dashed
Trading Signals
  • MAMA crossing above FAMA = cycle-confirmed trend up
  • MAMA crossing below FAMA = cycle turning bearish
Plots the linear regression best-fit line through price data, showing the statistically expected trend direction and slope.
y = a + bx where b = slope, a = intercept Using least squares method
Period
Default: 14
Range: 2–500
Trading Signals
  • Positive slope = statistically uptrending. Use R² to measure fit confidence.
Uses geometric mean instead of arithmetic mean, better representing multiplicative price processes and percentage returns.
GMA = (P₁ × P₂ × ... × Pₙ)^(1/n)
Period
Default: 20
Range: 2–500
Trading Signals
  • More accurate for financial returns which compound multiplicatively, not additively

Ehlers Digital Signal Processing

13 Indicators • Separate Pane

Converts prices to Gaussian distribution for clearer turning points.
Extracts dominant cycle from price data using DSP techniques.
Removes high-frequency noise while preserving trend.
Measures the dominant cycle period of the market in real-time using Hilbert Transform phase calculations.
Uses Hilbert Transform to compute instantaneous phase Frequency = d(Phase)/dt
Trading Signals
  • Low frequency = long cycle (trending). High frequency = short cycle (choppy)
  • Critical input for adaptive indicators that adjust to market rhythm
Band-pass filter that removes both high-frequency noise and low-frequency trend, isolating the tradeable cycle component.
High-pass filter (removes trend) → Super Smoother (removes noise)
HP Period
Default: 48
Range: 10–200
LP Period
Default: 10
Range: 2–50
Trading Signals
  • Roofing filter crossing above zero = cycle turning bullish
  • Roofing filter crossing below zero = cycle turning bearish
Generates the analytic signal (in-phase and quadrature components) used for measuring instantaneous period and phase.
InPhase = Filt[3] Quadrature = (Filt - Filt[6]) × (4.342 / 6)
Trading Signals
  • Foundation for all Ehlers cycle indicators. Provides phase angle for timing entries
Removes cycle components to reveal the pure trend. Complementary to Roofing Filter which isolates cycles.
Decycler = Price - HighPass(Price, cutoff_period)
HP Period
Default: 60
Range: 10–500
Trading Signals
  • Decycler slope turning positive = pure trend shifting up
  • Decycler slope turning negative = pure trend shifting down
Isolates a specific frequency band from price data. Outputs a nearly perfect sine wave of the dominant cycle.
Second-order IIR bandpass with center frequency and bandwidth parameters
Center Period
Default: 20
Range: 5–100
Bandwidth
Default: 0.3
Range: 0.05–1.0
Trading Signals
  • BandPass crossing zero from below = cycle trough (buy zone)
  • BandPass crossing zero from above = cycle peak (sell zone)
  • Trigger line crossovers provide precise entry timing within the cycle
Ehlers' cycle-tuned Stochastic that applies stochastic calculation to the Super Smoother output for noise-free oscillation.
Apply Stochastic(Roofing Filter output, dominant cycle period)
Trading Signals
  • Ehlers Stochastic below 0.2 = cycle at trough, high-probability buy
  • Ehlers Stochastic above 0.8 = cycle at peak, expect reversal
Ehlers' smoothed RSI applies the Super Smoother filter to the RSI calculation, producing clean signals without standard RSI noise.
ERSI = RSI(Super Smoother(Close, n), m)
Smoother
Default: 10
Range: 2–50
RSI
Default: 14
Range: 2–50
Trading Signals
  • ERSI crossing above 30 after smoothed dip = clean buy signal
  • ERSI crossing below 70 = clean sell with minimal whipsaws
Plots the sine and lead sine of the dominant cycle phase, providing leading indication of cycle turning points.
Sine = sin(Phase) LeadSine = sin(Phase + 45°)
Trading Signals
  • Sine crossing above LeadSine = cycle turning up from trough
  • Sine crossing below LeadSine = cycle turning down from peak
  • LeadSine provides advance warning of turns. One of Ehlers' most powerful tools
Uses the center of gravity of price within a window as an oscillator. Zero lag and responds to turning points instantly.
CG = -Σ(i × Price[i]) / Σ(Price[i]) for i = 0 to n
Period
Default: 10
Range: 2–50
Trading Signals
  • COG turning up from trough = zero-lag bottom detection
  • COG turning down from peak = zero-lag top detection
  • Theoretically zero lag. One of the fastest turning point indicators
RSI that automatically adjusts its period based on the measured dominant cycle length, always staying in tune with current market rhythm.
Period = Measured Dominant Cycle / 2 ARSI = RSI(Close, adaptive_period)
Trading Signals
  • ARSI below 30 with adaptive period = cycle-tuned oversold
  • ARSI above 70 with adaptive period = cycle-tuned overbought
  • Eliminates the biggest flaw of fixed-period RSI. Wrong lookback for current conditions

Advanced Oscillators

20 Indicators • Separate Pane

Combines MACD with Stochastic for faster cycle identification.
Combines four ROC timeframes for smoothed momentum.
Percent change of triple-smoothed EMA.
Long-term momentum indicator originally designed to identify buying opportunities in major indices. Uses weighted sum of two ROC periods.
Coppock = WMA(ROC(14) + ROC(11), 10)
Trading Signals
  • Coppock curve crossing above zero from below = major buy signal
  • Originally designed for monthly charts. Strongest on longer timeframes
Advanced DPO with cycle analysis. Removes the dominant trend to identify underlying cycles and their turning points.
DPO = Close - SMA(Close, n/2+1 periods ago)
Period
Default: 20
Range: 5–200
Trading Signals
  • Peak-to-peak measurement reveals cycle length for timing entries
Alexander Elder's indicator showing bull and bear power as the distance from EMA to high/low.
Bull Power = High - EMA(13) Bear Power = Low - EMA(13)
EMA Period
Default: 13
Range: 2–100
Bull Power · histogram
Bear Power · histogram
Trading Signals
  • Bear Power negative but rising while EMA rising = buy
  • Bull Power positive but falling while EMA falling = sell
Measures price distance from its SMA in ATR units. Values above 3 signal extreme conditions.
PGO = (Close - SMA(Close, n)) / ATR(n)
Period
Default: 14
Range: 5–100
Trading Signals
  • PGO > 3.0 signals extremely overbought. Potential reversal
  • PGO < -3.0 signals extremely oversold. Potential reversal
Refined Stochastic that measures close relative to the midpoint of the high/low range, reducing false signals.
D = Close - (HH + LL)/2 SMI = 100 × EMA(EMA(D)) / (EMA(EMA(HH-LL))/2)
%K Period
Default: 13
Range: 2–100
Smooth
Default: 25
Range: 1–50
Double Smooth
Default: 2
Range: 1–10
Trading Signals
  • SMI crossing above signal line below -40 = oversold buy
  • SMI crossing below signal line above +40 = overbought sell
Compares closing price relative to the trading range, weighted by a 4-period symmetric filter. Based on the principle that closes tend to be higher than opens in uptrends.
RVI = SMA((Close-Open) / (High-Low), 10)
Period
Default: 10
Range: 2–100
RVI · line · width 2
Signal · line · dashed
Trading Signals
  • RVI crossing above signal line = bullish vigor
  • RVI crossing below signal line = bearish vigor
Quantifies candlestick patterns by averaging the difference between close and open prices.
QStick = MA(Close - Open, n)
Period
Default: 8
Range: 2–100
Trading Signals
  • QStick crossing above zero = majority bullish candles
  • QStick crossing below zero = majority bearish candles
Detects when Bollinger Bands contract inside Keltner Channels (the "squeeze"), signaling impending explosive moves.
Squeeze On = BB inside KC Momentum = Linear Regression of (Close - midline(KC+DC))
BB Length
Default: 20
Range: 5–100
BB Mult
Default: 2.0
Range: 0.5–4.0
KC Mult
Default: 1.5
Range: 0.5–4.0
Momentum · histogram
Squeeze dots · dots
Trading Signals
  • Red dots = squeeze ON (low volatility buildup)
  • Squeeze release + green momentum = explosive bullish move
  • Squeeze release + red momentum = explosive bearish move
Bill Williams' Awesome Oscillator measures market momentum using the difference between 5 and 34-period SMAs of the median price.
AO = SMA((H+L)/2, 5) - SMA((H+L)/2, 34)
Rising bars · histogram · green
Falling bars · histogram · red
Trading Signals
  • Saucer pattern (3 bars: red, smaller red, green) above zero = buy
  • Zero-line crossover downward = bearish momentum shift
  • Twin Peaks: divergence pattern with two peaks on same side of zero line
Bill Williams' indicator measuring the acceleration/deceleration of AO, providing even earlier momentum signals.
AC = AO - SMA(AO, 5)
Trading Signals
  • Two consecutive green bars above zero = add to longs
  • Three consecutive green bars below zero = potential reversal buy
  • Two consecutive red bars below zero = add to shorts
Ergodic is William Blau's double-smoothed TSI variant that oscillates between +100 and -100 with a signal line.
Ergodic = 100 × EMA(EMA(Close-Close[1],r),s) / EMA(EMA(|Close-Close[1]|,r),s) Signal = EMA(Ergodic, u)
r
Default: 2
Range: 1–20
s
Default: 10
Range: 2–50
u
Default: 5
Range: 1–20
Trading Signals
  • Ergodic crossing above signal from below = smoothed momentum buy
  • Ergodic crossing below signal from above = momentum sell
TDI quantifies whether price is trending or in a trading range by comparing directional movement to absolute movement.
TDI = Σ(Close-Close[1], n) vs Σ(|Close-Close[1]|, n)
Period
Default: 20
Range: 5–100
Trading Signals
  • TDI positive and above its MA = trending market, use trend strategies
  • TDI negative = ranging market, use oscillator strategies
ASI is a running total of the Swing Index, which uses OHLC to compare consecutive bars' trading ranges for trend confirmation.
SI = 50 × (Close-Close[1] + 0.5×(Close-Open) + 0.25×(Close[1]-Open[1])) / R × (K/T) ASI = Σ(SI)
Trading Signals
  • ASI breaking above prior swing high confirms price breakout
  • ASI breaking below prior swing low confirms price breakdown
  • ASI divergence from price = unconfirmed breakout, likely false
Darvas Box identifies new highs followed by consolidation, drawing a box around the range. Breakout above the box = buy signal.
Box Top = Recent High (confirmed if not exceeded for 3 bars) Box Bottom = Lowest Low since Box Top Buy on break above Box Top
Trading Signals
  • Price breaking above Darvas Box top on volume = breakout buy
  • Price breaking below Darvas Box bottom = stop-loss / exit
  • Nicolas Darvas used this system to turn $25,000 into $2M in the 1950s
Williams' version of A/D that uses True Range High/Low instead of daily High/Low, handling gaps properly.
If C > C[1]: WAD += C - TRL If C < C[1]: WAD += C - TRH If C = C[1]: WAD += 0
Trading Signals
  • WAD rising while price falls = bullish accumulation divergence
  • WAD falling while price rises = bearish distribution divergence
Oscillator based on the difference between recursive (self-referencing) and non-recursive moving averages, highlighting momentum divergence.
RCMA = EMA(Close, n) - SMA(Close, n) Normalized to percentage scale
Period
Default: 14
Range: 2–100
Trading Signals
  • RCMA crossing above zero = EMA pulling ahead of SMA, bullish momentum
  • RCMA crossing below zero = SMA above EMA, momentum fading
VHF by Adam White determines if price is trending or in a trading range by comparing directional movement to total movement.
VHF = (Highest Close - Lowest Close) / Σ|Close - Close[1]|
Period
Default: 28
Range: 5–100
Trading Signals
  • VHF > 0.35 = trending market, use trend-following
  • VHF < 0.25 = ranging market, use mean-reversion
  • VHF direction shows if trend is strengthening or weakening

Market Regime Indicators

12 Indicators • Separate Pane

Determines if market is trending (low) or ranging (high).
Identifies trend reversals based on range expansion.
Classifies market into low, medium, and high volatility regimes using ATR percentile ranking. Essential for strategy switching.
ATR Percentile = Rank(ATR(14), lookback) / lookback × 100 Low < 25th | Medium 25-75th | High > 75th
ATR Period
Default: 14
Range: 5–50
Lookback
Default: 100
Range: 20–500
Trading Signals
  • Low regime = mean reversion strategies. High regime = trend following strategies
  • Regime transitions are the most profitable trading zones
Hurst Exponent measures long-term memory and mean-reversion tendency. H > 0.5 = trending, H < 0.5 = mean-reverting, H ≈ 0.5 = random walk.
H = log(R/S) / log(n) R/S = Rescaled Range analysis
Window
Default: 100
Range: 20–500
Trading Signals
  • H > 0.65 = persistent trending, use momentum strategies
  • H < 0.35 = anti-persistent, use mean-reversion strategies
  • H ≈ 0.5 = random walk, no edge. Reduce position size
Correlation Coefficient measures the linear relationship between two instruments. Range: -1 to +1.
r = Σ((X-X̄)(Y-Ȳ)) / √(Σ(X-X̄)² × Σ(Y-Ȳ)²)
Period
Default: 20
Range: 5–200
Source
Default: SPY
Any symbol
Trading Signals
  • r > +0.8 = strong positive correlation, moves in sync
  • r < -0.8 = strong inverse correlation, hedge pair
  • Correlation breakdown often precedes regime shift
Beta measures systematic risk. How much a stock moves relative to the market. β > 1 = more volatile than market.
β = Covariance(Stock, Market) / Variance(Market)
Period
Default: 60
Range: 20–252
Benchmark
Default: SPY
Any index
Trading Signals
  • β > 1.5 = high beta. Amplifies market moves 1.5×
  • β < 0.5 = defensive stock. Muted market sensitivity
  • β < 0 = inverse relationship with market. Natural hedge
Z-Score measures how many standard deviations price is from its mean. Essential for mean-reversion and pairs trading.
Z = (Price - SMA(n)) / StdDev(n)
Period
Default: 20
Range: 5–200
Trading Signals
  • Z-Score below -2.0 = statistically oversold (>95% likely to revert)
  • Z-Score above +2.0 = statistically overbought (>95% likely to revert)
  • Z > ±3.0 = extreme outlier, 99.7% expected mean reversion
Percentile Rank shows where the current value falls within its historical distribution. Range: 0-100.
PCT = (Count of values ≤ current / n) × 100
Lookback
Default: 100
Range: 10–500
Trading Signals
  • Apply to any indicator: RSI Percentile at 95th = RSI near historic highs
  • Volume at 5th percentile with bullish pattern = hidden accumulation
McClellan Oscillator is a market breadth indicator using the difference between 19-day and 39-day EMAs of advancing minus declining issues.
MCOSC = EMA(A-D, 19) - EMA(A-D, 39)
Trading Signals
  • MCOSC crossing above zero = breadth improving, broad rally
  • MCOSC dropping below -100 = severe breadth deterioration
  • Divergence from price = narrow vs broad market participation
Summation Index is the running total of McClellan Oscillator values, providing a long-term view of market breadth.
MCSUM = Cumulative Sum of MCOSC
Trading Signals
  • MCSUM crossing above zero = long-term breadth turning positive
  • MCSUM diverging from index highs = narrow market, potential top
TRIN (Trading Index / Arms Index) compares the advance-decline ratio to the up-down volume ratio, measuring market buying/selling pressure.
TRIN = (Advancing / Declining) / (Up Volume / Down Volume)
Trading Signals
  • TRIN > 2.0 = extreme selling pressure, potential capitulation bottom
  • TRIN < 0.5 = extreme buying pressure, potential exhaustion top
  • TRIN = 1.0 = neutral. Below 1 = bullish, Above 1 = bearish
NH-NL tracks the number of stocks making 52-week highs minus those making 52-week lows, measuring market breadth health.
NHNL = New 52-week Highs - New 52-week Lows
Trading Signals
  • NHNL > 0 and rising = healthy broad-based advance
  • Index at highs but NHNL declining = dangerous breadth divergence
  • Negative NHNL during rally = only a few stocks driving index (narrow market)

Candlestick Pattern Quick Reference

62+ Patterns • 6 Sections

Hammer. Small body at top, long lower wick (2×+ body)
Inverted Hammer. Small body at bottom, long upper wick
Bullish Marubozu. Large bullish body with no wicks
Dragonfly Doji. Open = Close at top, long lower wick
Hanging Man. Same as hammer but after uptrend = bearish
Shooting Star. Small body at bottom, long upper wick
Bearish Marubozu. Large bearish body with no wicks
Gravestone Doji. Open = Close at bottom, long upper wick
Bullish/Bearish Engulfing. Second bar completely engulfs first
Piercing Line / Dark Cloud. Second bar opens beyond, closes past midpoint
Tweezer Tops/Bottoms. Matching highs or lows
Harami. Small bar inside large bar's body
Morning/Evening Star. Reversal with gap and small middle bar
Three White Soldiers / Black Crows. Three consecutive strong bars
Three Inside/Outside Up/Down. Confirmation patterns
Abandoned Baby. Extremely rare, doji gaps both sides
Bullish Island Reversal. Gap down, consolidation, gap up (rare & powerful)
Concealing Baby Swallow. Four black marubozu bars with specific wick patterns
Ladder Bottom. Three long black candles followed by a short candle and gap up
Stick Sandwich. Two black candles sandwiching a white candle at same close
Unique Three River Bottom: Long black, short body with long lower shadow, small body above
Bearish Island Reversal. Gap up, consolidation, gap down (rare & powerful)
Three-Line Strike (Bearish). Three black candles followed by large white candle that engulfs all three
Advance Block. Three white candles with diminishing bodies and long upper wicks
Deliberation. Two long white candles followed by a spinning top / small body near the high
Identical Three Crows. Three long black candles each opening at prior close
Deploy to 200+ Brokers

Found your indicator? Now deploy it live.

Drag any of these 100+ indicators into your algorithm, backtest against 10+ years of historical data, and deploy to your broker. All free.

No indicators match ""

Verified Users

Traders who built with these indicators

From swing traders to quants. Real strategies deployed using this exact glossary.

"I used to bounce between 5 different sites to look up formulas. Now it's all here with working examples and signals. Built my first profitable MACD strategy the same afternoon."

MR
Marcus R.
Swing Trader · 3yrs AlgoBars

"The Ehlers DSP section alone is worth it. Most platforms skip these. AlgoBars actually explains how to use MAMA/FAMA without needing a PhD."

SK
Sophie K.
Quant Intern · ex-Citadel

"Got bored scrolling TradingView forums. This glossary plus the AlgoBuilder let me ship a live BTC/USD bot in 40 minutes. Still running."

JT
Jay T.
Crypto Trader · Discord Mod

Why not just read Investopedia?

Glossaries explain what indicators are. AlgoBars lets you build with them.

Investopedia
Free · read-only
Good for learning what an indicator is
Definitions & formulas
No live charts
No backtesting
Can't deploy to broker
TradingView
$15/mo · basic
Great for charting, limited automation
100+ indicators charting
Pine Script for power users
Coding required for bots
Third-party to auto-execute

Glossary Questions

Common questions about using this reference. Answered straight.

Yes. Every indicator in this glossary works on the free Starter plan. Pro ($97/mo) adds AI Strategy Assistant, AI Market Scanner, Indicator Matrix, X-Ray Bars, and Strategy Cloning. Higher tiers unlock Monte Carlo, full API access, and lower per-action rates. But the indicators themselves are all free.
Common pairings: Trend + Momentum (EMA + RSI), Volatility + Trend (Bollinger + SuperTrend), Volume + Price (VWAP + EMA). See the Indicator Matrix page for blending multiple signals into a single composite indicator.
No. The formulas are there for reference, but the AI Strategy Assistant and drag-drop builder handle the math. Tell it "RSI crossing above 30 with price above 200 EMA" and it builds the algorithm.
Yes. 200+ brokers and 45+ prop firms are supported. Build your strategy with these indicators, backtest, and one-click deploy. Full list at the brokers page.
Start with MAMA/FAMA for adaptive trend detection or the Fisher Transform for clean reversal signals. Both are in the Ehlers DSP section above with full formulas and use cases.
AlgoBars has a comparable indicator catalog but the key difference is automated execution. TradingView requires Pine Script and a third-party service to auto-trade. AlgoBars deploys directly to your broker with no code. See the comparison above.

Stop reading. Start building.

You've seen every indicator. Now drag them into a working algorithm. And deploy to your broker in minutes. Free forever, no credit card required.

Free forever plan
No credit card
Setup in 2 minutes
250K+ traders