Skip to content

Indicators

All 70+ tulip-rs scalar indicators are supported via addIndicator(). The candlestick pattern indicator is handled separately by addCandlestickPatterns() — it returns labelled pattern objects rather than numeric series and is rendered as chart markers.

Indicators whose displayType is "Overlay" are rendered as canvas primitives on the price pane. All others are rendered as LineSeries / HistogramSeries in automatically-managed oscillator panes.

Pass the Name (lower-case) to addIndicator(). Options are positional — pass them in the order listed in the Options column.


Trend — Overlay

Name Full Name Inputs Options Outputs
sma Simple Moving Average close period sma
ema Exponential Moving Average close period ema
dema Double Exponential Moving Average close period dema
tema Triple Exponential Moving Average close period tema
wma Weighted Moving Average close period wma
hma Hull Moving Average close period hma
kama Kaufman Adaptive Moving Average close period kama
trima Triangular Moving Average close period trima
zlema Zero-Lag Exponential Moving Average close period zlema
wilders Wilders Smoothing close period wilders
vidya Variable Index Dynamic Average close short_period, long_period, alpha vidya
linreg Linear Regression close period linreg
tsf Time Series Forecast close period tsf
psar Parabolic SAR high, low accel_start, accel_max psar

² PSAR renders as per-point coloured dots (upColor when SAR is below price, downColor when above) rather than a connected line. See Overlays — Parabolic SAR.


Volatility — Overlay

Name Full Name Inputs Options Outputs
bbands Bollinger Bands close period, stddev bbands_upper, bbands_middle, bbands_lower

Price — Overlay

Name Full Name Inputs Options Outputs
avgprice Average Price open, high, low, close (none) avgprice
medprice Median Price high, low (none) medprice
typprice Typical Price high, low, close (none) typprice
wcprice Weighted Close Price high, low, close (none) wcprice

Statistical — Overlay

Name Full Name Inputs Options Outputs
max Maximum close period max
min Minimum close period min

Momentum — Oscillator

Name Full Name Inputs Options Outputs
rsi Relative Strength Index close period rsi
cmo Chande Momentum Oscillator close period cmo
mom Momentum close period mom
roc Rate of Change close period roc
rocr Rate of Change Ratio close period rocr
stochrsi Stochastic RSI close period stochrsi
dpo Detrended Price Oscillator close period dpo
fosc Forecast Oscillator close period fosc
macd MACD close fast_period, slow_period, signal_period macd, macd_signal, macd_histogram
apo Absolute Price Oscillator close short_period, long_period apo
ppo Percentage Price Oscillator close short_period, long_period ppo
stoch Stochastic Oscillator high, low, close k_period, k_slowing, d_period stoch_k, stoch_d
trix 1-Day Rate-of-Change of a Triple EMA close period trix

Volatility — Oscillator

Name Full Name Inputs Options Outputs
atr Average True Range high, low, close period atr
natr Normalized ATR high, low, close period natr
volatility Volatility close period volatility
stddev Standard Deviation close period stddev
md Mean Deviation close period md
tr True Range high, low, close (none) tr

Volume — Oscillator

Name Full Name Inputs Options Outputs
obv On Balance Volume close, volume (none) obv
ad Accumulation/Distribution high, low, close, volume (none) ad
adosc A/D Oscillator high, low, close, volume short_period, long_period adosc
mfi Money Flow Index high, low, close, volume period mfi
emv Ease of Movement high, low, volume period emv
nvi Negative Volume Index close, volume (none) nvi
pvi Positive Volume Index close, volume (none) pvi
kvo Klinger Volume Oscillator high, low, close, volume short_period, long_period, signal_period kvo, kvo_signal
vwma Volume Weighted Moving Average close, volume period vwma
vosc Volume Oscillator volume short_period, long_period vosc

Directional — Oscillator

Name Full Name Inputs Options Outputs
adx Average Directional Index high, low, close period adx
adxr Average Directional Rating high, low, close period adxr
di Directional Indicators high, low, close period plus_di, minus_di
dm Directional Movement high, low period plus_dm, minus_dm
dx Directional Movement Index high, low, close period dx
aroon Aroon high, low period aroon_down, aroon_up
aroonosc Aroon Oscillator high, low period aroonosc

Other — Oscillator

Name Full Name Inputs Options Outputs
ao Awesome Oscillator high, low (none) ao
bop Balance of Power open, high, low, close (none) bop
cci Commodity Channel Index high, low, close period cci
cvi Coefficient of Variation Index high, low period cvi
fisher Fisher Transform high, low period fisher, fisher_signal
mass Mass Index high, low period mass
marketfi Market Facilitation Index high, low, volume (none) marketfi
msw Mesa Sine Wave close period msw_sine, msw_lead
qstick QStick open, close period qstick
vhf Vertical Horizontal Filter close period vhf
wad Williams Accumulation/Distribution high, low, close (none) wad
willr Williams %R high, low, close period willr
pivotpoint Pivot Points high, low, close (none) s3, s2, s1, pp, r1, r2, r3 ¹
ultosc Ultimate Oscillator high, low, close short_period, medium_period, long_period ultosc

¹ PIVOTPOINT renders as full-width dashed horizontal lines on the price pane via HorizontalPrimitive — not as an oscillator series — despite its non-overlay displayType. The seven output levels (s3, s2, s1, pp, r1, r2, r3) are packed into a single array that the plugin unpacks automatically. See Overlays — Pivot Points.


Notes on Inputs

tulip-rs-lwc automatically maps the input names from indicator.info.inputs to the corresponding OHLCV fields:

Input name OHLCV field Notes
real close Generic single-price input (most common)
close close
open open
high high
low low
volume volume Defaults to 0 if volume is missing from the bar

You never need to specify which fields an indicator uses — this is handled automatically from the indicator's metadata.

Volume-based indicators require volume

If your OhlcvBar data does not include a volume field, volume-based indicators (OBV, AD, MFI, KVO, ADOSC, EMV, NVI, PVI, VWMA, VOSC, MARKETFI) will receive zeros for all volume values and produce incorrect results. Always include volume when using these indicators.