FI QuantumQuantum indicators

Quantum Indicators

All 188 indicators a Quantum strategy can read, with every parameter, its default and range, and every plot it returns. Search, or click one for an example you can paste into a strategy. The strategy guide and class reference cover the rest of the API.Every one of them is native C++ compiled into Quantum, not script evaluated per bar. A strategy is JavaScript, but the moment it asks for an indicator the work happens in the same optimized engine the chart draws from — which is why a backtest can walk a session of ticks through a stack of them and still finish while you are looking at it.

Calling an indicator

Each indicator is a function on market.indicators. Pass the settings you want to change (names ignore case; anything left out keeps its default), then optionally how many bars back and a timeframe by name. It answers with every plot at once. While an indicator warms up, or has nothing to report on a bar, its values are undefined or NaN — never 0 — so guard them before comparing.

Calling indicators
// Every plot, as one object, for the bar that just closed
const squeeze = market.indicators.ttmSqueeze({ Length: 20 })
if (squeeze.squeezeOn > 0) return 0            // compressed: stand aside

// Second argument: barsAgo.  Third: a timeframe, by name.
const previous = market.indicators.ttmSqueeze({ Length: 20 }, 1)
const onFifteen = market.indicators.rsi({ period: 14 }, 0, "15m")

// Plots come back under their own spelling AND in camelCase:
//   squeeze.SqueezeOn === squeeze.squeezeOn
// An all-capitals plot is also lower-cased:  ema.EMA === ema.ema
// Symbols are spelled out, so read those with their own spelling:
const vortex = market.indicators.vortex({ Period: 14 })
const bullish = vortex["VI+"] > vortex["VI-"]     // or vortex.vIPlus

// A parameter that picks from a set takes the NAME, and lists its options
market.indicators.candlestickPattern({ Pattern: "Hammer" }).patternFound
market.indicators.candlestickPattern.choices.Pattern   // every pattern name

// Ask an indicator what it takes and what it returns
market.indicators.ema.params    // ["Period"]
market.indicators.ema.plots     // ["EMA"]

// A parameter or choice it does not have is refused by name -- no silent defaults
market.indicators.ema({ Perod: 9 })
// TypeError: Ema has no parameter "Perod". It takes: Period

Choice parameters take the name of the choice (every indicator's table lists them, and .choices answers at runtime); an unknown name throws. Plots marked in amber are published for strategies only and are never drawn on a chart, so you cannot find them by looking at one.

The chart's own studies

16 studies are computed by the chart itself, and c.ind() looks for them before the ported library. 6 of them exist nowhere else — for those, c.ind("stoch", {...}) reaches the study and market.indicators does not. The other 10 share a name with a library indicator, which is what market.indicators serves.

StudyReached byPlotsParameters
vwapc.ind or market.indicatorsvwap, upper1, lower1, upper2, lower2session
rsic.ind or market.indicatorsRSI, AvgOverbought, Oversold, ExtremeHigh, ExtremeLow, ShowDivergence, DivPivot, DivMaxBars, DivMinBars, Period, Smooth
atrc.ind or market.indicatorsATRPeriod
macdc.ind or market.indicatorsMACD, Avg, DiffFast, Slow, Smooth
adxc.ind or market.indicatorsADXPeriod
stochc.ind only%K, %D%K, smooth, %D, lower, upper
ccic.ind or market.indicatorsCCIPeriod
willrc.ind only%Rperiod, lower, upper
rocc.ind onlyrocperiod
mfic.ind or market.indicatorsMFIColorByState, Period
obvc.ind or market.indicatorsOBVnone
cmfc.ind onlycmfperiod
stddevc.ind or market.indicatorsStdDevPeriod
aroonc.ind or market.indicatorsUp, DownPeriod
bbmacdc.ind onlymacd, avg, upper, lower, statefast, slow, band, stddev
volbarsc.ind onlyvolumelookback

Study parameters are matched with spaces removed and without regard to case, and one that takes a single input also accepts period. market.atr(period) is the same number as the atr study without the indicator call.

VWAP is two different indicators under one name. Since 1.0.37 there is a Vwap in the library as well as the vwap study, and c.ind() searches the studies first — so c.ind("vwap") reaches the chart's version, with the line and two band pairs, while market.indicators.vwap() reaches the library one, which has a choice of anchor, a weighted-price setting and a third band. They are not the same arithmetic and they do not return the same plots. Pick the one you mean deliberately; the two calls that look interchangeable are not.

Catalog

Nine more exist in the registry and are left out here: they need data Quantum has no source for — open interest, commitments of traders, market breadth. They compile and never produce a value, so a strategy built on one takes no trades and never says why.

indicator_list answers 204, which is this catalog plus the 16 chart studies above, listed together and marked source: "chart study". It does not count the nine. The two are kept apart here because they are reached differently.

188 indicators · click one for its parameters and an example

Oscillators (57)

Moving averages (29)

Volume (24)

Trend & direction (19)

Patterns & structure (17)

Statistics (13)

Bands & channels (11)

Volatility (10)

Pivots & levels (5)

Other (3)