Reference
Generated from source — do not hand-edit. Rendered from backtest-engine/src/indicators/calc-registry.ts, basecomponents/src/lib/FinancialChart/indicators/plugins/*.ts by pnpm --filter docsite gen:reference; a test fails when it drifts.

Indicator catalogue

Every indicator the engine can compute. Strategy key is what ctx.indicator() accepts; VectarisQL is the name typed in a chart row (NAME(param, …)). Indicators without a chart plugin are strategy-only. The first output listed (or values when present) is what IndicatorCursor.value returns; the rest are reachable via cursor.output(name).

Summary

Strategy key VectarisQL Chart Outputs
ad AD ✓ values
adx ADX ✓ adx, plusDI, minusDI
ao AO ✓ values
aroon AROON ✓ up, down
atr ATR ✓ values
bbpercent BBPCT ✓ values
bbwidth BBW ✓ values
bollinger BB ✓ upper, middle, lower
cci CCI ✓ values
chaikinosc CHAIKOSC ✓ values
chop — — values
cmf CMF ✓ values
dema DEMA ✓ values
donchian DC ✓ upper, middle, lower
ema EMA ✓ values
envelope ENV ✓ upper, lower
hma HMA ✓ values
hv HV ✓ values
ichimoku ICHIMOKU ✓ conversion, base, spanA, spanB, lagging
kama KAMA ✓ values
keltner KC ✓ upper, middle, lower
linreg LINREG ✓ values
linregchannel LINREGCHAN ✓ upper, middle, lower
lsma LSMA ✓ values
macd MACD ✓ macd, signal, histogram
mfi MFI ✓ values
momentum MOM ✓ values
obv OBV ✓ values
pivotpoints PP ✓ pp, r1, r2, r3, s1, s2, s3
psar PSAR ✓ values
pvt PVT ✓ values
roc ROC ✓ values
rsi RSI ✓ values
sma SMA ✓ values
smma SMMA ✓ values
stddev STDDEV ✓ values
stochastic STOCH ✓ k, d
stochrsi STOCHRSI ✓ k, d
supertrend SUPERTREND ✓ values, direction
svwap — — values
tema TEMA ✓ values
trix TRIX ✓ values
tsi TSI ✓ tsi, signal
ultimateosc ULTOSC ✓ values
volosc VOLOSC ✓ values
vwap VWAP ✓ values
vwma VWMA ✓ values
williamsr WILLR ✓ values
wma WMA ✓ values
zigzag ZIGZAG ✓ values

Accumulation/Distribution

Measures cumulative buying and selling pressure using price and volume

Strategy key: ad — ctx.indicator('ad')

VectarisQL: AD()

Pane: separate panel

No parameters.

Outputs: values (primary: values)

Average Directional Index

Measures trend strength regardless of direction, from 0 to 100

Strategy key: adx — ctx.indicator('adx', { period: 14 })

VectarisQL: ADX(14)

Pane: separate panel

Param Default Min Max Step Description
period 14 1 200 1 Lookback period for trend strength calculation

Outputs: adx, plusDI, minusDI (primary: adx)

Awesome Oscillator

Shows market momentum by comparing recent and longer-term midpoint moving averages

Strategy key: ao — ctx.indicator('ao', { fastPeriod: 5, slowPeriod: 34 })

VectarisQL: AO(5, 34)

Pane: separate panel

Param Default Min Max Step Description
fastPeriod 5 1 100 1 Short-term moving average period
slowPeriod 34 1 200 1 Long-term moving average period

Outputs: values (primary: values)

Aroon

Identifies trend changes and strength by measuring time since highest high and lowest low

Strategy key: aroon — ctx.indicator('aroon', { period: 25 })

VectarisQL: AROON(25)

Pane: separate panel

Param Default Min Max Step Description
period 25 1 200 1 Number of bars to look back for highs and lows

Outputs: up, down (primary: up)

Average True Range

Measures market volatility using the range between high and low prices

Strategy key: atr — ctx.indicator('atr', { period: 14 })

VectarisQL: ATR(14)

Pane: separate panel

Param Default Min Max Step Description
period 14 1 200 1 Number of bars for averaging true range

Outputs: values (primary: values)

Bollinger %B

Shows where price sits between the Bollinger Bands as a percentage

Strategy key: bbpercent — ctx.indicator('bbpercent', { period: 20, stdDev: 2 })

VectarisQL: BBPCT(20, 2)

Pane: separate panel

Param Default Min Max Step Description
period 20 1 500 1 Moving average period for the middle band
stdDev 2 0.1 5 0.1 Number of standard deviations for band width

Outputs: values (primary: values)

Bollinger Bandwidth

Measures the distance between upper and lower Bollinger Bands

Strategy key: bbwidth — ctx.indicator('bbwidth', { period: 20, stdDev: 2 })

VectarisQL: BBW(20, 2)

Pane: separate panel

Param Default Min Max Step Description
period 20 1 500 1 Moving average period for the middle band
stdDev 2 0.1 5 0.1 Number of standard deviations for band width

Outputs: values (primary: values)

Bollinger Bands

Price channels based on standard deviations around a moving average

Strategy key: bollinger — ctx.indicator('bollinger', { period: 20, stdDev: 2 })

VectarisQL: BB(20, 2)

Pane: overlay on price

Param Default Min Max Step Description
period 20 1 500 1 Moving average period for the middle band
stdDev 2 0.1 5 0.1 Number of standard deviations for band width

Outputs: upper, middle, lower (primary: upper)

Commodity Channel Index

Measures how far price deviates from its statistical mean

Strategy key: cci — ctx.indicator('cci', { period: 20 })

VectarisQL: CCI(20)

Pane: separate panel

Param Default Min Max Step Description
period 20 1 200 1 Lookback period for mean deviation calculation

Outputs: values (primary: values)

Chaikin Oscillator

Momentum of the Accumulation/Distribution line using two EMAs

Strategy key: chaikinosc — ctx.indicator('chaikinosc', { fastPeriod: 3, slowPeriod: 10 })

VectarisQL: CHAIKOSC(3, 10)

Pane: separate panel

Param Default Min Max Step Description
fastPeriod 3 1 100 1 Fast EMA period
slowPeriod 10 1 200 1 Slow EMA period

Outputs: values (primary: values)

chop

Strategy key: chop — ctx.indicator('chop', { period: 14 })

VectarisQL: not available on charts (strategy-only)

Param Default Min Max Step Description
period 14

Outputs: values (primary: values)

Chaikin Money Flow

Measures buying and selling pressure over a period using volume flow

Strategy key: cmf — ctx.indicator('cmf', { period: 20 })

VectarisQL: CMF(20)

Pane: separate panel

Param Default Min Max Step Description
period 20 1 200 1 Number of bars for volume flow calculation

Outputs: values (primary: values)

Double Exponential Moving Average

Faster-responding moving average that reduces lag using double smoothing

Strategy key: dema — ctx.indicator('dema', { period: 20 })

VectarisQL: DEMA(20)

Pane: overlay on price

Param Default Min Max Step Description
period 20 1 500 1 Number of bars for the double exponential calculation

Outputs: values (primary: values)

Donchian Channels

Price channels formed by the highest high and lowest low over N periods

Strategy key: donchian — ctx.indicator('donchian', { period: 20 })

VectarisQL: DC(20)

Pane: overlay on price

Param Default Min Max Step Description
period 20 1 500 1 Number of bars for channel calculation

Outputs: upper, middle, lower (primary: upper)

Exponential Moving Average

Weighted moving average that gives more importance to recent prices

Strategy key: ema — ctx.indicator('ema', { period: 20 })

VectarisQL: EMA(20)

Pane: overlay on price

Param Default Min Max Step Description
period 20 1 500 1 Number of bars for exponential smoothing

Outputs: values (primary: values)

Envelopes

Percentage-based bands above and below a moving average

Strategy key: envelope — ctx.indicator('envelope', { period: 20, percent: 2.5 })

VectarisQL: ENV(20, 2.5)

Pane: overlay on price

Param Default Min Max Step Description
period 20 1 500 1 Moving average period for the center line
percent 2.5 0.1 20 0.1 Percentage offset from center for upper and lower bands

Outputs: upper, lower (primary: upper)

Hull Moving Average

Low-lag moving average using weighted averages of different lengths

Strategy key: hma — ctx.indicator('hma', { period: 20 })

VectarisQL: HMA(20)

Pane: overlay on price

Param Default Min Max Step Description
period 20 1 500 1 Number of bars for the Hull calculation

Outputs: values (primary: values)

Historical Volatility

Measures annualized price volatility from historical returns

Strategy key: hv — ctx.indicator('hv', { period: 20 })

VectarisQL: HV(20)

Pane: separate panel

Param Default Min Max Step Description
period 20 1 500 1 Number of bars for volatility calculation

Outputs: values (primary: values)

Ichimoku Cloud

Multi-component overlay showing support, resistance, trend, and momentum

Strategy key: ichimoku — ctx.indicator('ichimoku', { conversionPeriod: 9, basePeriod: 26, spanBPeriod: 52, displacement: 26 })

VectarisQL: ICHIMOKU(9, 26, 52, 26)

Pane: overlay on price

Param Default Min Max Step Description
conversionPeriod 9 1 100 1 Conversion line period (fast signal)
basePeriod 26 1 100 1 Base line period (slow signal)
spanBPeriod 52 1 200 1 Leading span B period (cloud boundary)
displacement 26 1 100 1

Outputs: conversion, base, spanA, spanB, lagging (primary: conversion)

Kaufman Adaptive Moving Average

Adaptive moving average that adjusts speed based on market noise

Strategy key: kama — ctx.indicator('kama', { period: 10, fast: 2, slow: 30 })

VectarisQL: KAMA(10, 2, 30)

Pane: overlay on price

Param Default Min Max Step Description
period 10 1 500 1 Efficiency ratio lookback period
fast 2 1 50 1 Fastest smoothing constant period
slow 30 1 200 1 Slowest smoothing constant period

Outputs: values (primary: values)

Keltner Channels

Volatility channels using ATR bands around an EMA

Strategy key: keltner — ctx.indicator('keltner', { period: 20, atrPeriod: 10, multiplier: 1.5 })

VectarisQL: KC(20, 10, 1.5)

Pane: overlay on price

Param Default Min Max Step Description
period 20 1 500 1 EMA period for the center line
atrPeriod 10 1 200 1 ATR period for channel width
multiplier 1.5 0.1 10 0.1 ATR multiplier for band distance

Outputs: upper, middle, lower (primary: upper)

Linear Regression

Best-fit straight line through recent prices using least squares

Strategy key: linreg — ctx.indicator('linreg', { period: 25 })

VectarisQL: LINREG(25)

Pane: overlay on price

Param Default Min Max Step Description
period 25 1 500 1 Number of bars for regression calculation

Outputs: values (primary: values)

Linear Regression Channel

Linear regression line with standard deviation channels

Strategy key: linregchannel — ctx.indicator('linregchannel', { period: 100, deviations: 2 })

VectarisQL: LINREGCHAN(100, 2)

Pane: overlay on price

Param Default Min Max Step Description
period 100 3 500 1 Number of bars for regression calculation
deviations 2 0.1 5 0.1 Number of standard deviations for channel width

Outputs: upper, middle, lower (primary: upper)

Least Squares Moving Average

Moving average derived from linear regression endpoint values

Strategy key: lsma — ctx.indicator('lsma', { period: 25 })

VectarisQL: LSMA(25)

Pane: overlay on price

Param Default Min Max Step Description
period 25 1 500 1 Regression lookback period

Outputs: values (primary: values)

MACD

Trend-following momentum using the difference between two EMAs

Strategy key: macd — ctx.indicator('macd', { fastPeriod: 12, slowPeriod: 26, signalPeriod: 9 })

VectarisQL: MACD(12, 26, 9)

Pane: separate panel

Param Default Min Max Step Description
fastPeriod 12 1 100 1 Fast EMA period
slowPeriod 26 1 200 1 Slow EMA period
signalPeriod 9 1 100 1 Signal line smoothing period

Outputs: macd, signal, histogram (primary: macd)

Money Flow Index

Volume-weighted RSI that measures buying and selling pressure

Strategy key: mfi — ctx.indicator('mfi', { period: 14 })

VectarisQL: MFI(14)

Pane: separate panel

Param Default Min Max Step Description
period 14 1 200 1 Lookback period for money flow calculation

Outputs: values (primary: values)

Momentum

Measures the rate of price change over N periods

Strategy key: momentum — ctx.indicator('momentum', { period: 10 })

VectarisQL: MOM(10)

Pane: separate panel

Param Default Min Max Step Description
period 10 1 200 1 Number of bars to compare current price against

Outputs: values (primary: values)

On-Balance Volume

Cumulative volume indicator that confirms price trends

Strategy key: obv — ctx.indicator('obv')

VectarisQL: OBV()

Pane: separate panel

No parameters.

Outputs: values (primary: values)

Pivot Points

Key support and resistance levels calculated from prior period prices

Strategy key: pivotpoints — ctx.indicator('pivotpoints', { type: 0 })

VectarisQL: PP(0)

Pane: overlay on price

Param Default Min Max Step Description
type 0 0 0 1

Outputs: pp, r1, r2, r3, s1, s2, s3 (primary: pp)

Parabolic SAR

Trailing stop-and-reverse system that follows price trends

Strategy key: psar — ctx.indicator('psar', { step: 0.02, max: 0.2 })

VectarisQL: PSAR(0.02, 0.2)

Pane: overlay on price

Param Default Min Max Step Description
step 0.02 0.001 0.1 0.001 Acceleration factor increment
max 0.2 0.01 1 0.01 Maximum acceleration factor

Outputs: values (primary: values)

Price Volume Trend

Cumulative volume adjusted by percentage price changes

Strategy key: pvt — ctx.indicator('pvt')

VectarisQL: PVT()

Pane: separate panel

No parameters.

Outputs: values (primary: values)

Rate of Change

Percentage change in price over a specified number of periods

Strategy key: roc — ctx.indicator('roc', { period: 9 })

VectarisQL: ROC(9)

Pane: separate panel

Param Default Min Max Step Description
period 9 1 200 1 Number of bars to measure price change over

Outputs: values (primary: values)

Relative Strength Index

Momentum oscillator measuring speed and magnitude of price changes, 0-100

Strategy key: rsi — ctx.indicator('rsi', { period: 14 })

VectarisQL: RSI(14)

Pane: separate panel

Param Default Min Max Step Description
period 14 1 200 1 Lookback period for average gains and losses

Outputs: values (primary: values)

Simple Moving Average

Smooths price data by averaging over a fixed number of bars

Strategy key: sma — ctx.indicator('sma', { period: 20 })

VectarisQL: SMA(20)

Pane: overlay on price

Param Default Min Max Step Description
period 20 1 500 1 Number of bars to average

Outputs: values (primary: values)

Smoothed Moving Average

Extra-smooth moving average using recursive averaging

Strategy key: smma — ctx.indicator('smma', { period: 20 })

VectarisQL: SMMA(20)

Pane: overlay on price

Param Default Min Max Step Description
period 20 1 500 1 Smoothing lookback period

Outputs: values (primary: values)

Standard Deviation

Statistical measure of price dispersion from the mean

Strategy key: stddev — ctx.indicator('stddev', { period: 20 })

VectarisQL: STDDEV(20)

Pane: separate panel

Param Default Min Max Step Description
period 20 1 500 1 Number of bars for standard deviation calculation

Outputs: values (primary: values)

Stochastic

Compares closing price to its range over N periods, 0-100

Strategy key: stochastic — ctx.indicator('stochastic', { kPeriod: 14, dPeriod: 3, smooth: 3 })

VectarisQL: STOCH(14, 3, 3)

Pane: separate panel

Param Default Min Max Step Description
kPeriod 14 1 100 1 Lookback period for %K line
dPeriod 3 1 100 1 Smoothing period for %D signal line
smooth 3 1 50 1 Additional smoothing applied to %K

Outputs: k, d (primary: k)

Stochastic RSI

Stochastic oscillator applied to RSI values for extra sensitivity

Strategy key: stochrsi — ctx.indicator('stochrsi', { rsiPeriod: 14, stochPeriod: 14, kSmooth: 3, dSmooth: 3 })

VectarisQL: STOCHRSI(14, 14, 3, 3)

Pane: separate panel

Param Default Min Max Step Description
rsiPeriod 14 1 200 1 RSI calculation period
stochPeriod 14 1 200 1 Stochastic lookback period
kSmooth 3 1 50 1 %K smoothing period
dSmooth 3 1 50 1 %D smoothing period

Outputs: k, d (primary: k)

SuperTrend

Trend-following overlay that flips between support and resistance

Strategy key: supertrend — ctx.indicator('supertrend', { period: 10, multiplier: 3 })

VectarisQL: SUPERTREND(10, 3)

Pane: overlay on price

Param Default Min Max Step Description
period 10 1 200 1 ATR calculation period
multiplier 3 0.1 10 0.1 ATR multiplier for band distance

Outputs: values, direction (primary: values)

svwap

Strategy key: svwap — ctx.indicator('svwap')

VectarisQL: not available on charts (strategy-only)

No parameters.

Outputs: values (primary: values)

Triple Exponential Moving Average

Triple-smoothed EMA that further reduces lag

Strategy key: tema — ctx.indicator('tema', { period: 20 })

VectarisQL: TEMA(20)

Pane: overlay on price

Param Default Min Max Step Description
period 20 1 500 1 Number of bars for triple exponential calculation

Outputs: values (primary: values)

TRIX

Rate of change of a triple-smoothed EMA, filters out noise

Strategy key: trix — ctx.indicator('trix', { period: 18 })

VectarisQL: TRIX(18)

Pane: separate panel

Param Default Min Max Step Description
period 18 1 200 1 Triple EMA smoothing period

Outputs: values (primary: values)

True Strength Index

Double-smoothed momentum oscillator showing trend direction and strength

Strategy key: tsi — ctx.indicator('tsi', { long: 25, short: 13, signal: 13 })

VectarisQL: TSI(25, 13, 13)

Pane: separate panel

Param Default Min Max Step Description
long 25 1 100 1 Slow smoothing period
short 13 1 100 1 Fast smoothing period
signal 13 1 100 1

Outputs: tsi, signal (primary: tsi)

Ultimate Oscillator

Multi-timeframe momentum oscillator combining three periods

Strategy key: ultimateosc — ctx.indicator('ultimateosc', { period1: 7, period2: 14, period3: 28 })

VectarisQL: ULTOSC(7, 14, 28)

Pane: separate panel

Param Default Min Max Step Description
period1 7 1 100 1 Short cycle period
period2 14 1 100 1 Medium cycle period
period3 28 1 200 1 Long cycle period

Outputs: values (primary: values)

Volume Oscillator

Measures the difference between two volume moving averages

Strategy key: volosc — ctx.indicator('volosc', { fastPeriod: 5, slowPeriod: 10 })

VectarisQL: VOLOSC(5, 10)

Pane: separate panel

Param Default Min Max Step Description
fastPeriod 5 1 100 1 Fast volume moving average period
slowPeriod 10 1 200 1 Slow volume moving average period

Outputs: values (primary: values)

Volume Weighted Avg Price

Average price weighted by volume, key intraday benchmark

Strategy key: vwap — ctx.indicator('vwap')

VectarisQL: VWAP()

Pane: overlay on price

No parameters.

Outputs: values (primary: values)

Volume Weighted Moving Average

Moving average that weights bars by their trading volume

Strategy key: vwma — ctx.indicator('vwma', { period: 20 })

VectarisQL: VWMA(20)

Pane: overlay on price

Param Default Min Max Step Description
period 20 1 500 1 Number of bars for volume-weighted calculation

Outputs: values (primary: values)

Williams %R

Momentum oscillator comparing close to the high-low range, 0 to -100

Strategy key: williamsr — ctx.indicator('williamsr', { period: 14 })

VectarisQL: WILLR(14)

Pane: separate panel

Param Default Min Max Step Description
period 14 1 200 1 Lookback period for high-low range

Outputs: values (primary: values)

Weighted Moving Average

Moving average where recent bars have linearly increasing weight

Strategy key: wma — ctx.indicator('wma', { period: 20 })

VectarisQL: WMA(20)

Pane: overlay on price

Param Default Min Max Step Description
period 20 1 500 1 Number of bars for weighted average

Outputs: values (primary: values)

Zig Zag

Connects significant price reversals, filtering out small moves

Strategy key: zigzag — ctx.indicator('zigzag', { deviation: 5 })

VectarisQL: ZIGZAG(5)

Pane: overlay on price

Param Default Min Max Step Description
deviation 5 0.1 50 0.1 Minimum percentage move to qualify as a reversal

Outputs: values (primary: values)