Appearance
Personalize your experience
Indicator Reference
ReferenceAll 94 indicators the strategy engine computes, grouped as in the builder's picker, with their parameters, outputs and the range of values each output can take.
How to read this
These tables are generated from the engine's — the same list the form, node and JSON editors offer — so a name, parameter or output listed here is one the engine accepts, and anything not listed is with the JSON of the mistake. Every indicator is causal (its on a bar depends only on that bar and earlier ones) and has no value while it warms up.
The column matters for writing conditions: a condition that for a outside it can never be true and is (RSI > 120, Doji == 2). Prices are always above zero; events are 0 or 1; directions are −1, 0 or +1.
Families matter more than individual names. Every trend indicator answers “which way and how hard”, every momentum oscillator “how stretched”. Two members of one family give the same answer twice; useful combinations families.
Price
Bar prices and price changes.
| Indicator | What it measures | Parameters (default, range) | Outputs and value range |
|---|---|---|---|
| Close | price. | — | value: price |
| Open | Bar open price. | — | value: price |
| High | Bar high price. | — | value: price |
| Low | Bar low price. | — | value: price |
| HL2 | (high + low) / 2. | — | value: price |
| HLC3 | (high + low + close) / 3. | — | value: price |
| OHLC4 | (open + high + low + close) / 4. | — | value: price |
| PriceChange | Change of the source over N bars, in price units. | period = 1 (1…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: any value |
Trend
Moving averages and trend-following overlays.
| Indicator | What it measures | Parameters (default, range) | Outputs and value range |
|---|---|---|---|
| SMA | Simple moving average. | period = 20 (1…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: price |
| EMA | . | period = 20 (1…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: price |
| WMA | Linearly weighted moving average. | period = 20 (1…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: price |
| DEMA | Double exponential moving average: 2· − EMA(EMA). | period = 20 (1…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: price |
| TEMA | Triple exponential moving average. | period = 20 (1…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: price |
| HMA | Hull moving average: WMA(2·WMA(n/2) − WMA(n), √n). | period = 20 (2…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: price |
| KAMA | Kaufman adaptive moving average. | period = 10 (2…1000); fast = 2 (1…100); slow = 30 (2…500); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: price |
| VWMA | Volume-weighted moving average. | period = 20 (1…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: price |
| Supertrend | trailing that flips with the trend. | period = 10 (1…1000); multiplier = 3 (0.1…20) | line: price; direction: -1, 0 or +1 |
| ParabolicSAR | 's stop-and-reverse. | step = 0.02 (0.001…0.5); max = 0.2 (0.01…1) | sar: price; direction: -1, 0 or +1 |
| Ichimoku | Ichimoku lines; the cloud spans are shown as plotted at the current bar. | tenkan = 9 (1…200); kijun = 26 (1…300); senkou = 52 (1…500) | tenkan: price; kijun: price; spanA: price; spanB: price |
| Aroon | Bars since the / lowest low, scaled 0..100. | period = 25 (1…1000) | up: between 0 and 100; down: between 0 and 100; oscillator: between -100 and 100 |
| ADX | Average directional index with +DI / −DI. | period = 14 (1…1000) | adx: between 0 and 100; plusDI: between 0 and 100; minusDI: between 0 and 100 |
Momentum
Oscillators measuring speed and strength of moves.
| Indicator | What it measures | Parameters (default, range) | Outputs and value range |
|---|---|---|---|
| RSI | 's . | period = 14 (2…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: between 0 and 100 |
| MACD | (fast) − EMA(slow) with a signal line. | fast = 12 (1…500); slow = 26 (2…1000); signal = 9 (1…500); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | macd: any value; signal: any value; histogram: any value |
| Stochastic | Slow stochastic oscillator %K / %D. | kPeriod = 14 (1…500); kSmooth = 3 (1…50); dPeriod = 3 (1…50) | k: between 0 and 100; d: between 0 and 100 |
| StochRSI | Stochastic of . | rsiPeriod = 14 (2…500); stochPeriod = 14 (1…500); kSmooth = 3 (1…50); dSmooth = 3 (1…50); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | k: between 0 and 100; d: between 0 and 100 |
| CCI | Commodity channel index of the typical price. | period = 20 (2…1000) | value: any value |
| WilliamsR | Close relative to the N-bar range, −100..0. | period = 14 (1…1000) | value: between -100 and 0 |
| ROC | Percent change of the source over N bars. | period = 12 (1…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: any value |
| MFI | Volume-weighted of the typical price. | period = 14 (1…1000) | value: between 0 and 100 |
| AwesomeOsc | SMA(hl2, fast) − SMA(hl2, slow). | fast = 5 (1…200); slow = 34 (2…500) | value: any value |
Volatility
Range, deviation and channel indicators.
| Indicator | What it measures | Parameters (default, range) | Outputs and value range |
|---|---|---|---|
| ATR | 's average true range, in price units. | period = 14 (1…1000) | value: at least 0 |
| BollingerBands | SMA ± k standard deviations. | period = 20 (2…1000); stdDev = 2 (0.1…10); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | middle: price; upper: price; lower: price; width: at least 0; percentB: any value |
| KeltnerChannel | ± multiple of . | period = 20 (1…1000); multiplier = 2 (0.1…10); atrPeriod = 10 (1…500) | middle: price; upper: price; lower: price |
| DonchianChannel | / lowest low over N bars (includes the current bar — use offset 1 for breakouts). | period = 20 (1…1000) | middle: price; upper: price; lower: price |
| StdDev | population . | period = 20 (2…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: at least 0 |
Volume
Volume and money- indicators.
| Indicator | What it measures | Parameters (default, range) | Outputs and value range |
|---|---|---|---|
| Volume | Bar volume. | — | value: volume, at least 0 |
| VWAP | Volume-weighted average price with standard-deviation bands. | anchor = session (session | cumulative); bandMult = 1 (0.1…5) | vwap: price; upper: price; lower: price |
| OBV | volume signed by close direction. | — | value: volume |
| ADLine | close-location-weighted volume. | — | value: volume |
| CMF | Money- volume over volume, −1..1. | period = 20 (1…1000) | value: between -1 and 1 |
| VolumeSMA | Simple moving average of volume. | period = 20 (1…1000) | value: volume, at least 0 |
| VolumeROC | Percent change of volume over N bars. | period = 14 (1…1000) | value: any value |
| RelativeVolume | Volume divided by the average volume of the previous N bars. | period = 20 (1…1000) | value: at least 0 |
Statistics
of any bar field.
| Indicator | What it measures | Parameters (default, range) | Outputs and value range |
|---|---|---|---|
| StatMedian | . | period = 20 (1…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: price |
| StatVariance | population variance. | period = 20 (2…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: at least 0 |
| StatZScore | Standard deviations of the source from its mean. | period = 20 (2…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: any value |
| StatPercentRank | Percent of the previous N values below the current . | period = 100 (1…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: between 0 and 100 |
| StatCorrelation | Pearson correlation between two bar fields. | period = 20 (2…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume); source2 = volume (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: between -1 and 1 |
| StatSkewness | of the . | period = 20 (3…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: any value |
| StatKurtosis | excess (0 = normal). | period = 20 (4…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: any value |
| StatLinRegSlope | Slope of the least-squares line, price units per bar. | period = 20 (2…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: any value |
| StatLinReg | of the least-squares line at the current bar. | period = 20 (2…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: price |
| StatRSquared | Goodness of the linear fit, 0..1. | period = 20 (2…1000); source = close (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: between 0 and 1 |
| Highest | of the source over N bars (includes the current bar). | period = 20 (1…1000); source = high (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: price |
| Lowest | of the source over N bars (includes the current bar). | period = 20 (1…1000); source = low (close | open | high | low | hl2 | hlc3 | ohlc4 | volume) | value: price |
Support & Resistance
Daily levels, pivots, ranges and swings.
| Indicator | What it measures | Parameters (default, range) | Outputs and value range |
|---|---|---|---|
| PivotPoints | floor pivots from the previous trading day. | — | pp: price; r1: price; r2: price; r3: price; s1: price; s2: price; s3: price |
| FibRetracement | level of the N-bar range, measured down from the high. | period = 100 (2…1000); level = 0.618 (0…1) | value: price |
| PrevHigh | High of the previous trading day. | — | value: price |
| PrevLow | Low of the previous trading day. | — | value: price |
| PrevClose | Close of the previous trading day. | — | value: price |
| DayOpen | Open of the current trading day. | — | value: price |
| DayHigh | High of the current trading day so far. | — | value: price |
| DayLow | Low of the current trading day so far. | — | value: price |
| OpeningRange | High / low of the first N minutes of the day; available once the range is complete. | minutes = 15 (1…480) | high: price; low: price |
| SwingHigh | Price of the most recent confirmed swing high (pivot with N lower highs on each side). | strength = 3 (1…50) | value: price |
| SwingLow | Price of the most recent confirmed swing low. | strength = 3 (1…50) | value: price |
Market Structure
Swing structure, breaks and changes of character.
| Indicator | What it measures | Parameters (default, range) | Outputs and value range |
|---|---|---|---|
| HigherHigh | 1 while the latest swing high is above the previous one. | strength = 3 (1…50) | value: 0 or 1 |
| LowerHigh | 1 while the latest swing high is below the previous one. | strength = 3 (1…50) | value: 0 or 1 |
| HigherLow | 1 while the latest swing low is above the previous one. | strength = 3 (1…50) | value: 0 or 1 |
| LowerLow | 1 while the latest swing low is below the previous one. | strength = 3 (1…50) | value: 0 or 1 |
| BreakOfStructure | +1 on the bar that closes above the last swing high, −1 below the last swing low. | strength = 3 (1…50) | value: -1, 0 or +1 |
| ChangeOfCharacter | +1 / −1 on a structure break against the prevailing trend. | strength = 3 (1…50) | value: -1, 0 or +1 |
Candlestick Patterns
1 on the bar the pattern completes, else 0.
| Indicator | What it measures | Parameters (default, range) | Outputs and value range |
|---|---|---|---|
| Doji | Body no larger than a fraction of the range. | bodyRatio = 0.1 (0.01…0.5) | value: 0 or 1 |
| Hammer | Long lower , upper shadow, after a down bar. | wickRatio = 2 (1…10) | value: 0 or 1 |
| InvertedHammer | Long upper , lower shadow, after a down bar. | wickRatio = 2 (1…10) | value: 0 or 1 |
| ShootingStar | Long upper , lower shadow, after an up bar. | wickRatio = 2 (1…10) | value: 0 or 1 |
| BullishEngulfing | Bullish body the previous bearish body. | — | value: 0 or 1 |
| BearishEngulfing | Bearish body the previous bullish body. | — | value: 0 or 1 |
| BullishHarami | bullish body inside the previous bearish body. | — | value: 0 or 1 |
| BearishHarami | bearish body inside the previous bullish body. | — | value: 0 or 1 |
| MorningStar | Bearish bar, -bodied bar, then a bullish bar closing past the first bar's midpoint. | — | value: 0 or 1 |
| EveningStar | Bullish bar, -bodied bar, then a bearish bar closing past the first bar's midpoint. | — | value: 0 or 1 |
| ThreeWhiteSoldiers | Three rising bullish bars, each opening inside the previous body. | — | value: 0 or 1 |
| ThreeBlackCrows | Three falling bearish bars, each opening inside the previous body. | — | value: 0 or 1 |
| Marubozu | +1 bullish / −1 bearish bar with (almost) no shadows. | wickRatio = 0.05 (0…0.3) | value: -1, 0 or +1 |
Date & Time
Calendar and clock values in the .
| Indicator | What it measures | Parameters (default, range) | Outputs and value range |
|---|---|---|---|
| MarketOpen | 1 on the first bar of each trading day. | — | value: 0 or 1 |
| MarketClose | 1 on bars that end within N minutes of the close time. | closeTime = 1530 (0…2359); minutesBefore = 0 (0…600) | value: 0 or 1 |
| DayOfWeek | 1 = Monday … 7 = Sunday. | — | value: between 1 and 7 (whole numbers) |
| HourOfDay | Local hour, 0..23. | — | value: between 0 and 23 (whole numbers) |
| MinuteOfHour | Local minute, 0..59. | — | value: between 0 and 59 (whole numbers) |
| TimeOfDay | Local bar open time as HHMM, e.g. 930 for 09:30. | — | value: between 0 and 2359 (whole numbers) |
| BarOfDay | 1 for the first bar of the day, 2 for the second, … | — | value: at least 1 (whole numbers) |
Custom formulas
CustomFormula evaluates an over bar fields and any indicator, per bar, like a indicator. Comparisons and logic yield 1 or 0, and a missing (warm-up) stays missing. The formula is checked when the is parsed: an unknown name or a syntax error is an error, not a silent zero.
(close - SMA(close, 20)) / ATR(14) # distance from the mean in ATRs
(high - low) / close * 100 # bar range as a percent of price
BollingerBands(close, 20, 2).upper - close # room left to the upper band
RSI(close, 14)[1] < 30 && close > open # yesterday oversold, green bar today| Kind | Available |
|---|---|
| Bar fields | open, high, low, close, volume, hl2, hlc3, ohlc4 |
| Functions | abs(), sqrt(), log(), exp(), ceil(), floor(), round(), pow(), min(), max(), sign(), clamp(), nz() |
| Operators | + - * / % ^ < > <= >= == != && || ! ?: |
| Indicators | any catalog indicator as NAME(args).output[barsAgo], e.g. SMA(close, 20), BollingerBands(close, 20, 2).upper, RSI(close, 14)[1] |
QuaScript indicators
QuaScript runs one of your QuaScript indicators inside the engine and reads one of its series: a render.line by its title, or a render.mark as a 1 / 0 event named mark: <title>. In the builder, pick it from the Custom category, load a saved indicator or a bundled preset, then choose the series and set the script's inputs.
{
"indicator": "QuaScript",
"params": {
"script": "analysis \"Fast RSI\" {}\nlen = param.int(7, \"Length\")\nrender.line(ta.rsi(close, len), \"RSI\")",
"series": "RSI",
"inputs": { "length": 9 }
},
"operator": "crossesAbove",
"value": 30
}use "smc/zones") work.Choosing indicators
Selection guide
- One per signal (a or an event), the rest as filters (comparisons)
- Direction from a trend indicator: / SMA, Supertrend direction, ADX +DI / −DI
- Timing from an oscillator or an event: , Stochastic, a pattern, a break of structure
- Confirmation from a different family: volume (RelativeVolume, Volume vs VolumeSMA) or volatility (, bandwidth)
- A higher-timeframe by setting the operand interval (e.g. 1h 50 on a 5m )
- Clock and calendar filters (TimeOfDay, DayOfWeek) on intraday strategies — they are free and often worth more than another indicator
See also
Related articles
Related to Indicator Reference
- Quatick Script SDK Reference
Coding / IDE / Reference
The Quatick IDE injects the SDK directly into TypeScript indicator, overlay, and strategy scripts at Apply time. You do not import SDK functions. Use the…
- Condition Evaluator
Automation / Strategy Builder / Reference
How a condition becomes true on a bar: series computed up front, no value during warm-up, the exact cross and rising rules, and the order of work on each…
- DSL Bots
Automation / Strategy Builder / Reference
The 49 ready-made strategy-DSL bots: where to find them, how to load and adapt one, the file format, and what every bot is tested for.
- Pitfalls & Anti-Patterns
Automation / Strategy Builder / Reference
The failure modes that show up repeatedly, what each one looks like from inside the builder, and the change that actually fixes it.
- Strategy Builder FAQ
Automation / Strategy Builder / Reference
The questions that come up most often, answered with what the engine actually does rather than what would be convenient.
- Strategy DSL Format
Automation / Strategy Builder / Reference
The engine JSON a strategy saves as. The form, node and JSON editors all edit this one document, and the C++ engine runs it unchanged in backtests and live.
- Variables Reference
Automation / Strategy Builder / Reference
What can appear on either side of a condition — bar fields, earlier bars, higher timeframes, statistics, clock and calendar values, and formulas — and how…
- ATR Channel
Charts / Drawing Tools / Channels
A least-squares trend line with boundaries a multiple of average true range away on each side. A volatility channel over a range you select — it answers how…
- Book vs Tape Profile
Trading / Order Book / Views
What is resting at each price beside what has actually traded there — intent against action.