Concepts › Signals › Signal catalog
Technicals catalog
Named technical indicators (SMA, EMA, VWAP, RSI, stochastics, MACD, ADX, Bollinger, ATR) and every signal computed through one. The test: a named mathematical object sits between the bars and the signal.
Moving averages & VWAP
SMAs, EMAs, and VWAPs, with the distances, above/below states, and crosses they own.
| Column | Type | Description |
|---|---|---|
day_vwap | numeric | Today’s session volume-weighted average price. |
ema_12 | numeric | 12-day EMA. Fast-side input of canonical MACD (`macd = ema_12 − ema_26`). |
ema_21 | numeric | 21-day EMA. Often paired with `ema_9` for short-trend bias; also serves as a dynamic-support reference. |
ema_26 | numeric | 26-day EMA. Slow-side input of canonical MACD (`macd = ema_12 − ema_26`). |
ema_9 | numeric | 9-day exponential moving average of close. Most-recent-weighted; reacts faster than the same-period SMA. Commonly paired with `ema_21` for short-trend bias. |
min_vwap | numeric | Current minute bar’s volume-weighted average price. |
pct_from_sma_10 | numeric | Percent difference between current close and `sma_10`. Positive = above MA, negative = below. Continuous version of the `above_sma_10` boolean. |
pct_from_sma_100 | numeric | Percent difference between current close and `sma_100`. Daily-cadence because the slow MA changes slowly. |
pct_from_sma_20 | numeric | Percent difference between current close and `sma_20`. Continuous version of the `above_sma_20` boolean. |
pct_from_sma_200 | numeric | Percent distance from the 200-day SMA. Negative when price is below the average. |
pct_from_sma_50 | numeric | Percent distance from the 50-day SMA. Negative when price is below the average. |
pct_from_vwap | numeric | Percent distance from today’s VWAP. |
prev_day_vwap | numeric | Previous trading day’s session VWAP. |
sma_10 | numeric | 10-day simple moving average. |
sma_100 | numeric | 100-day simple moving average of close. Slower than `sma_50`, faster than `sma_200` — useful for intermediate-term trend. |
sma_20 | numeric | 20-day simple moving average. |
sma_200 | numeric | 200-day simple moving average. |
sma_50 | numeric | 50-day simple moving average. |
vwap | numeric | Daily volume-weighted average price from market open through the most recent print. Updates intraday with each new tick. |
above_sma_10 | state | Price is above the 10-day simple moving average.close > sma_10 |
above_sma_20 | state | Price is above the 20-day simple moving average.close > sma_20 |
above_sma_200 | state | Price is above the 200-day simple moving average.close > sma_200 |
above_sma_50 | state | Price is above the 50-day simple moving average.close > sma_50 |
above_vwap | state | Price is above today’s volume-weighted average price.close > vwap |
above_vwap_minute | state | Current price above session VWAP.close > vwap_session |
death_cross | event | 50-day SMA crossed below 200-day SMA today.Yesterday: sma_50 ≥ sma_200. Today: sma_50 < sma_200. |
death_regime | state | Long-term downtrend regime — 50-day SMA below 200-day SMA.sma_50 < sma_200 |
golden_cross | event | 50-day SMA crossed above 200-day SMA today.Yesterday: sma_50 ≤ sma_200. Today: sma_50 > sma_200. |
golden_regime | state | Long-term uptrend regime — 50-day SMA above 200-day SMA.sma_50 > sma_200 |
held_above_vwap_30m | state | Price has stayed above session VWAP without dipping for at least 30 minutes.close > vwap_session for every minute in the last 30 |
held_below_vwap_30m | state | Price has stayed below session VWAP without lifting for at least 30 minutes.close < vwap_session for every minute in the last 30 |
sma_10_crossed_above_50_today | state | The 10-day SMA crossed above the 50-day SMA today — a short-term bullish cross.sma_10 crossed above sma_50 vs. the prior session |
sma_10_crossed_below_50_today | state | The 10-day SMA crossed below the 50-day SMA today — a short-term bearish cross.sma_10 crossed below sma_50 vs. the prior session |
vwap_cross_down | event | Crossed below session VWAP this minute.close_prev_min >= vwap_session AND close < vwap_session |
vwap_cross_up | event | Crossed above session VWAP this minute.close_prev_min <= vwap_session AND close > vwap_session |
Oscillators
Bounded momentum oscillators: RSI and stochastics, with their threshold flags.
| Column | Type | Description |
|---|---|---|
rsi_14 | numeric | Relative Strength Index, 14-period. Range 0–100. |
rsi_7 | numeric | Relative Strength Index over 7 periods - a faster, more sensitive RSI. Range 0-100. |
stochastic_d | numeric | Stochastic oscillator %D: 3-period smoothing of %K. |
stochastic_k | numeric | Stochastic oscillator %K: where price sits within its recent high-low range, 0-100. |
rsi_overbought | state | RSI(14) is in overbought territory.rsi_14 > 70 |
rsi_oversold | state | RSI(14) is in oversold territory.rsi_14 < 30 |
Trend & direction
Trend direction and strength: MACD, ADX/±DI, SMA-based trend reads, and reversal composites.
| Column | Type | Description |
|---|---|---|
adx_14 | numeric | Average Directional Index (14-period): trend strength from 0 to 100. |
macd_histogram | numeric | MACD line minus signal. Positive when bullish, negative when bearish. |
macd_line | numeric | MACD line (12-EMA minus 26-EMA). |
macd_signal | numeric | MACD signal line (9-EMA of MACD line). |
minus_di | numeric | -DI (14-period): the bearish directional-movement component of the ADX system. |
plus_di | numeric | +DI (14-period): the bullish directional-movement component of the ADX system. |
trend_long | text | Long-term trend classification from `sma_200` slope. One of `uptrend`, `downtrend`, `sideways`. |
trend_medium | text | Medium-term trend classification from `sma_50` slope. One of `uptrend`, `downtrend`, `sideways`. |
trend_short | text | Short-term trend classification from short-MA slope. One of `uptrend`, `downtrend`, `sideways`. |
in_downtrend | state | Stacked downtrend across short, medium, and long horizons.close < sma_50 AND sma_50 < sma_200 |
in_uptrend | state | Stacked uptrend across short, medium, and long horizons.close > sma_50 AND sma_50 > sma_200 |
macd_above_signal | state | MACD line is above its signal line.macd > macd_signal |
macd_below_signal | state | MACD line is below its signal line.macd < macd_signal |
trend_reversal_bearish_today | event | Trend flipped from up to down today.Yesterday: sma_50 > sma_200. Today: macd_bearish AND rsi_14 < 50. |
trend_reversal_bullish_today | event | Trend flipped from down to up today.Yesterday: sma_50 < sma_200. Today: macd_bullish AND rsi_14 > 50. |
Volatility & bands
Volatility measures and deviation envelopes: ATR, Bollinger machinery, VWAP σ-bands.
| Column | Type | Description |
|---|---|---|
atr_14 | numeric | 14-day Average True Range. |
atr_percent | numeric | ATR(14) as a percent of price. Useful as a volatility filter. |
bollinger_lower | numeric | Lower Bollinger band (20-period, 2σ). |
bollinger_middle | numeric | 20-day SMA — the centerline of the Bollinger band. `bollinger_upper` and `bollinger_lower` are already documented; this fills in the missing middle. |
bollinger_pct_b | numeric | Position within Bollinger bands. 0 = at lower band, 1 = at upper band, >1 = outside. |
bollinger_upper | numeric | Upper Bollinger band (20-period, 2σ). |
bollinger_width | numeric | `(bollinger_upper − bollinger_lower) / bollinger_middle`. Normalized width — measures volatility regime. Narrow widths often precede expansion (see `bollinger_squeeze` in flags.ts). |
vwap_lower_band | numeric | VWAP − 2 standard deviations. Dynamic support reference. |
vwap_upper_band | numeric | VWAP + 2 standard deviations of intraday price action. Dynamic resistance reference. |
at_bollinger_lower | state | Price has reached the lower Bollinger band.abs(close - bb_lower) / close < 0.02 (within 2% of the lower band, above or below) |
at_bollinger_upper | state | Price has reached the upper Bollinger band.abs(close - bb_upper) / close < 0.02 (within 2% of the upper band, above or below) |
bollinger_squeeze | state | Bollinger band width compressed to a multi-week low — volatility is contracted.bollinger_width < 0.04 |