Skip to content

TA (Technical Analysis)

A standalone math library for computing common technical indicators. Used internally by the indicator templates and available to custom scripts via useScriptEditor.

import { TA } from "react-klinecharts-ui";
FunctionSignatureReturns
TA.sma(data: number[], period: number)(number | null)[] — Simple Moving Average
TA.ema(data: number[], period: number)(number | null)[] — Exponential Moving Average
TA.rma(data: number[], period: number)(number | null)[] — Running (Wilder’s) Moving Average
TA.wma(data: number[], period: number)(number | null)[] — Weighted Moving Average
TA.hma(data: number[], period: number)(number | null)[] — Hull Moving Average
TA.stdev(data: number[], period: number)(number | null)[] — Standard Deviation
TA.rsi(data: number[], period: number)(number | null)[] — Relative Strength Index
TA.macd(data: number[], fast?, slow?, signal?){ dif, dea, macd } — each (number | null)[]
TA.bollinger(data: number[], period?, mult?){ upper, mid, lower } — each (number | null)[]
TA.tr(highs, lows, closes)number[] — True Range
TA.atr(highs, lows, closes, period)(number | null)[] — Average True Range
TA.vwap(highs, lows, closes, volumes, timestamps?, session?)(number | null)[] — Volume Weighted Average Price, reset per session ("utc-day" by default, or a custom (ts) => key function). Without timestamps it accumulates cumulatively (legacy behavior)
TA.cci(highs, lows, closes, period)(number | null)[] — Commodity Channel Index
import { TA } from "react-klinecharts-ui";
const closes = bars.map((b) => b.close);
const ema21 = TA.ema(closes, 21);
const { dif, dea, macd } = TA.macd(closes); // 12/26/9 defaults
const { upper, mid, lower } = TA.bollinger(closes, 20, 2);