Indicators catalog
All 30 indicators shipped in @elitechart/indicators — formulas, parameters, defaults, and per-page links.
Every indicator ChartForge ships, with its formula, default
parameters, and pane placement. All thirty are exported from
@elitechart/indicators as separate subpath imports for tree
shaking.
Quick example
'use client';
import { useEffect } from 'react';
import { EliteChart, useChartStore } from '@elitechart/elitechart';
import '@elitechart/elitechart/styles.css';
export default function Page() {
useEffect(() => {
const store = useChartStore.getState();
store.addIndicator({ id: 'ema-20', name: 'EMA', params: { period: 20 } });
store.addIndicator({ id: 'rsi-14', name: 'RSI', params: { period: 14 } });
}, []);
return <EliteChart symbol="BTCUSD" timeframe="1h" />;
}
Trend / moving averages (overlay)
| Indicator | Default params | Formula sketch |
|---|
| SMA | period: 20 | sum(close, period) / period |
| EMA | period: 20 | α·close + (1-α)·prev, α = 2/(p+1) |
| WMA | period: 20 | weighted by index, sum / Σi |
| DEMA | period: 20 | 2·EMA - EMA(EMA) |
| TEMA | period: 20 | 3·EMA - 3·EMA(EMA) + EMA(EMA(EMA)) |
| HMA | period: 14 | WMA(2·WMA(p/2) - WMA(p), √p) |
| KAMA | period: 10 | adaptive α, fast 2 / slow 30 |
| VWAP | session anchor | Σ(typ·vol) / Σvol from anchor |
Volatility / bands (overlay)
| Indicator | Default params | Formula sketch |
|---|
| Bollinger Bands | period: 20, mult: 2 | SMA ± mult·σ |
| Keltner Channels | period: 20, mult: 2, atr: 10 | EMA ± mult·ATR |
| Donchian | period: 20 | max(high) / min(low) over period |
| ATR | period: 14 | mean of true range |
Momentum (pane)
| Indicator | Default params | Formula sketch |
|---|
| RSI | period: 14 | 100 - 100/(1+RS), RS = avg gain / avg loss |
| Stochastic | k: 14, d: 3 | (close - low) / (high - low) smoothed |
| StochRSI | period: 14 | Stochastic over RSI |
| MACD | fast: 12, slow: 26, signal: 9 | EMA(fast) - EMA(slow), signal = EMA |
| Awesome Oscillator | fast: 5, slow: 34 | SMA(median, fast) - SMA(median, slow) |
| Williams %R | period: 14 | (high - close) / (high - low) · -100 |
| CCI | period: 20 | (typ - SMA(typ)) / (0.015 · MD) |
| ROC | period: 12 | (close - close[p]) / close[p] · 100 |
| Momentum | period: 10 | close - close[p] |
Volume (pane)
| Indicator | Default params | Formula sketch |
|---|
| OBV | – | running sum of ±volume by close direction |
| Money Flow Index | period: 14 | RSI on typ · volume |
| Chaikin MF | period: 20 | volume-weighted close-location |
| Volume MA | period: 20 | SMA(volume, period) |
Trend strength (pane)
| Indicator | Default params | Formula sketch |
|---|
| ADX | period: 14 | `100 · |
| Aroon | period: 14 | 100 · (period - barsSinceHigh) / period |
| Parabolic SAR | step: 0.02, max: 0.2 | trailing stop, accel factor |
Composite / specialty (pane)
| Indicator | Default params | Formula sketch |
|---|
| Bollinger %B | period: 20, mult: 2 | (close - lower) / (upper - lower) |
| Pivots | mode: classic | session-anchored S/R levels |
| Fisher Transform | period: 9 | normalised price → arctanh |
Variations
useChartStore.getState().addIndicator({
id: 'bb-50',
name: 'Bollinger Bands',
params: { period: 50, mult: 2.5 },
});
Subpath import (tree-shaken)
import { rsi } from '@elitechart/indicators/rsi';
import { macd } from '@elitechart/indicators/macd';
API
Every indicator implements IndicatorPlugin. See writing an
indicator for the contract and the
test-fixture pattern.