Explore 340 documented indicators with a filterable reference. Filter by category, chart behavior,
input requirements, and benchmark coverage before opening a full indicator page.
Documented
340
Pages with interactive docs, parameters, and implementation notes.
Benchmarked
191
Indicators with CPU or CUDA performance data in the reference.
Indicator Atlas
Find the right indicator faster
Filter by category, display style, data requirements, and benchmark coverage. The atlas keeps the exploration layer lightweight so full charts only load when you open a specific indicator page.
Every documented indicator page includes Rust, Python, WASM, and CUDA binding references. The atlas filters focus on behavior and benchmark coverage, not on whether bindings exist.
MomentumOscillatorHigh + Low
Acceleration Oscillator
acosc
Bill Williams’ Accelerator Oscillator (ACOSC) measures the acceleration of momentum by comparing the Awesome Oscillator (AO) to its 5‑period SMA. It uses fixed periods (SMA5 and SMA34 on median price for AO, then SMA5 of AO) and returns both the oscillator and its bar‑to‑bar change.
The Accumulation/Distribution Line (A/D) is a volume-based indicator designed to measure the cumulative flow of money into and out of a security. It helps traders identify whether a stock is being accumulated (bought) or distributed (sold) by comparing price and volume movements.
The Chaikin Accumulation/Distribution Oscillator (ADOSC) is a momentum indicator that measures the difference between short-term and long-term exponential moving averages of the Accumulation/Distribution Line. It helps identify shifts in market buying and selling pressure by tracking the momentum of money flow.
The Average Directional Index (ADX) measures trend strength using Wilder's smoothed directional movement. It combines +DI and -DI into a single 0–100 value that rises with stronger trends regardless of direction.
ADXR is a smoothed trend-strength oscillator: it averages the current ADX and the ADX from 'period' bars ago. This reduces noise versus ADX while preserving trend-strength information on a 0–100 scale.
The Williams Alligator uses three smoothed moving averages (SMMA) with configurable forward shifts to reveal trend phase. The Jaw (slow), Teeth (medium), and Lips (fast) are computed from price and shifted forward by their offsets.
ALMA is a Gaussian‑weighted moving average that reduces lag while maintaining smoothness. It weights the lookback window with a shifted Gaussian curve controlled by offset (peak position) and sigma (width), producing a responsive yet stable average.
AlphaTrend is a trend-following indicator that builds dynamic support/resistance lines using ATR and a momentum filter (RSI or MFI). When volume is available it uses MFI; otherwise set no_volume=true to use RSI. The line rises in bullish regimes and falls in bearish regimes, acting as an adaptive trailing stop.
The Awesome Oscillator (AO) compares a short SMA against a long SMA of the median price (HL2), highlighting momentum shifts around the zero line. VectorTA uses the original 5/34 defaults and adds streaming, batch sweeps, and Python/WASM bindings.
The Absolute Price Oscillator (APO) is a momentum indicator that measures the difference between two exponential moving averages in absolute price terms. Unlike its percentage-based counterpart (PPO), the APO provides the actual price difference, making it useful for comparing momentum across different time periods of the same security.
The Aroon Indicator measures how recently the highest high and lowest low occurred within a lookback window. It outputs two values—Aroon Up and Aroon Down—scaled from 0 to 100, revealing trend presence, strength, and potential shifts based on the recency of extremes.
The Aroon Oscillator measures the relative recency of highs vs. lows over a rolling window and oscillates between -100 and +100. It highlights trend dominance by comparing how recently the highest high and lowest low occurred within the lookback.
The Average Sentiment Oscillator computes bullish and bearish sentiment by combining intrabar dynamics with group (rolling window) context. It outputs two complementary series, Bulls and Bears, each scaled to 0–100 and summing to 100 after warmup. Defaults: period=10, mode=0 (average of intrabar and group).
The Average True Range (ATR) measures volatility by averaging the true range of consecutive candles. By incorporating gaps and limit moves, ATR delivers a robust signal for risk management, position sizing, and adaptive stop placement across any market or timeframe.
A dynamic, volume-aware stop level that reacts to volume–price confirmation or contradiction. AVSL blends VWMA vs. SMA divergence with a volume ratio and smooths the resulting stop line, adapting distance based on current conditions.
A two-stage Ehlers-style filter that first high-passes price data and then applies a second-order band-pass transform to isolate a target frequency band. Outputs the raw band-pass signal, a normalized variant [-1, 1], a trigger line, and a discrete signal {-1, 0, 1}.
Bollinger Bands measure volatility by wrapping a moving average with adaptive deviation envelopes. John Bollinger designed the indicator so the upper band tracks positive volatility shocks while the lower band reflects downside pressure, giving traders a dynamic gauge of extremes and compression zones.
Bollinger Bands Width (BBW) measures the spread between the upper and lower Bollinger Bands relative to the mid band. VectorTA exposes the classic John Bollinger configuration while allowing custom deviations, moving average types, and batch sweeps across Python and WebAssembly bindings.
The Balance of Power (BOP) measures who controls the market within each bar by comparing the position of the close relative to the open, normalized by the high–low range. Values near +1 indicate closes near the high (buyer control), near −1 indicate closes near the low (seller control), and around 0 indicate balance.
Buff Averages compute two volume-weighted moving averages (fast and slow) of prices. Each average is calculated as a ratio of the sum of price×volume to the sum of volume over the specified window, emphasizing periods with higher trading activity.
The Commodity Channel Index (CCI) measures how far price deviates from its mean by comparing the typical price to its simple moving average and scaling by the mean absolute deviation (MAD). In VectorTA, CCI defaults to period = 14 and uses "hlc3" as the default candle source.
CCI Cycle is a cycle-focused momentum oscillator built from the Commodity Channel Index (CCI). It applies a double-EMA transform to CCI, smooths with SMMA, then performs two stochastic normalizations with EMA-like smoothing controlled by a factor. The result is a normalized 0–100 oscillator designed to highlight cyclical turns.
The Chande Forecast Oscillator (CFO) measures the percentage distance between the current price and a least-squares price projection. By comparing where price is trading now against where a linear regression expects it to be, CFO highlights when momentum is stretching beyond the prevailing trend channel.
The Center of Gravity (CG) oscillator, introduced by John Ehlers, applies a weighted price balance that surfaces turning points with minimal lag. VectorTA keeps the original formulation but layers in SIMD-aware execution, warm-up handling, and shared bindings so you can deploy the same logic across research and production.
A volatility-based trailing stop that combines ATR with rolling highs/lows to produce adaptive exit levels. For longs: Highest High over period minus ATR×mult; for shorts: Lowest Low over period plus ATR×mult. Useful for trend-following exits with volatility-aware distance.
Chandelier Exit is a volatility-based trailing stop that places dynamic long/short stops using a rolling extremum (close by default) offset by ATR×multiplier. It outputs two stop series, masking the inactive side with NaN based on regime.
Choppiness Index (CHOP) measures whether recent price action is trending or ranging. This implementation computes CHOP from high/low/close using a rolling sum of ATR (RMA of True Range) versus the period’s high–low range, then applies a base‑10 log normalization scaled by a factor (default 100). Values near 100 indicate choppy markets; values near 0 indicate strong trends.
Chande Kroll Stop (CKSP) computes dynamic long/short stop levels using ATR and rolling highs/lows. It outputs two lines: a long stop (based on rolling highs minus ATR multiplier) and a short stop (based on rolling lows plus ATR multiplier).
The Chande Momentum Oscillator (CMO) compares recent gains to recent losses over a fixed window and maps momentum to a bounded range of -100 to +100. It uses rolling averages of up and down price changes to quantify directional strength.
The Coppock Curve blends two momentum swings with a smoothed finish to spot long-term lows. VectorTA keeps the classic defaults while exposing SIMD-aware kernels, batch tools, and language bindings so the same buy-signal logic can flow from research notebooks into production services.
CoRa Wave is a compound‑ratio weighted moving average whose weights grow geometrically toward the most‑recent price. It optionally applies a trailing WMA smoothing window of length round(sqrt(period)) to reduce noise while maintaining responsiveness.
Pearson correlation between high and low prices over a rolling period. Outputs a value in [-1, 1] with warmup NaNs until the window is filled; uses running sums for O(1) streaming updates and SIMD-accelerated batch paths.
Computes real, imaginary, angle, and market state from price using phase correlation over a rolling window. The method correlates price with cosine and negative-sine basis functions to estimate cycle phase and classify market state (trending vs cycling).
Defaults:period=20, threshold=9
2 params-2 to 2Outputs: real, imag +2 moreCUDA faster
Measures the percentage change in the trading range (high − low) by comparing an EMA of the range to its value lagged by the same period. Positive values indicate expanding volatility; negative values indicate contracting volatility.
CWMA applies a cubic weighting profile to emphasize recent values more than older ones, producing a smooth yet responsive moving average. It increases recency emphasis compared to linear or square weighting while maintaining stability.
Dual-volatility regime filter combining ATR and standard deviation across short (viscosity) and long (sedation) windows. Outputs a trend-strength line (vol) and an anti-trend threshold (anti) to distinguish trending vs. ranging conditions.
The Decycler Oscillator removes cyclical components via cascaded two‑pole high‑pass filters, then scales the result as a percentage of price. It highlights long‑term trend strength while suppressing short‑term noise.
A noise-reduction filter based on John Ehlers’s high-pass filter concept. It removes high-frequency components from the input and returns a “decycled” series (trend component) with a short warmup.
Double Exponential Moving Average (DEMA) reduces lag by combining two EMAs: it first computes an EMA of the prices, then an EMA of that EMA, and outputs 2×EMA1 − EMA2. This yields a smoother yet more responsive moving average for trend detection.
Computes rolling dispersion using one of: Standard Deviation (σ), Mean Absolute Deviation (MAD), or Median Absolute Deviation (MedAD). Choose `devtype` to trade off sensitivity vs. robustness: 0=StdDev, 1=MAD, 2=MedAD, 3=StdDev-like.
Deviation Stop is a volatility‑adaptive trailing stop that combines a smoothed two‑bar range with a deviation measure. It builds a base offset from price using an average range and a deviation multiplier, then applies a rolling extremum (max for longs, min for shorts) to create a one‑way, ratcheting stop line.
Directional Indicator computes Wilder’s +DI and -DI — smoothed directional movement normalized by true range — to quantify which side (up or down) dominates. Outputs are two lines on a 0–100 scale.
Directional Movement measures the dominant upward (+DM) and downward (−DM) price moves between consecutive bars using Wilder’s rules and smoothing. It is the raw foundation for +DI/−DI and ADX.
A hybrid moving average that blends a Hull-style smoother with an adaptive, gain-optimized EMA. DMA selects an optimal EMA gain (quantized 0.1 steps up to a limit) by minimizing one‑step error, then averages that adaptive EMA with a Hull smoother for fast yet stable trend tracking.
Donchian Channel computes the highest high (upper band) and lowest low (lower band) over a rolling window, with the middle band as their average. It operates on high/low series and returns band values with NaN warmup until enough valid data is available.
The Detrended Price Oscillator (DPO) removes trend to highlight cycles by subtracting a centered moving average from a shifted price. It reveals cyclical patterns by eliminating the underlying trend component.
Dynamic Trend Index (DTI) is a momentum oscillator that measures the net directional movement between highs and lows, then applies triple EMA smoothing to both the signed and absolute movement. The ratio is scaled to ±100, producing a bounded trend-strength signal.
DVDIQQE combines a volume-divergence oscillator (DVDI) derived from Positive/Negative Volume Index behavior with QQE-style trailing levels and a selectable center line. It outputs four series: dvdi (oscillator), fast/slow trailing levels, and a dynamic or static center line.
DX measures directional trend strength by comparing smoothed +DI and -DI using Welles Wilder's method. It outputs a 0–100 series with NaN warmup until enough data accrues.
John Ehlers’ Distance Coefficient Filter (EDCF) is a non-linear, volatility‑sensitive smoother. It computes squared distances between recent samples to form weights, then applies a weighted average. Larger recent price changes contribute higher weight, helping reduce noise in range‑bound markets while responding faster in trending conditions.
Elder's Force Index (EFI) measures the power behind price moves by combining price change and volume, then smoothing the result with an EMA. It highlights buying vs. selling pressure and momentum thrusts around the zero line.
An adaptive EMA that error-corrects each bar by selecting a bounded gain that minimizes the residual between price and the filtered value. It preserves EMA smoothness while increasing responsiveness by optimally adjusting the per-bar gain within a configured limit.
Adaptive trendline using Ehlers’ DSP methods. The filter estimates the dominant cycle period from Hilbert-phase relationships and adapts smoothing dynamically to produce a minimal‑lag price trend.
Ehlers KAMA is a variation of Kaufman’s Adaptive Moving Average that uses John Ehlers’ smoothing constants to adapt between trending and ranging markets. It adjusts the smoothing factor via the Efficiency Ratio (ER), becoming more responsive during trends and smoother in choppy markets.
John Ehlers’ Predictive Moving Average uses fixed-weight WMAs to create a leading (predict) line and a smoothed trigger line. It applies a 7‑period WMA twice (WMA of WMA), then extrapolates (2×WMA1 − WMA2) and smooths that prediction with a 4‑period WMA to form the trigger.
EHMA is a moving average introduced by John Ehlers that applies a cosine-based Hann window to recent prices, producing a smooth line with reduced lag compared to uniform-weighted averages.
The Exponential Moving Average (EMA) applies exponentially decreasing weights to older observations, making it more responsive to recent price changes than the Simple Moving Average. This implementation uses a running mean during warmup, then transitions to the standard EMA recursion.
Empirical Mode Decomposition (EMD) applies an Ehlers-style band‑pass filter to the mid‑price (high/low), then derives adaptive upper, middle, and lower bands from local peaks/valleys of the filtered signal. Bands use fixed and period‑scaled moving averages with defaults period=20, delta=0.5, fraction=0.1.
Ease of Movement (EMV) measures how easily price moves given volume by relating the change in price midpoint to volume normalized by the bar's range. It oscillates around zero: positive values indicate upward movement occurring with relative ease, while negative values indicate downside movement with ease.
EPMA is a polynomial‑weighted moving average with adjustable period and offset. It computes a weighted mean over the last (period−1) values using a linear weight ramp shifted by the offset, then normalizes by the sum of weights. This implementation supports builder, streaming, batch, Python, and WASM bindings.
The Kaufman Efficiency Ratio (ER) measures how efficiently price moves from point A to point B by comparing net price change to total absolute movement over a window. Outputs range from 0.0 (choppy/noisy) to 1.0 (straight, efficient trend).
Measures bullish and bearish pressure relative to a moving-average baseline. ERI outputs two series: Bull Power = high − MA and Bear Power = low − MA. Defaults use a 13‑period EMA.
The Fisher Transform normalizes price extremes using the HL2 midpoint and a Fisher function to highlight potential turning points. It converts prices toward a Gaussian-like scale, producing a main Fisher line and a lagged signal line (previous Fisher value).
Forecast Oscillator (FOSC) measures the percentage difference between the current price and a one-step-ahead linear regression forecast over a rolling window. Positive values indicate price above its forecast; negative values indicate below.
FRAMA adapts its smoothing based on the fractal dimension of recent price action using high/low/close data. The window is evenized internally; an initial seed is set via SMA before adaptive updates begin.
FVG Trailing Stop detects bullish/bearish Fair Value Gaps (FVGs) and derives adaptive channel boundaries that act as dynamic trailing stops. It smooths recent unmitigated FVG levels with a fixed‑window SMA and advances a trailing stop while the regime remains active (optionally resetting on cross).
Fibonacci Weighted Moving Average (FWMA) applies Fibonacci numbers as weights over a sliding window and normalizes their sum to 1.0. This slightly emphasizes more recent prices while maintaining smoothness, producing a bounded, responsive average.
The Gator Oscillator from Bill Williams measures the divergence between the Alligator’s three EMA-based balance lines. It outputs two lines — upper = |Jaws − Teeth| and lower = −|Teeth − Lips| — plus 1-bar changes for each, useful to detect expansion/contracting phases.
A cascaded one‑pole IIR smoother that approximates a Gaussian response. Parameters control window length and number of poles (stages). Useful for low‑lag smoothing with configurable smoothness.
HalfTrend is a trend-following overlay that detects direction changes using rolling price extremes and ATR-based channels. It forms a step-like line that switches between recent lows (uptrends) and recent highs (downtrends), with volatility-adjusted bands and explicit buy/sell flip markers.
A one-pole digital high‑pass filter that removes low‑frequency trends and passes higher‑frequency price fluctuations. Useful for cycle analysis and detrending. Default period = 48.
Two‑pole high‑pass filter that removes lower‑frequency (trend) components using a tunable cutoff factor k. Defaults: period=48, k=0.707. Supports streaming and batch.
The Hull Moving Average (HMA) reduces lag while keeping a smooth curve by combining weighted moving averages (WMAs) of different lengths and then applying a final WMA with window √period. It responds quickly to trend changes while minimizing noise.
Triple‑smoothed adaptive moving average using exponential smoothing for level, trend, and acceleration components. Parameters (na, nb, nc) control responsiveness for each component; values must be in (0, 1).
Inverse Fisher Transform applied to RSI (Wilder SMMA), smoothed with a WMA and mapped through tanh to produce a bounded oscillator in [-1, 1]. Useful for crisp overbought/oversold signals and momentum shifts.
JMA is a minimal‑lag adaptive moving average (Mark Jurik) that responds quickly to genuine moves while remaining smooth. Parameters control window length (period), phase shift (lead/lag), and smoothing responsiveness (power).
The JSA Moving Average (JSA) is a simple price-based moving average introduced by George R. Arrington, Ph.D. Each value is the average of the current price and the price from `period` bars ago, and the line is often used as a loose trailing stop and dynamic support/resistance level.
Kaufman Adaptive Moving Average (KAMA) adapts its smoothing based on market efficiency (trend vs noise). It stays smooth during choppy periods and responds faster during strong trends by mapping an efficiency ratio to a variable smoothing constant.
Adaptive stop line computed from an average of the high–low range. Places a trailing stop below price for long direction or above price for short direction. Defaults in VectorTA (web UI): period=22, mult=2.0, direction="long", ma_type="kama".
KDJ extends the Stochastic Oscillator with an extra J line (J = 3K − 2D) that emphasizes momentum extremes. VectorTA computes fast %K over highs/lows, smooths K and D via selectable moving averages, and derives J as an amplified signal.
Volatility-based envelopes built from a moving average and ATR. The middle band is a moving average of the chosen source; the upper/lower bands offset that average by a multiple of ATR. Useful for trend filters, squeezes, and breakout detection.
KST is a momentum oscillator formed from four smoothed rate‑of‑change (ROC) components with ascending weights and an SMA signal line. It captures multi‑timeframe momentum and produces a line plus signal output.
Kurtosis measures the “tailedness” of a distribution over a sliding window. This implementation returns excess kurtosis (m4/m2² − 3) using uncorrected central moments. Higher values indicate heavier tails/outliers; negative values indicate platykurtic (flatter) behavior.
The Klinger Volume Oscillator (KVO) measures long-term money flow trends by transforming OHLCV data into a Volume Force (VF) series, then applying two EMAs (short and long) to VF and taking their difference. It uses High, Low, Close and Volume with a trend-sensitive CM component to sign volume.
Computes the angle (in degrees) of the best-fit linear regression line over a rolling window. The angle translates slope into degrees, helping assess trend direction and strength on an intuitive -90° to +90° scale. Default period is 14.
Calculates the y-value of the ordinary least squares (OLS) regression line at the last bar of each rolling window. This is equivalent to the line’s intercept when the last bar is used as the reference point—providing a regression-smoothed baseline that tracks the current trend.
Computes the slope (coefficient b) of the linear regression line over a moving window. The slope quantifies the rate of change of the local linear trend.
Fits a straight line (y = a + b·x) to recent data over a rolling window and forecasts the next value. LINREG provides a statistically grounded, responsive estimate of where price is expected to be based on the last N observations.
Low Pass Channel (LPC) smooths price while minimizing lag using a single‑pole IIR low‑pass filter, with channel bands derived from a filtered True Range. Supports fixed cutoff or adaptive cutoff based on a detected dominant cycle.
Laguerre RSI is a momentum oscillator computed from a 4-stage Laguerre filter of mid-price ((high+low)/2). It outputs a bounded value in [0, 1] representing the ratio of "up" movement to total movement across Laguerre stages. VectorTA uses a single smoothing parameter `alpha` (default 0.2).
A single entry-point that dispatches to many moving average implementations (e.g., SMA, EMA, WMA, HMA, KAMA, JMA, ALMA). It selects the requested MA by string id (ma_type) and applies it over either a price slice or candle data with a chosen period. Streaming updates and explicit kernel selection are supported.
An adaptive moving average that adjusts its smoothing based on the ratio of trend signal to short-term noise. This implementation computes a variable EMA-like smoothing constant from a windowed efficiency ratio, blending fast and slow responses and matching ALMA warmup parity.
Moving Average Bands (MAB) generate upper, middle, and lower bands using two moving averages and the variability of their difference. The middle band is the fast moving average, while the upper and lower bands offset the slow moving average by a deviation multiple of the fast/slow MA difference over the fast window.
MACD is a trend-following momentum indicator that compares a fast and a slow moving average, then smooths their difference with a signal line. This implementation computes the MACD line, signal line, and histogram with EMA-optimized paths and support for alternate MA types.
MAC-Z combines Z-score of VWAP (ZVWAP) with a volatility‑normalized MACD to form a momentum oscillator, with an optional Laguerre filter and a signal line. The output is the histogram (MACZ − signal).
John Ehlers’ MESA Adaptive Moving Average adapts its smoothing factor using phase information from a Hilbert transform, producing a responsive primary line (MAMA) and a slower companion line (FAMA).
Market Facilitation Index measures price range efficiency relative to trading volume. It is computed directly from high, low, and volume without adjustable parameters.
The Mass Index measures range expansion by summing the ratio of two EMA(9) filters of the high–low range over a chosen window. This implementation follows the Tulip reference approach and uses a default summation period of 5.
Mean Absolute Deviation (MAD) computes the average absolute distance of prices from a rolling mean over a fixed window. It provides a robust, scale-preserving measure of dispersion that’s less sensitive to outliers than standard deviation.
A robust dispersion measure: for each window, take the median of |x − median(x)| over the specified period. Useful for outlier‑resistant volatility estimation.
MEDPRICE computes the midpoint of each bar's high and low: (high + low) / 2. It provides a simple, noise‑resistant price proxy that responds immediately to range changes.
The Money Flow Index (MFI) is a momentum oscillator that measures volume‑weighted money flow using typical price and volume. It outputs values on a 0–100 scale and defaults to period=14, classifying each bar’s money flow as positive or negative based on price change.
MIDPOINT computes the midpoint between the highest and lowest values over a lookback window: (max + min) / 2. It acts as a dynamic equilibrium line for a single input series.
The Midprice indicator tracks the central tendency of price by taking the midpoint of recent highs and lows over a user‑defined lookback. It provides a smoothed equilibrium line that can act as a dynamic reference level for trend context.
Detects local minima and maxima over a configurable neighborhood (order). Returns four series: pointwise minima (low) and maxima (high) when strict local extrema occur, plus forward-filled last-min and last-max levels.
A composite momentum oscillator that averages multiple components (TCI, RSI/MFI, CSI/CSI_MG, Willy, CBCI, Laguerre RSI) depending on mode. Outputs three series: wavetrend (composite), signal (SMA of 6), and histogram (EMA of the diff). Defaults favor TraditionMG mode with volume-enabled MF.
Momentum (MOM) measures the absolute price change over a lookback period: the current value minus the value from \nperiod bars ago. It outputs price-difference values and is centered around zero (positive = upward momentum, negative = downward momentum).
Mesa Sine Wave computes two oscillators — a sine wave and a lead (phase‑advanced) wave — by projecting price onto rolling sine/cosine bases. It highlights cyclic turning points via phase while staying bounded in [−1, 1].
MWDX is an exponential smoothing filter that blends the current value with the previous output using a user-specified smoothing factor (alpha). It seeds from the first finite input and supports efficient streaming and batch sweeps. In practice, alpha works best in a compact range between 0.01 and 0.99, where smaller values produce smoother curves and larger values react more quickly without destabilizing the series.
A non-parametric regression envelope using Gaussian kernel weights to estimate the price trend and form upper/lower bands from the mean absolute error (MAE). Uses an endpoint method (non‑repainting) with a fixed lookback and a 499‑sample MAE window.
A dynamic moving average that adapts to market conditions by comparing price range to movement effort (True Range). Developed by Franklin Moormann, NAMA adjusts its smoothing via an adaptive coefficient derived from window range over accumulated TR.
NATR normalizes the Average True Range by the closing price and expresses it as a percentage. This makes volatility comparable across assets with different price levels while preserving ATR’s gap-aware measurement of true range.
NET MyRSI combines John Ehlers' MyRSI with a Noise Elimination Technique (NET) that ranks pairwise changes in recent MyRSI values. The result is a smooth, bounded momentum oscillator in [-1, 1] that emphasizes persistent directional changes while suppressing noise.
An adaptive moving average that operates in log-space: it computes a ratio from absolute log-differences over a window using square-root weights, then linearly interpolates between the two oldest points in the window. Default period is 40.
Negative Volume Index (NVI) updates only on bars where volume decreases from the previous bar, accumulating price changes during lower-volume sessions. The series is seeded at 1000.0 at the first valid bar; indices before that are NaN.
On Balance Volume (OBV) is a cumulative volume indicator that adds volume on up moves and subtracts volume on down moves. OBV tracks whether buying or selling pressure dominates; the absolute level is not meaningful, but the direction, slope, and divergences with price are.
OTT is a trend-following indicator that builds dynamic stop levels from a moving average and emits an optimized tracking series. It supports multiple MA types (default: VAR) and produces NaNs during MA warmup.
OTTO combines VIDYA (Variable Index Dynamic Average) with OTT (Optimized Trend Tracker) to form dynamic trend-following bands. It outputs two series: HOTT (optimized tracking band) and LOTT (base ratio), adapting to price momentum via a CMO(9)-driven variable alpha.
Experimental pattern engine that aims to compute multiple candlestick and price-action patterns in a single pass over OHLC data, similar to the 20+ pattern-recognition functions in TA-Lib. This page documents the design goals and current status of the work-in-progress implementation in VectorTA.
Percentile Nearest Rank (PNR) computes the value at a specified percentile within a rolling window. For each index, it sorts the recent window, ignores NaNs, and returns the nearest-rank element corresponding to the requested percentile.
Polarized Fractal Efficiency (PFE) measures how efficiently price moves over a lookback window and applies EMA smoothing. It reports signed values: positive for upward efficiency and negative for downward, typically ranging between -100 and +100.
Ehlers’ Predictive Moving Average computes a predictive line using two cascaded 7-point weighted moving averages and a trigger line. It is designed to be responsive while maintaining smoothness, producing a prediction (2×WMA1 − WMA2) and a short weighted trigger of the prediction.
The Percentage Price Oscillator expresses the difference between two moving averages as a percentage of the slower average. VectorTA’s PPO supports multiple MA types (e.g., SMA/EMA) with library defaults of fast=12, slow=26, and ma_type="sma". This percent-normalized oscillator is ideal for cross-asset momentum comparisons.
Fits a polynomial regression to a rolling window (optionally pre-smoothed by a 2‑pole Super Smoother Filter) and returns the regression line with upper/lower bands at \u00B1 n standard deviations. Useful as a dynamic trend baseline with volatility-aware envelopes.
The Positive Volume Index (PVI) accumulates price changes only when volume increases. It starts at an initial value and updates multiplicatively when the current volume exceeds the previous volume; otherwise it holds the prior value.
A weighted moving average that uses Pascal/binomial coefficients as normalized weights. The distribution emphasizes the middle of the window (bell-curve-like), producing a smooth filter with symmetric weighting rather than a strong recent-price bias.
QQE is a momentum indicator that smooths RSI with an EMA and derives adaptive bands from the EMA of RSI changes. It returns two series: a fast line (smoothed RSI) and a slow trailing line (band-following).
Qstick measures the average difference between Close and Open over a lookback window. Positive values indicate closes tend to exceed opens (bullish bias); negative values indicate the opposite.
The Range Filter is a volatility-based price filter inspired by QQE's volatility logic, applied directly to price rather than a smoothed oscillator. It suppresses minor price fluctuations by clamping the previous filter value within a dynamic band sized by the EMA of absolute price change, optionally smoothed, and outputs the filtered price with upper/lower bands.
Reflex is an Ehlers-style, variance-normalized oscillator that highlights turning points by comparing a two-pole SuperSmoother of price to a projected slope over a period. It produces a zero-centered, dimensionless series that typically spikes near cycle inflections while remaining stable during trend continuation.
Reverse RSI computes the price level that would result in a chosen RSI value, based on Wilder-equivalent EMAs of gains and losses. It answers: “What price would give RSI = L?” and is useful for projecting support/resistance targets or anticipating threshold crosses (e.g., 30/70).
Measures the percentage change between the current value and the value n periods ago. Includes builder, streaming, and batch APIs with input validation and auto kernel selection.
ROCP computes fractional momentum as (current − previous_n) / previous_n over a lookback window. This library returns the fractional change (e.g., 0.05 = 5%), centered around zero, with a NaN warmup until enough data is available.
ROCR measures momentum as a ratio of the current value to the value n periods ago, centered at 1.0: >1 indicates gains, <1 indicates losses. VectorTA’s Rust implementation emits 0.0 when the past value is 0 or NaN and uses a default period of 10.
Momentum oscillator (0–100) measuring the balance of recent gains vs. losses using Wilder-style smoothing. Useful for spotting trend strength, momentum shifts, and potential overbought/oversold conditions.
RSMK compares a main series to a benchmark by taking the log-ratio, applying a momentum transform over a lookback, then smoothing with moving averages to produce both an indicator and a signal line. Defaults in this library: lookback=90, period=3, signal_period=20, matype="ema".
RSX is a smoothed momentum oscillator similar to RSI that reduces noise and lag using a multi‑stage IIR smoothing chain. Outputs range from 0–100 with a neutral 50 baseline.
Measures direction of volatility by splitting a rolling deviation (StdDev/MeanAbsDev/MedianAbsDev) into up/down components and smoothing them with SMA/EMA. Outputs an oscillator in [0, 100] indicating whether volatility expands more on up or down moves.
SafeZone Stop is a volatility-aware trailing stop that uses Wilder-style directional movement in the chosen direction (long/short). It smooths raw directional movement over a window, anchors to the prior bar’s low/high, and then applies a rolling extremum to produce a one-way, ratcheting stop.
Slope Adaptive Moving Average (SAMA) is an adaptive moving average that adjusts its smoothing factor using recent price range. It derives a dynamic alpha from the position of price within the rolling high/low window, blending between a slower (major) and faster (minor) EMA response.
Trend-following stop-and-reverse indicator that produces a sequence of accelerating points relative to price highs and lows. Outputs SAR values aligned to input length, with NaN warmup before the first computed point.
A sine-window weighted moving average. Weights follow sin((k)·π/(n+1)) and are normalized to sum to 1, creating a symmetric, bell-shaped weighting centered in the window. This reduces edge effects while maintaining responsiveness.
The Simple Moving Average (SMA) computes the arithmetic mean of the last N values, smoothing price to reveal trend direction. This implementation supports SIMD kernels, streaming updates, and batch sweeps.
SMMA applies a recursive smoothing where the first value is the mean of the first period points and subsequent values blend the prior SMMA with the new price. It produces a smooth moving average well‑suited for trend filtering.
Detects volatility squeeze conditions (Bollinger Bands vs. Keltner Channels) and computes a momentum histogram with directional acceleration signals. Useful for identifying breakout timing and direction.
SQWMA is a weighted moving average that applies squared weights to recent data points. For a given period, it uses (period − 1) points with weights from period² down to 2², putting much more emphasis on the most recent values while still smoothing older data.
Stochastic RSI applies the stochastic oscillator to RSI values rather than price. It produces fast, bounded (0–100) K/D oscillators that reflect where the current RSI sits within its recent range, with classic defaults (14, 14, 3, 3).
SRWMA applies weights proportional to the square root of recency, emphasizing newer samples while preserving contribution from older ones. VectorTA computes a normalized dot product of square‑root weights over a lookback window (default 14), producing a smoother yet responsive moving average.
Schaff Trend Cycle (STC) applies MACD followed by double stochastic steps, each smoothed by an EMA. It produces a fast, bounded 0–100 oscillator that reacts quicker than MACD while retaining trend-awareness.
Rolling standard deviation over a window, scaled by nbdev. This implementation uses population variance (divide by n), includes streaming O(1) updates, and supports SIMD‑aware kernels and batch parameter sweeps.
The Stochastic Oscillator compares the close to the recent high–low range and outputs two lines: %K and %D. %K is the normalized position of the close within the highest-high/lowest-low window; %D is a moving average of %K. VectorTA supports configurable smoothing (SMA/EMA and others), with defaults of fastk=14, slowk=3 (SMA), slowd=3 (SMA).
Fast stochastic oscillator: computes %K from the recent high–low range and %D as a moving average of %K with minimal smoothing. Outputs are bounded in [0, 100].
A two‑pole smoothing filter by John Ehlers that reduces high‑frequency noise while preserving trend information. Implemented as a recursive IIR filter with coefficients derived from the period.
Three‑pole smoothing filter by John Ehlers that provides strong noise suppression while remaining responsive to trend changes. Implements a recursive IIR filter with coefficients derived from the period parameter; the first three outputs after the first finite input pass through the input values.
SuperTrend is a trend-following overlay that builds adaptive upper/lower bands from ATR around the mid-price (HL2). The active band becomes the trend line and flips when price crosses it, producing a clean, volatility-aware support/resistance trail and change signals.
A triangular weighted moving average that applies symmetric weights to past values. More weight is given to observations near the center of the window, balancing smoothness and responsiveness.
TEMA applies three exponential moving averages in succession to reduce lag and noise. It’s computed as 3·EMA1 − 3·EMA2 + EMA3 (all with the same period), producing a smooth yet responsive curve.
Tilson T3 is a moving average built from a cascade of six EMAs combined with coefficients derived from a volume factor. It aims to reduce lag while preserving smoothness. This implementation includes builder, streaming, batch, Python, and WASM bindings.
True Range Adjusted EMA dynamically scales its EMA smoothing factor using normalized True Range over the lookback window. When volatility rises, the effective alpha increases, making the average more responsive; when volatility falls, alpha contracts to reduce noise.
Highlights momentum shifts using a super smoother and volatility measurement. Adapts to market volatility by normalizing changes in the smoothed series.
TRIMA is a two-pass simple moving average that smooths price by averaging an SMA with another SMA, producing a smoother curve than a single SMA while remaining computationally efficient.
TRIX applies a triple exponential moving average to log prices and outputs the rate of change as a zero‑centered oscillator. The triple smoothing filters noise while preserving momentum shifts; VectorTA returns (EMA3_t − EMA3_{t−1}) × 10000.
Time Series Forecast (TSF) fits a linear regression over a rolling window and projects the next value. It provides a smoothed, forward-looking estimate of price direction using the most recent trend.
True Strength Index (TSI) is a momentum oscillator that applies double exponential smoothing to price momentum and its absolute value, producing a normalized trend-strength measure bounded to approximately [-100, 100].
TTM Squeeze combines Bollinger Bands and Keltner Channels to detect volatility compression ("squeeze") states and pairs it with a momentum oscillator. This implementation supports multi‑level squeeze detection (Low/Mid/High) and outputs both momentum and a squeeze state series.
TTM Trend is a boolean trend indicator that compares each close value to a rolling average of a chosen source (e.g., hl2) over a fixed period. It returns true when close > average, otherwise false. Defaults: period=5; when using candles, the default source is "hl2".
The Ulcer Index (UI) measures downside risk by quantifying percentage drawdowns from recent highs. It is computed as the square root of the average of squared percentage drawdowns from the rolling maximum over a window, emphasizing the magnitude and persistence of declines.
The Ultimate Oscillator combines buying pressure across three timeframes using weighted averages (4:2:1) to produce a single momentum oscillator in the 0–100 range. It uses high, low, and close inputs and begins output after the largest window warms up.
An adaptive moving average that dynamically adjusts its effective length between user-defined bounds using volatility bands and a momentum gate. UMA expands to smooth noise when price is near the mean and contracts to react quickly when price pushes into extreme bands; it then applies a power-weighted average biased by a momentum signal (MFI with volume, else RSI).
Computes the rolling variance over a specified window, with an optional standard deviation factor (nbdev) that scales the output as variance × nbdev². Supports slice and candles inputs, builder, streaming, batch, Python, and WASM bindings.
The Vortex Indicator computes two lines (VI+ and VI-) from high/low/close data using rolling sums of vortex movement over true range. It measures directional movement over a window (default 14), emitting VI+ for upward movement and VI- for downward movement.
VIDYA is an adaptive moving average whose smoothing factor varies with volatility. It scales a base alpha by the ratio of short- to long-term standard deviation and updates EMA‑style, becoming more responsive in volatile regimes and steadier in calm markets.
VLMA is an adaptive moving average that dynamically adjusts its effective period based on how far price is from a reference moving average. It speeds up (shorter period) when price moves far from the mean and slows down (longer period) when price hovers near the mean, reducing whipsaws in consolidations.
VAMA is a moving average that adapts to market volatility. It builds on an EMA base and adjusts it using the rolling maximum and minimum deviations from that EMA over a volatility window, with an optional final smoothing stage (SMA/EMA/WMA).
A volume-weighted moving average that dynamically adjusts its effective lookback based on volume. The window expands or contracts using volume increments relative to average volume, allowing the MA to respond faster in high-volume regimes and smoother in quiet periods.
The Volume Oscillator (VOSC) measures the percentage difference between short‑term and long‑term volume moving averages. It highlights volume expansions and contractions to confirm price moves and spot divergences.
John F. Ehlers’ VOSS is a predictive IIR filter. It computes a two‑pole filter (filt) and a predictive line (voss) formed by subtracting a weighted sum of recent voss values from a scaled filt. This produces a leading signal with a defined warmup.
VPCI confirms price moves using volume-weighted moving averages (VWMAs), comparing price and volume trends to detect confluence/divergence. Outputs both VPCI and a short-term, volume‑weighted smoothing (VPCIS).
The Volume Price Trend (VPT) accumulates volume‑weighted price changes over time. It adds volume × percentage price change each period, producing a cumulative line that tracks whether volume supports price moves. This implementation uses the standard cumulative definition.
VPWMA is a moving average that emphasizes more recent data points using a power weight schedule. Each past sample is weighted by (period - k)^power (k = recency offset), then normalized. Increasing power makes the average more reactive to recent prices.
VWAP computes the average price weighted by traded volume over anchor-based periods (e.g., minutes, hours, days, or months). This implementation groups by an anchor like "1m", "4h", "1d", or "1M" and returns one value per input point within each anchor group.
VWMA is a moving average that weights each price by its corresponding volume over a lookback window. It emphasizes price changes backed by higher trading activity and outputs NaN during warmup until enough valid price-volume pairs are available.
VWMACD is a MACD variant that uses volume‑weighted moving averages (VWMAs) for the fast and slow legs, then applies a moving average to the MACD line for the signal. Defaults in this library: fast=12 (VWMA with SMA), slow=26 (VWMA with SMA), signal=9 (EMA). The histogram is MACD − signal.
Williams Accumulation/Distribution (WAD) is a cumulative, price-based indicator that measures buying and selling pressure from the relationship between the current close, the previous close, and the high-low range. It uses only prices (no volume).
WaveTrend is a momentum oscillator that transforms price using layered moving averages and a normalization factor to produce two smooth, wave-like lines. VectorTA’s implementation outputs the primary line (WT1), a smoothed signal (WT2), and their difference.
Weighted Close Price computes a single price series that emphasizes the market close by weighting it twice relative to the high and low. This produces a smoothed price proxy that still reflects the full intra‑bar range.
Wilder's Moving Average is the smoothing method introduced by J. Welles Wilder. It initializes with a simple average over the first N values, then updates with an EMA-like recurrence using α = 1/N. It is widely used inside indicators like RSI and ATR, providing a smooth, low‑noise trend baseline.
Williams' %R is a momentum oscillator that shows the relationship between the current close and the high–low range over a lookback period. It returns values in the range [-100, 0], commonly used to identify overbought/oversold conditions.
WMA applies linearly increasing weights to recent values over a fixed window. The most recent bar has weight N, the oldest weight 1, making WMA more responsive than SMA while remaining smoother than simple differencing.
WaveTrend is a momentum oscillator that transforms price via EMA-based smoothing and normalization, then applies an EMA and a short SMA to produce two wave-like lines (WT1 and WT2) and their difference.
ZLEMA is a moving average designed to reduce lag by de-lagging the input before applying an EMA. It uses a de-lagged value 2*price_t - price_{t-lag} (with lag=(n-1)/2) and then applies the EMA with α = 2/(n+1). Supports builder, streaming, and batch/grid computation.
Z-Score measures how many deviation units the current price is away from a rolling mean. The mean is computed by a chosen moving average (default: SMA), and the deviation can be standard deviation, mean absolute deviation, or median absolute deviation. Useful for mean-reversion, normalization, and anomaly detection.
Heikin Ashi is a candlestick technique that smooths price action by averaging price data to form modified OHLC candles. This reduces noise and clarifies trend direction compared to standard candlesticks.
Adaptive MACD blends a correlation-driven adaptive length with a MACD-style fast-minus-slow structure, then smooths the result into signal and histogram outputs. VectorTA exposes the oscillator, signal line, and histogram for single-run, streaming, batch, Python, and WASM workflows.
Adaptive Momentum Oscillator measures the strongest recent directional move over a rolling lookback, smooths that raw momentum through linear regression, and pairs it with an adaptive average companion line. VectorTA exposes both the oscillator output and its adaptive average across single-run, streaming, batch, Python, and WASM workflows.
Ehlers Adaptive CG builds an adaptive center-of-gravity style oscillator and a one-bar trigger line from a smoothed price input, using an alpha-controlled adaptive period estimate. VectorTA exposes both lines across single-run, streaming, batch, Python, and WASM workflows.
Ehlers FM Demodulator extracts a smoothed waveform from the intrabar difference between open and close, using a period-controlled recursive filter after a bounded open-close derivative stage. VectorTA exposes the resulting one-line output across single-run, streaming, batch, Python, and WASM workflows.
Exponential Trend is a six-output trend overlay that seeds a long-running ATR-based base line, projects an exponential extension away from that base, and flags bullish or bearish state changes when close crosses the active trend line. VectorTA exposes the full output set across single-run, streaming, batch, Python, and WASM workflows.
Geometric Bias Oscillator measures directional dominance inside a rolling price window by simplifying the ordered close structure with an ATR-scaled geometric threshold, then comparing the retained bullish and bearish path segments on a normalized -100 to 100 scale.
Linear Correlation Oscillator computes the rolling linear correlation between price and time over a configurable lookback. The Rust implementation accepts candles or a plain slice, defaults to close when using candles, and returns a single values series normalized to the [-1, 1] correlation range.
Normalized Volume True Range compares current volume and true-range behavior against rolling baselines, producing normalized volume, normalized true range, a combined baseline, and the underlying ATR and average volume series.
Range Breakout Signals detects quiet range formation, tracks active breakout bands, and flags bullish or bearish breaks with stronger confirmation markers when volume supports the move.
Defaults:range_length=20, confirmation_length=5
2 paramsBandsOutputs: range_top, range_bottom +4 more
Standardized PSAR Oscillator turns PSAR-style trend distance into a standardized oscillator, adds a weighted moving average signal line, and marks several bullish and bearish reversal states.
Statistical Trailing Stop builds an adaptive stop from recent range statistics, a normalization window, and a selectable base level so the stop can widen or tighten with volatility while still exposing its anchor and regime state.
Supertrend Recovery tracks a SuperTrend-style band together with the switch price, current trend state, and change markers, making it easier to study when trend reversals recover or fail after volatility shocks.
Trend Flow Trail combines an adaptive alpha trail with money-flow style filters and trigger flags so you can monitor trend direction, trail state, and momentum confirmation from one indicator panel.
Vdubus Divergence Wave Pattern Generator placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Velocity placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Ehlers Undersampled Double Moving Average produces paired fast and slow moving-average lines by feeding price through an undersampled hold stage and then smoothing that sampled stream with two Hann-style filters. VectorTA exposes the two-line output across single-run, streaming, batch, Python, and WASM workflows.
Elastic Volume Weighted Moving Average is a recursive moving average that blends the current price with the previous EVWMA value using current volume as the weight. VectorTA supports both a fixed absolute volume base and an optional rolling volume-sum base across single-run, streaming, batch, Python, and WASM workflows.
Absolute Strength Index Oscillator measures directional price pressure by accumulating advance, decline, and unchanged movement into a bounded breadth-style ratio, then smoothing that ratio into an oscillator, signal line, and histogram. VectorTA exposes the indicator across single-run, streaming, batch, Python, and WASM workflows.
Adaptive Bandpass Trigger Oscillator applies an adaptive band-pass process to a single price stream and returns an in-phase cycle component plus a lead trigger line. VectorTA exposes both series across single-run, streaming, batch, Python, and WASM workflows.
Advance/Decline Line is a cumulative running total. In its classic breadth use, each input value represents net advancing issues minus declining issues for a session, and the output tracks whether participation is compounding or deteriorating over time. VectorTA exposes that cumulative line across single-run, streaming, batch, Python, and WASM workflows.
ATR Percentile measures the current average true range against a rolling history of prior ATR values and returns a percentile-style rank from 0 to 100. VectorTA exposes that ranked volatility line across single-run, streaming, batch, Python, and WASM workflows.
Bull Power vs Bear Power condenses each OHLC bar into a directional raw pressure value and then smooths that series with an EMA-style mean. VectorTA returns the resulting power line across single-run, streaming, batch, Python, and WASM workflows.
DecisionPoint Breadth Swenlin Trading Oscillator converts advancing and declining counts into a normalized breadth ratio, smooths that ratio with a short EMA, then smooths the EMA again with a 5-sample SMA. VectorTA exposes the resulting breadth oscillator across single-run, streaming, batch, Python, and WASM workflows.
Demand Index compares buying pressure and selling pressure derived from price movement and volume, then smooths both the raw demand-index line and its signal companion. VectorTA exposes the paired output across single-run, streaming, batch, Python, and WASM workflows.
Didi Index compares a short SMA and a long SMA against a shared medium SMA baseline, then flags crossovers between the normalized short and long lines. VectorTA exposes both normalized lines plus crossover and crossunder markers across single-run, streaming, batch, Python, and WASM workflows.
Ehlers Autocorrelation Periodogram is a cycle-estimation tool that turns autocorrelation structure into a smoothed dominant-cycle line and a companion normalized-power reading. VectorTA exposes both outputs across single-run, streaming, batch, Python, and WASM workflows.
Ehlers Linear Extrapolation Predictor combines a high-pass stage, a Hann-smoothed filter line, and a short forward extrapolation to produce predictive crossover states and entry flags. VectorTA exposes the full five-output structure across single-run, streaming, batch, Python, and WASM workflows.
Fibonacci Entry Bands is a multi-output band framework that builds a smoothed basis line, projects Fibonacci expansion levels above and below it, and emits entry, rejection, and bounce markers around those bands. VectorTA exposes the full output set across single-run, streaming, batch, Python, and WASM workflows.
Fibonacci Trailing Stop is a pivot-driven trailing stop that turns confirmed swing highs and lows into directional long and short stop levels using a Fibonacci retracement factor. VectorTA exposes the active trailing stop, directional component stops, and direction state across single-run, streaming, batch, Python, and WASM workflows.
Defaults:left_bars=20, right_bars=1, level=-0.38
4 paramsTrailing stopOutputs: trailing_stop, long_stop +2 more
Garman-Klass Volatility estimates realized volatility from open, high, low, and close data by combining the intrabar range with the open-to-close move, producing a rolling volatility series with less drift sensitivity than close-only estimators.
Gopalakrishnan Range Index measures how quickly the recent high-low range has been expanding or contracting by taking the logarithm of the rolling range and normalizing it by the logarithm of the lookback length.
Grover-Llorens Cycle Oscillator builds a regime-sensitive trailing reference from source breakouts and ATR scaling, then feeds the resulting source-minus-trailing spread into an RSI transform to create an oscillating cycle/trend signal.
Half Causal Estimator blends observed intraday values with slot-based expected values from prior sessions, then filters the combined sequence through a configurable kernel to produce a smoother session-aware estimate and optional expected-value companion series.
HEMA Trend Levels pairs fast and slow Hull-style exponential moving averages with ATR-scaled structure boxes, crossover markers, and retest levels to describe direction, state, and reactive support/resistance zones in one output set.
Historical Volatility measures the realized standard deviation of percentage returns over a rolling window and annualizes that value for direct comparison across instruments and timeframes.
Hull Butterfly Oscillator applies a Hull-style weighted filter to the source, turns the filtered motion into an oscillator, and pairs it with a cumulative mean and a derived signal state for directional regime tracking.
Defaults:length=14, mult=2
2 paramsSignal lineOutputs: oscillator, cumulative_mean, signal
Intraday Momentum Index measures intrabar buying versus selling pressure from open and close data, then adds an EMA signal line and Bollinger-style upper and lower hit markers around the IMI series.
Kase Peak Oscillator With Divergences builds a volatility-normalized oscillator from high, low, and close, then adds dynamic peak thresholds, market-extreme markers, divergence markers, and directional go_long/go_short flags. The Rust implementation works directly from OHLC candles or explicit slices and exposes eleven output series.
MACD Wave Signal Pro combines fixed-parameter MACD outputs with a weighted-price line-convergence series and binary buy/sell crossover markers. It returns six aligned output series and exposes no user-configurable indicator parameters.
Monotonicity Index measures how well a rolling price window follows a monotone shape. It computes a raw monotonicity score in either efficiency mode or complexity mode, smooths that score, then tracks its cumulative mean and an upper bound derived from that mean.
Multi-Length Stochastic Average averages normalized stochastic readings across every lookback from 4 through the configured length, with optional pre and post smoothing on a single source series.
Neighboring Trailing Stop builds adaptive bullish and bearish neighborhood bands from recent closes, then turns those bands into a directional trailing stop with discovery markers.
Defaults:buffer_size=200, k=50, percentile=90
4 paramsTrailing stopOutputs: trailing_stop, bullish_band +4 more
Normalized Resonator applies a two-pole resonator to the selected price source, normalizes the oscillation by its recent absolute peak, and smooths the result with an EMA signal line.
Premier RSI Oscillator runs RSI through a stochastic normalization stage, smooths that result twice, and compresses the final line into a bounded oscillator suited to cycle and momentum work.
Squeeze Index tracks how compressed or expanded a series has become by updating adaptive max and min states, transforming their spread, and scoring that spread over a rolling window.
Stochastic Distance measures how far price has moved inside a long stochastic-style range window, then smooths that distance into an oscillator and signal pair with configurable overbought and oversold guide rails.
Velocity Acceleration Indicator placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Vertical Horizontal Filter placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Volume Energy Reservoirs placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
VWAP Zscore With Signals placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Autocorrelation Indicator filters the source series, then measures how strongly that filtered signal correlates with its own lagged history across a configurable lag range. VectorTA returns the filtered series plus a lag-by-time correlation surface across single-run, streaming, batch, Python, and WASM workflows.
Candle Strength Oscillator scores each candle body against its full range, smooths that signed score with a Hull-style moving average, then wraps the result in either Bollinger-style or Donchian-style levels. VectorTA returns the oscillator, envelope levels, and long or short crossover markers across single-run, streaming, batch, Python, and WASM workflows.
Cyberpunk Value Trend Analyzer blends a normalized 75-bar price-position model, a lagged trend line, a deviation filter, and discrete entry or exit events into one six-channel output surface. VectorTA exposes the full structure across single-run, streaming, batch, Python, and WASM workflows.
Defaults:entry_level=30, exit_level=75
2 paramsBandsOutputs: value_trend, value_trend_lag +4 more
Directional Imbalance Index tracks how often highs keep tagging rolling highs versus lows keep tagging rolling lows, then converts those hit counts into bull-versus-bear percentages. VectorTA exposes the full six-channel structure across single-run, streaming, batch, Python, and WASM workflows.
Disparity Index measures how far price has stretched away from an EMA baseline, then rescales that percentage gap inside a rolling high-low envelope before applying a final EMA or SMA smoothing pass. VectorTA exposes the finished oscillator across single-run, streaming, batch, Python, and WASM workflows.
Donchian Channel Width measures the distance between the rolling highest high and rolling lowest low over a configurable lookback. VectorTA exposes that channel-width series across single-run, streaming, batch, Python, and WASM workflows.
Dual Ulcer Index measures stress from both directions on one close series by tracking downside drawdown pressure, upside squeeze pressure, and a companion threshold line that can be either automatic or fixed. VectorTA exposes all three outputs across single-run, streaming, batch, Python, and WASM workflows.
Dynamic Momentum Index is a volatility-adaptive RSI that shortens or lengthens its effective momentum lookback according to the relationship between current rolling volatility and its own smoothed average. VectorTA exposes the resulting oscillator across single-run, streaming, batch, Python, and WASM workflows.
Ehlers Data Sampling Relative Strength Indicator compares a standard close-based RSI to an RSI computed on the midpoint of open and close, then derives a discrete signal state from the midpoint RSI slope. VectorTA exposes all three outputs across single-run, streaming, batch, Python, and WASM workflows.
Defaults:length=14
1 paramSignal lineOutputs: ds_rsi, original_rsi, signal
EMD Trend is a four-output trend-band study that builds an average from a selectable source and moving-average family, estimates deviation with an EMA of absolute distance, and emits a direction state plus dynamic upper and lower bands. VectorTA exposes the full output set across single-run, streaming, batch, Python, and WASM workflows.
Evasive SuperTrend is an ATR-based trend-band study that widens and relaxes its trailing band when price action is classified as noisy. VectorTA returns the active band, trend state, noisy-flag series, and state-change markers across single-run, streaming, batch, Python, and WASM workflows.
Fractal Dimension Index measures how smooth or jagged the recent path of price has been by comparing normalized path length to the size of the recent high-low envelope. VectorTA exposes the resulting FDI series across single-run, streaming, batch, Python, and WASM workflows.
FVG Positioning Average tracks the average level of recent bullish and bearish fair value gaps, then anchors midpoint overlays to the current candle body so traders can monitor where price sits relative to the active imbalance inventory.
GMMA Oscillator compares the average fast Guppy moving averages against the average slow Guppy moving averages, then returns both the normalized spread and an EMA signal line for momentum and trend-compression analysis.
Goertzel Cycle Composite Wave extracts dominant cycles from a detrended price window, then combines the strongest cycle components into a synthetic composite wave for spectral cycle analysis and timing studies.
Historical Volatility Rank computes a rolling historical-volatility series and then rescales each reading inside a longer min-max window, returning both the raw historical-volatility line and the corresponding rank from 0 to 100.
Kairi Relative Index measures percent deviation from a selected moving average: ((source - MA) / MA) * 100. It supports SMA, EMA, WMA, TMA, VIDYA, WWMA, ZLEMA, TSF, HMA/HULL, and VWMA, using close as the default candle source.
Market Structure Trailing Stop converts swing-structure breaks into a progressive stop line, a directional state series, and a market-structure classification stream.
Corrected Moving Average starts from a rolling simple average, then applies an adaptive correction factor based on how far the prior corrected value has drifted from the current mean relative to the local variance. VectorTA exposes the corrected line across single-run, streaming, batch, Python, and WASM workflows.
N-Order EMA is a configurable IIR moving average family that can operate as EMA, DEMA, TEMA, or HEMA. It accepts a single input series, defaults to the close price for candle input, and lets you choose both the smoothing order and the coefficient construction style.
Nonlinear Regression Zero Lag Moving Average applies a double weighted moving-average zero-lag transform, then smooths that result with a quadratic regression curve to produce a trend line, a lagged signal line, and long or short crossover markers.
Projection Oscillator projects recent high and low regression channels forward, then measures where the current source sits inside that projected range.
Reversal Signals scans OHLCV data for local swing reversals, confirms them with an optional volume filter, and pairs those signals with a stepped trend moving average plus a state series.
Rolling Skewness Kurtosis measures the evolving asymmetry and tail-heaviness of a price series over a rolling window, then optionally smooths both statistics.
Rolling Z-Score Trend standardizes the latest value against a rolling mean and standard deviation, then adds a smoothed momentum series derived from that z-score.
Stochastic Money Flow Index applies a stochastic-style normalization to money flow dynamics, then smooths the result into a K and D pair that combines price direction with volume participation.
Trend Direction Force Index compresses directional persistence into a single force line so you can gauge whether a trend is strengthening or fading without needing separate directional components.
Velocity Acceleration Convergence Divergence Indicator placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Volume Weighted RSI placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Zig Zag Channels placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Adaptive Schaff Trend Cycle combines an adaptive MACD-style core, two stochastic-style normalization passes, and a centered final trend-cycle output. VectorTA exposes both the centered STC line and a normalized momentum histogram across single-run, streaming, batch, Python, and WASM workflows.
Ehlers Detrending Filter removes the dominant trend component from a price series, smooths the residual with cosine-style weighting, and emits both the filtered line and a discrete slope-state signal. VectorTA exposes both outputs across single-run, streaming, batch, Python, and WASM workflows.
EMA Deviation Corrected T3 produces a standard T3-smoothed line plus a deviation-corrected companion line that uses an EMA-based variance estimate to adapt how far the corrected signal should move away from the baseline T3. VectorTA exposes both lines across single-run, streaming, batch, Python, and WASM workflows.
Historical Volatility Percentile measures current historical volatility against its own longer reference distribution, returning both the percentile rank of current volatility and a smoothing average of that percentile series.
HyperTrend builds an ATR-scaled adaptive centerline and surrounding bands, returning upper, average, lower, trend, and changed outputs that describe both level placement and directional state.
ICT Propulsion Block scans OHLC data for bullish and bearish ICT order blocks and propulsion blocks. It outputs each side's current block range, block kind, active flag, mitigation flag, and a per-bar flag showing when a new block is created.
Defaults:swing_length=3, mitigation_price=close
2 paramsOutputs: bullish_high, bullish_low +10 more
Impulse MACD uses high, low, and close to build an impulse line, signal line, and histogram. The Rust implementation smooths highs and lows with SMMA(length_ma), builds a double-EMA midpoint from typical price, and measures when that midpoint pushes outside the smoothed high/low envelope.
Defaults:length_ma=34, length_signal=9
2 paramsBandsOutputs: impulse_macd, impulse_histo, signal
InSync Index combines multiple momentum, volatility, volume, and oscillator components into a single composite score, returning one values series that summarizes whether several internal signals are aligned or fighting each other.
Keltner Channel Width Oscillator measures the width of a Keltner-style channel relative to its centerline, returning the raw channel-width ratio and a smoothing average of that width.
Leavitt Convolution Acceleration returns a normalized convolution-acceleration series plus a discrete signal series. It uses a linear-regression projection pipeline, a secondary slope projection, and either hyperbolic or logistic normalization.
Linear Regression Intensity runs a linear regression over the input series, then scores how consistently those regression values rise or fall across a rolling lookback window. The score is normalized to the range [-1, 1], where higher values mean the regression window is dominated by rising comparisons and lower values mean it is dominated by falling comparisons.
Logarithmic Moving Average applies inverse-log weighting to recent prices, then turns that baseline into a smoothed signal, a three-state position output, and a momentum confirmation flag for regime classification.
Market Meanness Index measures how often a rolling source moves farther away from its median rather than reverting toward it. The Rust implementation supports candle or slice input, offers Price and Change source modes, and returns both raw and smoothed MMI series.
Momentum Ratio Oscillator measures how the current EMA changes relative to its prior EMA, then blends separate below-1 and above-1 ratio tracks into a bounded oscillator line with a one-bar signal companion.
Parkinson Volatility estimates variance and volatility from the logarithmic high-low range over a rolling window, avoiding direct dependence on closes.
Price Density Market Noise compares summed true range to the net high-low span of a rolling window and ranks that density inside a longer evaluation history.
Psychological Line tracks the percentage of advancing closes inside a rolling window, producing a bounded breadth-style momentum oscillator from a single source series.
Rank Correlation Index compares the time order of prices to their value rank order, producing a bounded oscillator that highlights whether recent bars are rising or falling in a strongly ordered sequence.
Smoothed Gaussian Trend Filter combines a multi-pole Gaussian smoother, a linear-regression-style finishing stage, and an ATR-based supertrend envelope to label trend and ranging states.
Stochastic Adaptive D compares a standard stochastic D line with an adaptive version that reacts to changing market conditions, then publishes both lines plus their spread so you can judge whether the adaptive response is pulling ahead or falling behind.
Stochastic Connors RSI blends Connors RSI components into a stochastic-style oscillator and returns a smoothed K and D pair for traders who want an overbought-oversold study that reacts faster than a plain RSI.
SuperTrend Oscillator transforms the directional state of a SuperTrend-style trend filter into an oscillator, then smooths that result into a signal line and histogram for momentum-style interpretation.
Trend Continuation Factor separates bullish and bearish continuation pressure into paired outputs so you can compare how strongly a move is extending in each direction instead of collapsing that information into one signed line.
Trend Follower blends a base moving average, a long channel window, and an optional linear-regression pass into one smoothed trend line for traders who want a directional filter rather than a fast oscillator.
Twiggs Money Flow placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Volatility Ratio Adaptive RSX placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Volume Weighted Stochastic RSI placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Wave Smoother placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Accumulation Swing Index turns Welles Wilder's Swing Index into a cumulative trend line. VectorTA computes each swing increment from the previous open/close and the current OHLC bar, scales it by the configured daily limit, and accumulates the result across single-run, streaming, batch, Python, and WASM workflows.
Adaptive Bounds RSI combines a standard RSI core with five adaptive anchor levels that shift toward the nearest observed RSI state. VectorTA returns the RSI line, adaptive lower and upper bands, regime labels, regime-flip markers, and upper/lower trigger signals across single-run, streaming, batch, Python, and WASM workflows.
Adjustable MA Alternating Extremities builds a custom weighted moving average and wraps it in adaptive deviation bands that flip between upper and lower extremities when price crosses the active boundary. VectorTA returns the centerline, both bands, the active extremity, state-change flags, and the smoothed OHLC values used to form the structure.
Andean Oscillator measures bullish and bearish pressure by tracking adaptive upper and lower envelopes derived from open and close, then smoothing the stronger side into a signal line. VectorTA returns the bull, bear, and signal series across single-run, streaming, batch, Python, and WASM workflows.
Bulls v Bears turns each bar into paired bull and bear pressure components around a moving average, then derives a composite regime line, adaptive thresholds, and discrete signal markers. VectorTA exposes the full multi-output structure across single-run, streaming, batch, Python, and WASM workflows.
Cycle Channel Oscillator builds fast and slow cycle-channel lines from a source series, rolling averages, and ATR-scaled channel offsets. VectorTA exposes the paired outputs across single-run, streaming, batch, Python, and WASM workflows.
Daily Factor measures the prior bar’s body size relative to its full range, tracks a 14-period EMA of close, and converts those pieces into a compact directional signal state. VectorTA exposes the raw factor value, the EMA companion line, and the final signal classification across single-run, streaming, batch, Python, and WASM workflows.
Ehlers Adaptive Cyber Cycle produces an adaptive cycle line and a paired trigger line from a smoothed input series, using an alpha-controlled Ehlers cycle response. VectorTA exposes both outputs across single-run, streaming, batch, Python, and WASM workflows.
Ehlers Simple Cycle Indicator produces a simplified cycle line and a one-bar trigger line from a smoothed source series, using a lighter-weight Ehlers cycle formulation than the more adaptive variants. VectorTA exposes both outputs across single-run, streaming, batch, Python, and WASM workflows.
Ehlers Smoothed Adaptive Momentum is a single-line adaptive momentum oscillator that uses smoothed source data, adaptive lookback logic, and a cutoff-controlled recursive filter. VectorTA exposes the resulting momentum line across single-run, streaming, batch, Python, and WASM workflows.
EWMA Volatility estimates annualized-style percentage volatility from squared log returns smoothed with an exponentially weighted moving average. VectorTA exposes the volatility series across single-run, streaming, batch, Python, and WASM workflows.
Forward Backward Exponential Oscillator is a three-line momentum oscillator that combines a forward-backward smoothing score, a normalized backward score, and a derived histogram. VectorTA exposes the three outputs across single-run, streaming, batch, Python, and WASM workflows.
Ichimoku Oscillator converts the full Ichimoku structure into an oscillator-style output set, combining signal, moving-average context, conversion/base lines, chikou, current and future kumo levels, and normalized band levels.
L1 Ehlers Phasor computes a rolling phasor phase angle in degrees from close-price data over a domestic cycle window. It returns a single phase-angle series, normalized into the 0 to 360 degree range.
L2 Ehlers Signal To Noise estimates a smoothed signal-to-noise ratio from a price source plus high/low range data. The Rust implementation accepts either candles with a selectable source field or explicit source/high/low slices and returns a single overlay-neutral values series.
Market Structure Confluence combines swing-structure state, break-of-structure and change-of-character events, and volatility bands around a weighted moving basis. It returns the full structure state as parallel output series so overlays, event markers, and directional filters can be plotted from a single computation.
MESA Stochastic Multi Length applies a shared Ehlers-style high-pass and smoothing filter to the selected source, then produces four stochastic-style MESA lines and four trigger averages over independent lookback lengths.
Defaults:length_1=48, length_2=21, length_3=9
5 paramsSignal lineOutputs: mesa_1, mesa_2 +6 more
Moving Average Cross Probability estimates the chance that a fast and slow moving average pair will cross inside a projected price band, while also exposing the underlying averages, forecast band, and current direction state.
Price Moving Average Ratio Percentile measures the distance between price and a selected moving average, ranks that ratio inside a longer lookback, and returns both the raw ratio and percentile-style context bands.
QQE Weighted Oscillator turns price changes into a weighted RSI-style momentum line and a trailing stop that adapts as that momentum strengthens or fades.
Random Walk Index compares how far price has traveled against an ATR-scaled random-walk expectation, producing separate high-side and low-side trend strength lines.
Range Filtered Trend Signals blends a Kalman-style trend estimate with a supertrend envelope so you can separate trending states from ranging states and see the short- and long-term directional flags that come from that filter stack.
Range Oscillator measures how far price is stretching away from a weighted center line, then wraps that distance in range bands, in-range state, and directional break markers.
Regression Slope Oscillator averages log-price regression slopes across a configurable range of lookback windows, then adds a signal line plus bullish and bearish reversal markers.
Relative Strength Index Wave Indicator blends RSI-style measurements from source, high, and low inputs into four weighted moving-average wave lines plus a discrete state series.
Smooth Theil Sen fits a robust rolling regression channel, then emits the center line, channel bounds, slope, intercept, and resolved deviation series.
Trend Trigger Factor measures the directional separation between recent highs and lows over a fixed lookback, producing a compact oscillator-style series that highlights whether trend pressure is accelerating or fading.
Volatility Quality Index placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Volume Weighted Relative Strength Index placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
Volume Zone Oscillator placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.
VWAP Deviation Oscillator placeholder page for a planned VectorAlpha indicator. Benchmark cards currently show placeholder data while Python bindings, WASM bindings, API docs, and TradingView chart integration are still pending.