Atom Catalog
Short codes, exact/best-effort logic, stage, edge, and usage signals.
| Code | Atom | Group | Role | Logic | Edge | Samples |
|---|---|---|---|---|---|---|
| T3AX | AVWAP reclaim failureT_AVWAP_FAILURE_3W | anchored vwap pullback | blocker | T_AVWAP_FAILURE_3WThe undercut does not close back above the selected AVWAP during the next three completed weeks. | - | 0 |
| TACX | Multiple AVWAP line confluenceT_AVWAP_CONFLUENCE | anchored vwap pullback | context | T_AVWAP_CONFLUENCEAt least two eligible preserved AVWAP lines are within 0.25 weekly ATR13 of the selected line. | - | 0 |
| TAMT | AVWAP touch at completed month endT_AVWAP_MONTHLY_TOUCH | anchored vwap pullback | context | T_AVWAP_MONTHLY_TOUCHAt a completed month end, at least one completed week in that month had an AVWAP return touch. The AVWAP does not reset each month. | - | 0 |
| T4AX | Selected AVWAP slope upT_AVWAP_SLOPE_UP_4W | anchored vwap pullback | context | T_AVWAP_SLOPE_UP_4WThe selected AVWAP is above its value four completed weeks earlier. | - | 0 |
| TALB | Causal AVWAP extension launchT_AVWAP_LAUNCH_BEFORE_TOUCH | anchored vwap pullback | outcome | For each line or confluence-zone episode, take the maximum later completed-week close extension above the frozen AVWAP before the next range touch. Compare it with the pooled expanding median of positive extensions from earlier resolved episodes; episodes with no positive extension are excluded. Same-date resolutions are excluded.The selected line episode extends above the pooled causal median extension before the next touch of that line. The launch threshold uses only episodes resolved before the touch date. | - | 0 |
| TAAX | AVWAP return line armedT_AVWAP_ARMED | anchored vwap pullback | setup | T_AVWAP_ARMEDAt least one preserved volume-event AVWAP has a completed weekly close two weekly ATR13 units above it. | - | 0 |
| TAUX | AVWAP weekly undercutT_AVWAP_UNDERCUT | anchored vwap pullback | setup | T_AVWAP_UNDERCUTThe first touch week closes below the selected AVWAP and starts a three-week reclaim window. | - | 0 |
| T95A | Causal volume-event AVWAP anchorT_AVWAP_VOL_P95_ANCHOR | anchored vwap pullback | setup | Weekly volume divided by the median of the prior 13 completed weeks. Compare it with the 95th percentile of prior relative-volume values only. Require 52 prior values.A completed week has relative volume at or above the expanding causal 95th percentile. | - | 0 |
| TAHX | AVWAP weekly holdT_AVWAP_HOLD | anchored vwap pullback | trigger | T_AVWAP_HOLDThe first touch week closes at or above the selected AVWAP. | - | 0 |
| T3A1 | AVWAP reclaim within three weeksT_AVWAP_RECLAIM_3W | anchored vwap pullback | trigger | T_AVWAP_RECLAIM_3WA completed weekly close reclaims the selected AVWAP no more than three completed weeks after an undercut. | - | 0 |
| TART | First armed AVWAP return touchT_AVWAP_RETURN_TOUCH | anchored vwap pullback | trigger | T_AVWAP_RETURN_TOUCHThe first later completed weekly range intersects the selected armed AVWAP within one weekly ATR13 and the line slopes up. | - | 0 |
| TAWR | AVWAP wick rejectionT_AVWAP_WICK_REJECTION | anchored vwap pullback | trigger | T_AVWAP_WICK_REJECTIONThe touch week trades below the selected AVWAP and closes at or above it. | - | 0 |
| T20A | Ascending base geometryT_ASCENDING_BASE_GEOMETRY_20D | ascending flag | trigger | 20D high-line slope <= 15% AND 20D low-line slope > 0% AND 20D low-line slope > 20D high-line slope AND Close position in 20D base >= 0.50 AND 20D base range <= 35% AND Distance from prior 20D high in ATR between -1.0..0.5 ATR AND Close > 50D SMAHigh-line not vertical, low-line rising, low slope above high slope, close in upper half, reasonable range, near 20-day high, and above MA50. | - | 0 |
| T201 | Ascending base geometry with RSI resetT_ASCENDING_BASE_GEOMETRY_RESET_20D | ascending flag | trigger | 20D ATR extension <= 1.5 AND 20D high-line slope <= 15% AND 20D low-line slope > 0% AND 20D low-line slope > 20D high-line slope AND Close position in 20D base >= 0.50 AND 20D base range <= 35% AND Distance from prior 20D high in ATR between -1.0..0.5 ATR AND Close > 50D SMA AND RSI14 between 50..65Ascending base geometry plus RSI14 reset and no severe ATR extension. | - | 0 |
| T202 | Ascending flag breakoutT_ASCENDING_FLAG_BREAKOUT_20D | ascending flag | trigger | Recent 5D low > Prior 15D low AND Close position in 20D base >= 0.50 AND 20D base range <= 35% AND Distance from prior 20D high in ATR between -1.0..0.5 ATR AND Close > 50D SMA AND Close > Prior 20D high AND Volume > Prior 20D avg volume AND 5D return <= 8%Ascending flag structure that breaks the 20-day high with volume confirmation and no 5-day chase. | - | 0 |
| T203 | Ascending flag with RSI resetT_ASCENDING_FLAG_RESET_20D | ascending flag | trigger | 20D ATR extension <= 1.5 AND Recent 5D low > Prior 15D low AND Close position in 20D base >= 0.50 AND 20D base range <= 35% AND Distance from prior 20D high in ATR between -1.0..0.5 ATR AND Close > 50D SMA AND RSI14 between 50..65Ascending flag structure plus RSI14 reset and no severe ATR extension. | - | 0 |
| T204 | Ascending flag structureT_ASCENDING_FLAG_STRUCTURE_20D | ascending flag | trigger | Recent 5D low > Prior 15D low AND Close position in 20D base >= 0.50 AND 20D base range <= 35% AND Distance from prior 20D high in ATR between -1.0..0.5 ATR AND Close > 50D SMAHigher recent low (last 5 sessions above prior 15), close in upper half of 20-day base, base range <= 35%, close within [-1.0, +0.5] ATR of prior 20-day high, and close above 50-day SMA. | - | 0 |
| T20B | 20-day base convergingT_BASE_CONVERGING_20D | ascending flag | trigger | 20D low-line slope > 20D high-line slopeLow-line slope exceeds high-line slope, approximating a tightening ascending base. | - | 0 |
| T205 | 20-day base highs roughly flatT_BASE_HIGH_DRIFT_20D_FLAT | ascending flag | trigger | 20D high-line slope between -5%..5%Regression slope of daily highs over the 20-day base is between -5% and +5% over the fitted window. | - | 0 |
| T206 | 20-day base highs not verticalT_BASE_HIGH_DRIFT_20D_NOT_VERTICAL | ascending flag | trigger | 20D high-line slope <= 15%Regression slope of daily highs over the 20-day base is no more than +15%. | - | 0 |
| T207 | 20-day base highs drifting mildly upwardT_BASE_HIGH_DRIFT_20D_UP_MINOR | ascending flag | trigger | 20D high-line slope between 0%..10%Regression slope of daily highs over the 20-day base is between 0% and +10%. | - | 0 |
| T208 | 20-day base lows risingT_BASE_LOW_DRIFT_20D_UP | ascending flag | trigger | 20D low-line slope > 0%Regression slope of daily lows over the 20-day base is positive. | - | 0 |
| T209 | 20-day base lows rising stronglyT_BASE_LOW_DRIFT_20D_UP_STRONG | ascending flag | trigger | 20D low-line slope >= 5%Regression slope of daily lows over the 20-day base is at least +5%. | - | 0 |
| T210 | 20-day base range compactT_BASE_RANGE_COMPACT_20D | ascending flag | trigger | 20D base range <= 20%The 20-day high-low range is no more than 20%. | - | 0 |
| T211 | 20-day base range not excessiveT_BASE_RANGE_NORMAL_20D | ascending flag | trigger | 20D base range <= 35%The 20-day high-low range is no more than 35%. | - | 0 |
| T212 | Close in upper half of 20-day baseT_BASE_UPPER_HALF_20D | ascending flag | trigger | Close position in 20D base >= 0.50Current close is in the upper half of the 20-day high-low range. | - | 0 |
| T213 | Close in upper third of 20-day baseT_BASE_UPPER_THIRD_20D | ascending flag | trigger | Close position in 20D base >= 0.67Current close is in the upper third of the 20-day high-low range. | - | 0 |
| T51H | Recent low above prior 10-day base lowT_HIGHER_LOW_5V10 | ascending flag | trigger | min(low[t-4:t]) > min(low[t-14:t-5])The lowest low in the last 5 sessions is above the lowest low in the prior 10-session window. | - | 0 |
| T511 | Recent low above prior 15-day base lowT_HIGHER_LOW_5V15 | ascending flag | trigger | Recent 5D low > Prior 15D lowThe lowest low in the last 5 sessions is above the lowest low in the prior 15-session window. | - | 0 |
| T20N | Near 20-day high in ATR unitsT_NEAR_20D_HIGH_ATR | ascending flag | trigger | Distance from prior 20D high in ATR between -1.0..0.5 ATRClose is within 1 ATR below the prior 20-day high and has not yet exceeded it by 0.5 ATR. | - | 0 |
| T14R | RSI14 reset but still constructiveT_RSI14_RESET_50_65 | ascending flag | trigger | RSI14 between 50..6514-day RSI is between 50 and 65, suggesting a cooled but not broken consolidation. | - | 0 |
| M5SX | SPY monthly BX rising over five periodsM_SPY_BX_MONTHLY_RISING5 | bx trend | context | M_SPY_BX_MONTHLY_RISING5The latest completed SPY monthly BX value is above its value five completed months earlier. | - | 0 |
| M5S1 | SPY weekly BX rising over five periodsM_SPY_BX_WEEKLY_RISING5 | bx trend | context | M_SPY_BX_WEEKLY_RISING5The latest completed SPY weekly BX value is above its value five completed weeks earlier. | - | 0 |
| S5SX | Sector monthly BX rising over five periodsS_SECTOR_BX_MONTHLY_RISING5 | bx trend | context | S_SECTOR_BX_MONTHLY_RISING5The latest completed point-in-time sector ETF monthly BX value is above its value five completed months earlier. | - | 0 |
| S5S1 | Sector weekly BX rising over five periodsS_SECTOR_BX_WEEKLY_RISING5 | bx trend | context | S_SECTOR_BX_WEEKLY_RISING5The latest completed point-in-time sector ETF weekly BX value is above its value five completed weeks earlier. | - | 0 |
| TCTB | Classic-quiet arm-date controlT_CQ_TIMING_BASE | classic quiet entry timing | trigger | T_CQ_TIMING_BASEThe completed weekly classic-quiet score-90 signal arms the ticker without a daily timing delay. | -22.4% | 1,007 |
| T20C | Classic-quiet 20-session close breakout long controlT_CQ_TIMING_BREAKOUT20_NOEXP | classic quiet entry timing | trigger | T_CQ_TIMING_BREAKOUT20_NOEXPThe first completed daily close above the prior 20-session closing high occurs during the 252-session control window. | -20.2% | 436 |
| T214 | Classic-quiet 20-session close breakout in 20 sessionsT_CQ_TIMING_BREAKOUT20_W20 | classic quiet entry timing | trigger | T_CQ_TIMING_BREAKOUT20_W20The first completed daily close above the prior 20-session closing high occurs before 20 armed sessions expire. | -16.6% | 355 |
| T215 | Classic-quiet 20-session close breakout in 40 sessionsT_CQ_TIMING_BREAKOUT20_W40 | classic quiet entry timing | trigger | T_CQ_TIMING_BREAKOUT20_W40The first completed daily close above the prior 20-session closing high occurs before 40 armed sessions expire. | -19.8% | 682 |
| T216 | Classic-quiet 20-session close breakout in 60 sessionsT_CQ_TIMING_BREAKOUT20_W60 | classic quiet entry timing | trigger | T_CQ_TIMING_BREAKOUT20_W60The first completed daily close above the prior 20-session closing high occurs before 60 armed sessions expire. | -20.4% | 710 |
| TCTC | Classic-quiet compression release long controlT_CQ_TIMING_COMPRESSION_RELEASE_NOEXP | classic quiet entry timing | trigger | T_CQ_TIMING_COMPRESSION_RELEASE_NOEXPThe first causal compression-release close occurs during the 252-session control window. | -18.2% | 130 |
| T217 | Classic-quiet compression release in 20 sessionsT_CQ_TIMING_COMPRESSION_RELEASE_W20 | classic quiet entry timing | trigger | T_CQ_TIMING_COMPRESSION_RELEASE_W20The first causal compression-release close occurs before 20 armed sessions expire. | -1.8% | 39 |
| T40C | Classic-quiet compression release in 40 sessionsT_CQ_TIMING_COMPRESSION_RELEASE_W40 | classic quiet entry timing | trigger | T_CQ_TIMING_COMPRESSION_RELEASE_W40The first causal compression-release close occurs before 40 armed sessions expire. | -9.2% | 74 |
| T60C | Classic-quiet compression release in 60 sessionsT_CQ_TIMING_COMPRESSION_RELEASE_W60 | classic quiet entry timing | trigger | T_CQ_TIMING_COMPRESSION_RELEASE_W60The first causal compression-release close occurs before 60 armed sessions expire. | -13.5% | 101 |
| TCTD | Classic-quiet demand expansion long controlT_CQ_TIMING_DEMAND_NOEXP | classic quiet entry timing | trigger | T_CQ_TIMING_DEMAND_NOEXPThe first causal demand-expansion close occurs during the 252-session control window. | -20.0% | 364 |
| T218 | Classic-quiet demand expansion in 20 sessionsT_CQ_TIMING_DEMAND_W20 | classic quiet entry timing | trigger | T_CQ_TIMING_DEMAND_W20The first causal demand-expansion close occurs before 20 armed sessions expire. | -11.8% | 406 |
| T401 | Classic-quiet demand expansion in 40 sessionsT_CQ_TIMING_DEMAND_W40 | classic quiet entry timing | trigger | T_CQ_TIMING_DEMAND_W40The first causal demand-expansion close occurs before 40 armed sessions expire. | -17.6% | 366 |
| T601 | Classic-quiet demand expansion in 60 sessionsT_CQ_TIMING_DEMAND_W60 | classic quiet entry timing | trigger | T_CQ_TIMING_DEMAND_W60The first causal demand-expansion close occurs before 60 armed sessions expire. | -19.0% | 404 |
| T10C | Classic-quiet 10 percent confirmation long controlT_CQ_TIMING_MARKUP10_NOEXP | classic quiet entry timing | trigger | T_CQ_TIMING_MARKUP10_NOEXPThe first completed close at least 10 percent above the armed close occurs during the 252-session control window. | -30.5% | 239 |
| T101 | Classic-quiet 10 percent confirmation in 20 sessionsT_CQ_TIMING_MARKUP10_W20 | classic quiet entry timing | trigger | T_CQ_TIMING_MARKUP10_W20The first completed close at least 10 percent above the armed close occurs before 20 sessions expire. | -34.2% | 186 |
| T102 | Classic-quiet 10 percent confirmation in 40 sessionsT_CQ_TIMING_MARKUP10_W40 | classic quiet entry timing | trigger | T_CQ_TIMING_MARKUP10_W40The first completed close at least 10 percent above the armed close occurs before 40 sessions expire. | -21.8% | 567 |
| T103 | Classic-quiet 10 percent confirmation in 60 sessionsT_CQ_TIMING_MARKUP10_W60 | classic quiet entry timing | trigger | T_CQ_TIMING_MARKUP10_W60The first completed close at least 10 percent above the armed close occurs before 60 sessions expire. | -30.7% | 225 |
| T90C | First quiet score-90 entry without structural-risk gateT_CLASSIC_QUIET_DELAYED_SCORE90_ANY_RISK | classic quiet maturation | blocker | T_CLASSIC_QUIET_DELAYED_SCORE90_ANY_RISKThe first observation in a same-year causal classic-quiet episode with a frozen same-date score percentile of at least 90. Structural risk does not gate the entry. | -1.0% | 1,554 |
| T901 | Quiet-episode score-90 risk-25 entryT_CLASSIC_QUIET_DELAYED_SCORE90_RISK25 | classic quiet maturation | blocker | T_CLASSIC_QUIET_DELAYED_SCORE90_RISK25The first observation inside a causal classic-quiet episode that has a frozen same-date score percentile of at least 90 and signal-date structural risk of at most 25%. | 4.4% | 1,032 |
| T902 | First quiet score-90 risk-25 entryT_CLASSIC_QUIET_FIRST_SCORE90_RISK25 | classic quiet maturation | blocker | T_CLASSIC_QUIET_FIRST_SCORE90_RISK25The first observation in a causal classic-quiet episode has a frozen same-date score percentile of at least 90 and signal-date structural risk of at most 25%. | -8.5% | 674 |
| T95C | First quiet score-95 risk-25 entryT_CLASSIC_QUIET_FIRST_SCORE95_RISK25 | classic quiet maturation | blocker | T_CLASSIC_QUIET_FIRST_SCORE95_RISK25The first observation in a causal classic-quiet episode has a frozen same-date score percentile of at least 95 and signal-date structural risk of at most 25%. | -8.7% | 376 |
| MCRB | Classic-quiet completed-month RSP BX not dark redM_CQ_RSP_BX_NOT_DARK_RED | classic quiet maturation | context | M_CQ_RSP_BX_NOT_DARK_REDThe last fully completed RSP monthly BX state before the signal month is positive or improving. | -2.1% | 570 |
| M20C | Classic-quiet SPY rising EMA200M_CQ_SPY_RISING_EMA200 | classic quiet maturation | context | close > EMA200At the signal close, SPY is above EMA200 and EMA200 is above its prior-session value. | 4.4% | 776 |
| MSCS | Classic-quiet SPY and sector trendM_S_CQ_SPY_SECTOR_TREND | classic quiet maturation | context | trend_filter == trueBoth M_CQ_SPY_RISING_EMA200 and S_CQ_SECTOR_RISING_EMA50 are true at the signal close. | 3.1% | 560 |
| S50C | Classic-quiet sector rising EMA50S_CQ_SECTOR_RISING_EMA50 | classic quiet maturation | context | close > EMA50At the signal close, the mapped sector ETF is above EMA50 and EMA50 is above its prior-session value. | 0.6% | 643 |
| EEPM | Maximum executed entry distance from pivotE_ENTRY_PRICE_MAX_FROM_PIVOT | entry execution | trigger | entry_pivot_distance_pct = entry_price / pivot_price - 1; entry_pivot_distance_atr = (entry_price - pivot_price) / signal_atr20; execute only when distance(mode) <= max_distanceAt next-open execution, skip a trade when the available entry price is too far above the pivot stored by the breakout signal. Report skipped trades and missed winners against the full signal cohort. | - | 0 |
| EBNB | Buy now baselineE_BUY_NOW_BASE | entry trigger | trigger | Buy now baseline == trueEnter at candidate date. | - | 0 |
| EGHX | Gap holdE_GAP_HOLD | entry trigger | trigger | Gap hold == trueEnter after a post-gap digestion that does not fail. | - | 0 |
| E10P | Pullback 10-20%E_PULLBACK_10_20 | entry trigger | trigger | Pullback 10-20% between 10%..20%Enter only after a 10-20% pullback. | - | 0 |
| E31P | Pullback 3-10%E_PULLBACK_3_10 | entry trigger | trigger | Pullback 3-10% between 3%..10%Enter only after a 3-10% pullback. | - | 0 |
| ERBX | Resistance breakE_RESISTANCE_BREAK | entry trigger | trigger | Resistance break == trueEnter on resistance breakout. | - | 0 |
| E14R | RSI14 oversoldE_RSI_14_OVERSOLD | entry trigger | trigger | RSI14 oversold < 30Enter when medium RSI is below threshold. | - | 0 |
| E5RX | RSI5 oversoldE_RSI_5_OVERSOLD | entry trigger | trigger | RSI5 oversold < thresholdEnter when short RSI is below threshold. | - | 0 |
| ERDB | Bullish RSI divergenceE_RSI_DIVERGENCE_BULL | entry trigger | trigger | Bullish RSI divergence == trueEnter on bullish RSI divergence. | - | 0 |
| ETSX | Trendline supportE_TRENDLINE_SUPPORT | entry trigger | trigger | Trendline support == trueEnter near trendline or structural support. | - | 0 |
| EVBX | VCP breakoutE_VCP_BREAKOUT | entry trigger | trigger | 5D range / 20D avg range <= 0.60 AND Close > Prior 20D high AND Volume > Prior 20D avg volume AND 5D return <= 8%Enter on volatility contraction plus breakout. | - | 0 |
| EVPH | VCP pullback holdE_VCP_PULLBACK_HOLD | entry trigger | trigger | VCP pullback hold == trueEnter when contraction/pullback holds support. | - | 0 |
| E10W | Wait 10DE_WAIT_10D | entry trigger | trigger | Wait 10D == trueWait 10 trading days before entry. | - | 0 |
| E20W | Wait 20DE_WAIT_20D | entry trigger | trigger | Wait 20D == trueWait 20 trading days before entry. | - | 0 |
| E5WX | Wait 5DE_WAIT_5D | entry trigger | trigger | Wait 5D == trueWait 5 trading days before entry. | - | 0 |
| EDEB | Delayed post-event consolidation breakoutE_DELAYED_EVENT_BREAKOUT | episodic entry | trigger | 2 <= days_since_event <= max_delay_days AND close[t] > max(high[event_day+1:t-1])After an episodic-volume event, wait for a short consolidation and enter on a close above its prior high. | - | 0 |
| EENO | Episodic event next-open entryE_EVENT_NEXT_OPEN | episodic entry | trigger | signal on event day t close; execute at open[t+1]Enter at the session following a fully observed daily event. Baseline daily-data execution comparator. | - | 0 |
| EERR | Event retest and reclaimE_EVENT_RETEST_RECLAIM | episodic entry | trigger | within max_wait_days: low[t] <= reference + touch_tolerance_atr * atr20 AND close[t] > reference after stabilize_days; execute at open[t+1]Complex stateful entry: store an event reference, wait for price to retest it without structural failure, require stabilization and a close back above the reference, then enter next session. | - | 0 |
| TASV | Minimum absolute daily share volumeT_ABSOLUTE_SHARE_VOLUME_MIN | episodic volume | setup | volume[t] >= min_sharesFlags an unusually active session using an absolute share-count floor, including the Stockbee 8.9-million-share threshold. | - | 0 |
| TDVM | Minimum event-day dollar volumeT_DOLLAR_VOLUME_MIN | episodic volume | setup | close[t] * volume[t] >= min_dollarsTests whether traded value is more portable than a fixed number of shares. Signal is evaluated after the daily close. | - | 0 |
| TECL | Minimum event-day close locationT_EVENT_CLOSE_LOCATION_MIN | episodic volume | setup | (close[t] - low[t]) / (high[t] - low[t]) >= min_locationRequires the event candle to close in the upper portion of its daily range. | - | 0 |
| TERE | Minimum event-day range expansionT_EVENT_RANGE_EXPANSION_MIN | episodic volume | setup | true_range[t] / atr(20)[t-1] >= min_atr_multipleRequires the event candle's true range to expand relative to ATR measured before the event. | - | 0 |
| TERM | Minimum event-day relative volumeT_EVENT_RVOL_MIN | episodic volume | setup | volume[t] / avg(volume[t-average_days:t-1]) >= min_ratioEvent-day volume as a multiple of prior average volume. Normalises participation across differently sized stocks. | - | 0 |
| TFTM | Minimum event-day float turnoverT_FLOAT_TURNOVER_MIN | episodic volume | setup | volume[t] / pit_free_float[t] >= min_turnoverDaily shares traded as a fraction of point-in-time free float. Missing float remains missing and must not be treated as zero. | - | 0 |
| TPEA | Minimum pre-event ADR percentageT_PRE_EVENT_ADR_PCT_MIN | episodic volume | setup | avg(high[i] / low[i] - 1 for i in t-lookback_days:t-1) >= min_adr_pctRequires sufficient pre-existing volatility, calculated without the event day. | - | 0 |
| TPHV | Prior high-volume event countT_PRIOR_HIGH_VOLUME_EVENT_COUNT | episodic volume | setup | count(volume[i] / avg_prior(volume, i, average_days) >= event_rvol_min for i in t-lookback_days:t-1) >= min_countCounts repeated abnormal-volume sessions before the current event as a causal accumulation-footprint proxy. | - | 0 |
| SSEC | Sector EPS cap-weighted growth (correlation-mapped)S_SEC_EPS_CORR_CAPWTD_GROWTH | fundamental quality/value | filter | Sector EPS cap-weighted growth (correlation-mapped) == trueFirst derivative (level) of cap-weighted sector EPS growth, mapped via 126d rolling correlation. | - | 0 |
| SSE1 | Sector EPS median acceleration (correlation-mapped)S_SEC_EPS_CORR_MEDIAN_ACCEL | fundamental quality/value | filter | Sector EPS median acceleration (correlation-mapped) == trueSecond derivative of sector median EPS growth, mapped via 126d rolling correlation to sector ETFs. | - | 0 |
| SSEG | Sector EPS cap-weighted acceleration (GICS)S_SEC_EPS_GICS_CAPWTD_ACCEL | fundamental quality/value | filter | Sector EPS cap-weighted acceleration (GICS) == trueSecond derivative of cap-weighted sector EPS growth, GICS-mapped. Negative = sector earnings decelerating. | - | 0 |
| SSE2 | Sector EPS cap-weighted growth (GICS)S_SEC_EPS_GICS_CAPWTD_GROWTH | fundamental quality/value | filter | Sector EPS cap-weighted growth (GICS) == trueFirst derivative (level) of cap-weighted sector EPS growth, GICS-mapped. | - | 0 |
| SSE3 | Sector EPS median acceleration (GICS)S_SEC_EPS_GICS_MEDIAN_ACCEL | fundamental quality/value | filter | Sector EPS median acceleration (GICS) == trueSecond derivative of sector median EPS growth, GICS-mapped. Negative = sector earnings decelerating. | - | 0 |
| FMEC | Material event catalystF_MATERIAL_EVENT_CATALYST | fundamental quality/value | setup | latest_catalyst.known_at <= signal_time AND latest_catalyst.category IN allowed_categoriesRequires a point-in-time news catalyst classified into an explicitly allowed material category. Classification must be reproducible and known by the signal timestamp. | - | 0 |
| T63G | Low prior 63-session return before AVWAP eventT_GAP_AVWAP_PRIOR_RETURN63_LOW | gap day avwap reclaim | setup | T_GAP_AVWAP_PRIOR_RETURN63_LOWThe prior 63-session return is at or below the entry-type-specific development 20th percentile. The reclaim limit is -11.08%. | - | 0 |
| TGBB | High-volume gap above 20-session baseT_GAP_BASE_BREAK | gap day avwap reclaim | setup | gap_open_pct >= 0.04 AND open[t] > max(high[t-20:t-1]) AND volume[t] / avg(volume[t-20:t-1]) >= 2The session opens at least 4% above the prior close and above the prior 20-session high, with volume at least two times the prior 20-session average. | - | 0 |
| TGDA | Gap-day AVWAP touchT_GAP_DAY_AVWAP_TOUCH | gap day avwap reclaim | setup | T_GAP_DAY_AVWAP_TOUCHA daily low touches or moves below VWAP anchored on a qualifying gap day during the active 2-to-10-session window. | - | 0 |
| TGDL | Gap-day low heldT_GAP_DAY_LOW_HELD | gap day avwap reclaim | setup | T_GAP_DAY_LOW_HELDNo low from the gap day through the observation closes below the gap-day low. | - | 0 |
| TGEC | Gap day closes in upper halfT_GAP_EVENT_CLOSE_UPPER_HALF | gap day avwap reclaim | setup | (close[anchor] - low[anchor]) / (high[anchor] - low[anchor]) >= 0.50The gap-day close is in the upper half of the gap-day high-low range. | - | 0 |
| TGPV | Post-gap pullback volume dry-upT_GAP_PULLBACK_VOLUME_DRYUP | gap day avwap reclaim | setup | T_GAP_PULLBACK_VOLUME_DRYUPAverage volume after the gap and before the reclaim is below gap-day volume. | - | 0 |
| T20G | AVWAP signal volume at ADV20T_GAP_AVWAP_SIGNAL_VOLUME_ADV20 | gap day avwap reclaim | trigger | volume[t] / avg(volume[t-20:t-1]) >= 1.0Signal-day split-compatible volume is at or above the prior 20-session average. | - | 0 |
| TGD1 | First gap-day AVWAP reclaimT_GAP_DAY_AVWAP_RECLAIM | gap day avwap reclaim | trigger | close[t-1] <= avwap(anchor,t-1) AND close[t] > avwap(anchor,t) AND 2 <= t-anchor <= 10 AND no earlier reclaimThe first daily close above gap-day anchored VWAP after the prior close was at or below its causal line, 2 to 10 sessions after the gap. | - | 0 |
| T25G | Broad daily gap-day AVWAP reclaimT_GAP_DAY_AVWAP_RECLAIM_252 | gap day avwap reclaim | trigger | close[t-1] <= avwap(anchor,t-1) AND close[t] > avwap(anchor,t) AND 2 <= t-anchor <= 252The prior daily close is at or below the prior AVWAP, and the signal close is above the current AVWAP, 2 through 252 sessions after the gap. | - | 0 |
| M3HX | Market HMM high-vol chaosM_HMM3_HIGH_VOL_CHAOS | market regime | blocker | Market HMM high-vol chaos == high-volatility chaoticPoint-in-time 3-state HMM assigns SPY to a high-volatility chaotic state. | - | 0 |
| M5HX | Market HMM bear driftM_HMM5_BEAR_DRIFT | market regime | blocker | Market HMM bear drift == negative low-volatility driftPoint-in-time 5-state HMM assigns SPY to a negative low-volatility drift state. | - | 0 |
| M5H1 | Market HMM bear trendM_HMM5_BEAR_TREND | market regime | blocker | Market HMM bear trend == directional trendPoint-in-time 5-state HMM assigns SPY to a negative directional trend state. | - | 0 |
| M5H2 | Market HMM chaosM_HMM5_CHAOS | market regime | blocker | Market HMM chaos == high-volatility chaoticPoint-in-time 5-state HMM assigns SPY to a high-volatility chaotic state. | - | 0 |
| MLRX | Market LPPL riskM_LPPL_RISK | market regime | blocker | Market LPPL risk == trueSPY or QQQ LPPL bubble/crash risk is elevated. | - | 0 |
| M10O | ORCA 10D crash probabilityM_ORCA_CRASH_PROB_10D | market regime | blocker | M_ORCA_CRASH_PROB_10DLagged calibrated probability that SPY draws down more than 7% over the next 10 sessions. | - | 0 |
| M12O | ORCA crash probability rankM_ORCA_CRASH_RANK_126D | market regime | blocker | M_ORCA_CRASH_RANK_126DLagged causal 126-session percentile rank of the ORCA crash probability. | - | 0 |
| MSEX | SPY extendedM_SPY_EXTENDED | market regime | blocker | SPY extended >= 90SPY 5-day RSI is >= 90. | - | 0 |
| MECX | Market EMA constructiveM_EMA_CONSTRUCTIVE | market regime | context | Market EMA constructive == trueMarket EMAs are Constructively aligned — not necessarily a full stack but trending constructively. | - | 0 |
| M82E | Market EMA stack 8/21/50M_EMA_STACK_8_21_50 | market regime | context | SPY[t] > ema(SPY, 8)[t] > ema(SPY, 21)[t] > ema(SPY, 50)[t]SPY above EMA8 > EMA21 > EMA50. Market in bullish short-term trend. | - | 0 |
| MEVB | Episodic-volume trigger breadthM_EPISODIC_VOLUME_BREADTH | market regime | context | qualified_event_count(lookback_days) / eligible_universe_count(lookback_days)Measures the point-in-time frequency of qualified episodic-volume events as a speculative-participation breadth indicator. | - | 0 |
| M3H1 | Market HMM directional trendM_HMM3_DIRECTIONAL_TREND | market regime | context | Market HMM directional trend == directional trendPoint-in-time 3-state HMM assigns SPY to a directional trend state. | - | 0 |
| M3H2 | Market HMM low-vol driftM_HMM3_LOW_VOL_DRIFT | market regime | context | Market HMM low-vol drift == low-volatility drift/rangePoint-in-time 3-state HMM assigns SPY to a low-volatility drift/range state. | - | 0 |
| M5H3 | Market HMM bull driftM_HMM5_BULL_DRIFT | market regime | context | Market HMM bull drift == positive low-volatility driftPoint-in-time 5-state HMM assigns SPY to a positive low-volatility drift state. | - | 0 |
| M5H4 | Market HMM bull trendM_HMM5_BULL_TREND | market regime | context | Market HMM bull trend == directional trendPoint-in-time 5-state HMM assigns SPY to a positive directional trend state. | - | 0 |
| MHLT | Market long Hurst trendM_HURST_LONG_TREND | market regime | context | Market long Hurst trend >= trend thresholdSPY long-window Hurst is above trend threshold. | - | 0 |
| MHSM | Market short Hurst mean reversionM_HURST_SHORT_MR | market regime | context | Market short Hurst mean reversion <= mean-reversion thresholdSPY short-window Hurst is below mean-reversion threshold. | - | 0 |
| MLBF | Leader breakout failure breadthM_LEADER_BREAKOUT_FAILURE_BREADTH | market regime | context | failed_breakouts(cohort, lookback_days) >= min_count OR failure_share(cohort, lookback_days) >= min_shareMarket warning when too many recent leader or candidate breakouts have re-entered their bases. Cohort membership and all counts must be point-in-time. | - | 0 |
| M101 | ORCA 10D rally probabilityM_ORCA_RALLY_PROB_10D | market regime | context | M_ORCA_RALLY_PROB_10DLagged calibrated probability that SPY rises more than 3% over the next 10 sessions. | - | 0 |
| M121 | ORCA rally probability rankM_ORCA_RALLY_RANK_126D | market regime | context | M_ORCA_RALLY_RANK_126DLagged causal 126-session percentile rank of the ORCA rally probability. | - | 0 |
| MRBX | Bear regimeM_REGIME_BEAR | market regime | context | Bear regime == trueExisting market regime model labels the environment as bear or high bear probability. | - | 0 |
| MRB1 | Bull regimeM_REGIME_BULL | market regime | context | Bull regime == trueExisting market regime model labels the environment as bull or high bull probability. | - | 0 |
| MRTX | Transition regimeM_REGIME_TRANSITION | market regime | context | Transition regime == transitionExisting market regime model labels the environment as transition/chop. | - | 0 |
| MSPX | SPY controlled pullbackM_SPY_PULLBACK | market regime | context | SPY controlled pullback == trueSPY is in a controlled pullback rather than structural damage. | - | 0 |
| M20S | SPY 200D trendM_SPY_TREND_200D | market regime | context | SPY[t] > sma(SPY, 200)[t] and slope(sma(SPY, 200), 20)[t] > 0SPY is above a rising 200-day moving average. | - | 0 |
| M50S | SPY 50D trendM_SPY_TREND_50D | market regime | context | SPY[t] > sma(SPY, 50)[t] and slope(sma(SPY, 50), 20)[t] > 0SPY is above a rising 50-day moving average. | - | 0 |
| E141 | RSI(14) mean reversion longE_RSI14_MR_LONG | mean reversion | trigger | rsi(close, 14)[t] < 30RSI(14) drops below 30 (oversold). Mean reversion entry. | - | 0 |
| TOCX | Deep volatile and quiet compact recoveryT_OWP_COMBINED | oversold wedge pocket | setup | T_OWP_COMBINEDThe high-volatility deep-collapse profile and quiet compact recovery profile are both true. | 1.4% | 939 |
| TOHV | High volatility and deep collapseT_OWP_HIGH_VOL_DEEP | oversold wedge pocket | setup | T_OWP_HIGH_VOL_DEEPATR20 is at least 3% of price and the causal collapse is at least 15%. | -0.6% | 2,132 |
| TOQC | Quiet compact recoveryT_OWP_QUIET_COMPACT | oversold wedge pocket | setup | T_OWP_QUIET_COMPACTRecovery volume is no more than its reference volume and the signal range is no more than 1 ATR. | -1.8% | 2,475 |
| T3OX | Causal oversold MA recovery eventT_OWP_STAGE3_EVENT | oversold wedge pocket | trigger | T_OWP_STAGE3_EVENTThe first close back above a selected MA pocket after an established above-MA state, a causal collapse below it, and a rising robust body-low recovery. | 1.4% | 2,475 |
| CMRX | Cash on market riskCASH_MARKET_RISK | portfolio management | blocker | Cash on market risk == trueHold cash when market risk budget is too low. | - | 0 |
| COXX | Cash when overextendedCASH_OVEREXTENDED | portfolio management | blocker | Cash when overextended == trueHold cash when extension risk is too high. | - | 0 |
| CSRX | Cash on sector riskCASH_SECTOR_RISK | portfolio management | blocker | Cash on sector risk == trueHold cash when sector risk is too high. | - | 0 |
| ZRPX | Risk-based sizing (0.5%)Z_RISK_PCT | portfolio management | blocker | Z_RISK_PCTRisk-based position sizing: position_size = equity * value / stop_distance, where stop_distance = ATR * stop_multiplier. Value is the risk budget as a fraction of equity (0.005 = 0.5%). | - | 0 |
| CNXX | No cash waitCASH_NONE | portfolio management | cash | No cash wait == trueAlways invested once entered. | - | 0 |
| CNSX | Cash when no sponsorshipCASH_NO_SPONSORSHIP | portfolio management | cash | Cash when no sponsorship == trueHold cash if sector or ticker sponsorship is absent. | - | 0 |
| CWTX | Wait for trigger in cashCASH_WAIT_TRIGGER | portfolio management | cash | Wait for trigger in cash == trueHold cash until entry trigger occurs. | - | 0 |
| ZMCP | Max cost basis pctZ_MAX_COST_PCT | portfolio management | portfolio | Z_MAX_COST_PCTPer-ticker concentration cap (cost basis): total original investment across all lots of a single ticker must not exceed this fraction of equity. Unlike Z_MAX_POSITION_PCT which uses market value, this caps committed capital regardless of price movement. Value = max fraction (0.20 = 20%). | -15.7% | 13,223 |
| ZMHX | Max distinct holdings (10)Z_MAX_HOLDINGS | portfolio management | portfolio | Z_MAX_HOLDINGSBreadth cap: limits the number of distinct tickers in the portfolio. Pyramiding into an existing position bypasses this check; Z_MAX_POSITION_PCT and Z_MAX_COST_PCT gate the new lot. Value = max distinct tickers. | -15.7% | 13,223 |
| ZMPP | Max position pct (15%)Z_MAX_POSITION_PCT | portfolio management | portfolio | Z_MAX_POSITION_PCTPer-ticker concentration cap (market value): total market value across all lots of a single ticker must not exceed this fraction of equity. Market value = cost basis adjusted for price appreciation. Value = max fraction (0.15 = 15%). | - | 0 |
| ZMCR | Min cash reserve (5%)Z_MIN_CASH_RESERVE | portfolio management | portfolio | Z_MIN_CASH_RESERVEKeep a minimum fraction of equity in cash at all times. Entries are skipped if they would breach this reserve. Value = reserve fraction (0.05 = 5%). | - | 0 |
| ZRBX | Rank by breakout strengthZ_RANK_BREAKOUT | portfolio management | portfolio | Z_RANK_BREAKOUTEntry ranking toggle: candidates are scored using breakout_20d_atr feature. | -15.7% | 13,223 |
| ZRMX | Rank by momentum (10d)Z_RANK_MOMENTUM | portfolio management | portfolio | Z_RANK_MOMENTUMEntry ranking toggle: candidates are scored using ret_10d feature. | - | 0 |
| ZRRS | Rank by sector RS (3M)Z_RANK_RS_SECTOR | portfolio management | portfolio | Z_RANK_RS_SECTOREntry ranking toggle: candidates are scored using sector_spy_rs_3m feature. Score = unweighted average of normalized features across all active ranking toggles. Binary toggle (presence = on). | - | 0 |
| ZRRT | Rank by ticker RS (3M)Z_RANK_RS_TICKER | portfolio management | portfolio | Z_RANK_RS_TICKEREntry ranking toggle: candidates are scored using ticker_sector_rs_3m feature. | - | 0 |
| ZRVX | Rank by volume ratioZ_RANK_VOLUME | portfolio management | portfolio | Z_RANK_VOLUMEEntry ranking toggle: candidates are scored using volume_ratio_20 feature. | - | 0 |
| ZRRE | RS-driven rebalance evaluationZ_REBAL_RS_EVAL | portfolio management | portfolio | Z_REBAL_RS_EVALRebalance-as-exit: at every interval_days trading days, rank all open lots by ticker RS vs SPY (63-day). Take bottom N lots (excluding those held < min_hold_days). For each bottom-N lot: if RS < rs_threshold, EXIT full remaining position; else TRIM trim_pct of remaining. This replaces time-based exits and daily RS checking. Params: interval_days (default 63), bottom_n (default 1), rs_threshold (default 0.0 = below SPY), trim_pct (default 0.50), min_hold_days (default 10). | -15.7% | 13,223 |
| ZSTC | Scale to available cashZ_SCALE_TO_CASH | portfolio management | portfolio | Z_SCALE_TO_CASHWhen position size exceeds available cash, scale down to the cash available rather than skipping the entry entirely. Presence-only (no value field). | -15.7% | 13,223 |
| Z1TX | T+1 entry executionZ_T_PLUS_1 | portfolio management | portfolio | Z_T_PLUS_1Entry signals generated on day D are executed at day D+1's open price. Prevents lookahead bias by avoiding same-day signal+execution. Presence-only. | -15.7% | 13,223 |
| ZWSX | Weekly signal evaluationZ_WEEKLY_SIGNALS | portfolio management | portfolio | Z_WEEKLY_SIGNALSEvaluate entry, add, trim, and close-based exit rules only on the final observed trading session of each ISO week, then execute queued orders at the next available session open. Presence-only. | -15.7% | 13,223 |
| Z1FX | Fixed 1xZ_FIXED_1X | portfolio management | sizing | Fixed 1x == trueFixed full test size. | - | 0 |
| ZMTX | Market throttleZ_MARKET_THROTTLE | portfolio management | sizing | Market throttle == trueRisk-based market throttle with unchanged entry-count limits. feature=risk_throttle uses base risk when SPY BX and FVB basis are healthy, mixed_risk_pct when exactly one is healthy, and weak_risk_pct when neither is healthy. feature=risk_throttle_bx preserves all BX-approved entries at base risk, uses mixed_risk_pct only when BX is dark but SPY remains above its FVB basis, and weak_risk_pct when both fail. | -15.7% | 13,223 |
| ZSEX | Exponential score sizeZ_SCORE_EXP | portfolio management | sizing | Exponential score size == trueAggressive exponential score-based sizing. | - | 0 |
| ZSLX | Linear score sizeZ_SCORE_LINEAR | portfolio management | sizing | Linear score size == trueSize proportional to selection or entry score. | - | 0 |
| ZSTX | Sector throttleZ_SECTOR_THROTTLE | portfolio management | sizing | Sector throttle == trueSize multiplied by sector sponsorship or sector risk. | - | 0 |
| Z02S | 25% starterZ_STARTER_025 | portfolio management | sizing | 25% starter == trueQuarter-size starter position. | - | 0 |
| Z05S | 50% starterZ_STARTER_050 | portfolio management | sizing | 50% starter == trueHalf-size starter position. | - | 0 |
| ZVTX | Vol target sizeZ_VOL_TARGET | portfolio management | sizing | Vol target size == trueSize inversely to realized volatility. | - | 0 |
| TPBF | PIB5 base failureT_PIB_BASE_FAILED | post impulse base | blocker | Terminal failure transition for a causal PIB5 episode; pib_failure_code identifies the reason.True once when a PIB5 episode breaks support, becomes invalid, is already broken when first knowable, or produces an overextended breakout. | - | 0 |
| T50P | Ticker G4.3 breakout success historyT_PIB_BREAKOUT_HISTORY_500 | post impulse base | context | Deduplicate by impulse-high episode. A resolved success requires a close above active resistance, then after 21 ticker sessions a close above stored primary resistance and a ticker return greater than SPY from breakout close. Known base failures enter as failures. Unresolved bases and breakouts without a mature 21-session outcome do not enter the denominator.Causal ticker-specific success rate for mature G4.3 base outcomes whose valid date is within the prior 500 ticker bars. | - | 0 |
| TPMC | Causal base moving-average contextT_PIB_MA_CONTEXT | post impulse base | context | For each base bar, calculate the moving average only from prices that are available through that bar. Count closes below the line across the causal base and its last 10 bars.Signal-date moving-average levels and causal counts of base closes below each line. The recent counts use at most the last 10 base bars. | - | 0 |
| TPAC | Base range contraction readinessT_PIB_ABO_CONTRACTION | post impulse base | setup | T_PIB_ABO_CONTRACTIONThe median true range of the last three bars contracts against the median true range of the base while price does not move away from resistance. This state alone is not an entry. | - | 0 |
| TPBB | PIB5 base became validT_PIB_BASE_BECAME_VALID | post impulse base | setup | First transition of an episode into T_PIB_BASE_VALID.True once on the first date that a PIB5 episode has sufficient confirmed geometry. | - | 0 |
| TPBV | Valid PIB5 base stateT_PIB_BASE_VALID | post impulse base | setup | Daily causal PIB5_G4_3 candidate remains inside its frozen primary channel and applicable secondary lines, and it passes the contact, decline-dominance, and flat-floor channel-consumption gates. This setup state is not an entry.True on each date that the causal PIB5 geometry remains valid. It does not select an ABO entry. | 1.1% | 129 |
| TPA1 | Base contraction releaseT_PIB_ABO_CONTRACTION_RELEASE | post impulse base | trigger | T_PIB_ABO_CONTRACTION_RELEASEThe prior bar has a valid contraction state and the current close is above the prior high. | - | 0 |
| TPAE | Executable anticipatory base entryT_PIB_ABO_ENTRY_TRIGGER | post impulse base | trigger | T_PIB_ABO_ENTRY_TRIGGERTrue for a support rejection, first pressure confirmation, contraction release, rejection followed by pressure, or two simultaneous broad trigger components. A contraction state alone is not an entry. | 1.1% | 129 |
| TPAP | Base resistance pressure triggerT_PIB_ABO_PRESSURE | post impulse base | trigger | T_PIB_ABO_PRESSUREThe close approaches the active resistance, is in the upper part of the active channel, and has a constructive close location. | - | 0 |
| TPA2 | First base pressure confirmationT_PIB_ABO_PRESSURE_ONSET | post impulse base | trigger | T_PIB_ABO_PRESSURE_ONSETPressure is true after it was false on the prior bar, and the close is above the prior close. | - | 0 |
| T5PX | Support rejection followed by pressureT_PIB_ABO_REJECTION_TO_PRESSURE_5 | post impulse base | trigger | T_PIB_ABO_REJECTION_TO_PRESSURE_5Current pressure follows a support-rejection bar from the same frozen candidate during the prior five bars. | - | 0 |
| TPAS | Base support rejection triggerT_PIB_ABO_SUPPORT_REJECTION | post impulse base | trigger | T_PIB_ABO_SUPPORT_REJECTIONThe bar touches the active support region, closes above its open, and closes in the upper 40 percent of its range. | - | 0 |
| TPAT | Triggered anticipatory base entryT_PIB_ABO_TRIGGER | post impulse base | trigger | OR of support rejection, resistance pressure, and three-bar range contraction triggers. pib_abo_trigger_count gives the number of simultaneous triggers.True only while G4.3 geometry is valid and at least one causal price trigger is present. Geometry discovery alone is not an entry. | - | 0 |
| TPBX | PIB5 resistance breakoutT_PIB_BREAKOUT | post impulse base | trigger | First close above the lower of primary resistance and an applicable secondary resistance for a previously valid PIB5_G4_3 episode.True on the first close above the active G4.3 resistance. This is a geometry event and is not volume-gated. | - | 0 |
| TPIB | Post-impulse causal support-resistance baseT_POST_IMPULSE_BASE | post impulse base | trigger | PIB5_G4_3: the primary channel is the highest high and lowest low of a causal base window. Optional outer secondary lines use a causal suffix near the end of the base. The impulse high is no more than 21 bars before the base, and primary support stays above the prior impulse-origin low.Compatibility atom for a valid causal post-impulse base or its first breakout bar. Base depth is measured but is not a validity gate. | - | 0 |
| T33P | Market above rising weekly MA10T_PVWAP33_MARKET_ABOVE_RISING_MA10W | power vwap pullback | context | T_PVWAP33_MARKET_ABOVE_RISING_MA10WThe completed weekly close is above weekly MA10, and that average is above its value four completed weeks earlier. | - | 0 |
| T331 | Market above rising weekly MA30T_PVWAP33_MARKET_ABOVE_RISING_MA30W | power vwap pullback | context | T_PVWAP33_MARKET_ABOVE_RISING_MA30WThe completed weekly close is above weekly MA30, and that average is above its value four completed weeks earlier. | - | 0 |
| T332 | Rolling power VWAP touch in completed monthT_PVWAP33_MONTHLY_TOUCH | power vwap pullback | context | T_PVWAP33_MONTHLY_TOUCHAt a completed month end, at least one completed week in that month had a rolling 33-week power VWAP return touch. | - | 0 |
| T333 | Sector above rising weekly MA10T_PVWAP33_SECTOR_ABOVE_RISING_MA10W | power vwap pullback | context | T_PVWAP33_SECTOR_ABOVE_RISING_MA10WThe completed weekly close is above weekly MA10, and that average is above its value four completed weeks earlier. | - | 0 |
| T334 | Sector above rising weekly MA30T_PVWAP33_SECTOR_ABOVE_RISING_MA30W | power vwap pullback | context | T_PVWAP33_SECTOR_ABOVE_RISING_MA30WThe completed weekly close is above weekly MA30, and that average is above its value four completed weeks earlier. | 2.1% | 100 |
| T335 | Rolling 33-week power VWAP slope upT_PVWAP33_SLOPE_UP_4W | power vwap pullback | context | T_PVWAP33_SLOPE_UP_4WThe rolling 33-week power VWAP is above its value four completed weeks earlier. | - | 0 |
| T336 | Ticker above rising weekly MA10T_PVWAP33_TICKER_ABOVE_RISING_MA10W | power vwap pullback | context | T_PVWAP33_TICKER_ABOVE_RISING_MA10WThe completed weekly close is above weekly MA10, and that average is above its value four completed weeks earlier. | - | 0 |
| T337 | Ticker above rising weekly MA30T_PVWAP33_TICKER_ABOVE_RISING_MA30W | power vwap pullback | context | T_PVWAP33_TICKER_ABOVE_RISING_MA30WThe completed weekly close is above weekly MA30, and that average is above its value four completed weeks earlier. | -9.8% | 53 |
| T338 | Rolling power VWAP extension launchT_PVWAP33_LAUNCH_BEFORE_TOUCH | power vwap pullback | outcome | T_PVWAP33_LAUNCH_BEFORE_TOUCHThe maximum positive completed-week close extension before the next touch exceeds the causal pooled median of positive extensions. | - | 0 |
| T339 | Rolling 33-week power VWAP armedT_PVWAP33_ARMED | power vwap pullback | setup | T_PVWAP33_ARMEDA completed weekly close is at least two weekly ATR13 units above the rolling 33-week power VWAP. | - | 0 |
| T310 | First armed rolling power VWAP return touchT_PVWAP33_RETURN_TOUCH | power vwap pullback | trigger | T_PVWAP33_RETURN_TOUCHThe first later completed weekly range intersects the rolling 33-week power VWAP tolerance band after the line is armed. VWAP slope is context, not a touch condition. | 2.1% | 660 |
| EBEX | Bullish engulfing candlestickE_BULLISH_ENGULFING | price action | trigger | close[t] > open[t] AND open[t] < close[t-1] AND close[t] > open[t-1] AND close[t-1] < open[t-1]Bullish engulfing pattern: current candle completely engulfs prior candle's body. | - | 0 |
| TSCX | Stacked support confluenceT_SUPPORT_CONFLUENCE | pullback support | setup | levels = {ema21[t], ma50[t], prior_pivot, trendline[t], base_low_20d}; count(level within band_pct of close[t]) >= min_levelsAt least min_levels of {EMA21, MA50, prior breakout pivot, trendline, base low} sit within a tight band around the current price. Encodes the framework's requirement that entries happen where multiple support levels stack up: the more levels that share the invalidation zone, the more meaningful the level and the tighter the defensible stop. | - | 0 |
| TPRS | Prior resistance holds as supportT_PRIOR_RESISTANCE_SUPPORT_HOLD | pullback support | trigger | pivot = prior_breakout_pivot_high[t-min_pivot_age:t-1]; low[t] <= pivot * (1 + touch_buffer) AND close[t] > pivotPrice pulls back into a prior breakout pivot/resistance level from earlier in the current uptrend and closes back above it. The pivot must be at least min_pivot_age days old so it represents a completed structural breakout, not noise. This is dip type 2 of the asymmetric R:R framework: previous resistance acting as new support. | - | 0 |
| TSRX | Shakeout reversal at supportT_SHAKEOUT_REVERSAL | pullback support | trigger | support = nearest_structural_level[t]; avg(vol[t-pullback_days:t-1]) <= dryup_ratio * avg(vol[t-20:t-1]); low[t] < support AND close[t] > support AND close_position_in_range[t] >= min_close_pos (reclaim within max_reclaim_days)Intraday low briefly breaks the nearby support level (MA, prior pivot, or base low) on dried-up volume, then the close reclaims the level the same day or the next, finishing in the upper half of the day's range. This is dip type 4 of the asymmetric R:R framework: a brief shakeout attracts late shorts and panicked sellers, followed by an immediate reversal. Distinct from the U&R atoms: U&R requires a multi-day break-and-reclaim of a specific MA/base level and rests on a trapped-participant thesis; the shakeout is a fast flush-and-recover defined by location and volume behavior (dry-up on the pull, demand on the reversal). The U&R atoms are the closest existing daily-bar approximation. | - | 0 |
| TTSH | Rising trendline support holdsT_TRENDLINE_SUPPORT_HOLD | pullback support | trigger | line = least_squares_fit(swing_lows[t-fit_window:t]); slope(line) > 0 AND low[t] <= line[t] * (1 + touch_buffer) AND close[t] > line[t]Price touches a least-squares support line fitted through the swing lows of the trailing window and closes back above it, with the line slope positive. This is dip type 3 of the asymmetric R:R framework. Trendline fitting is parameter-fragile: window choice and swing-low detection materially change the line. Treat as a robustness test, not a conviction candidate. | - | 0 |
| TVDX | VWAP support holdT_VWAP_DIP | pullback support | trigger | vwap = sum(typical_price * volume) / sum(volume) over window; |low - vwap|/vwap <= touch_pct AND close > vwap AND close_pos_in_range >= min_close_posThe bar's low touches the rolling VWAP (within the configured tolerance) and the close reclaims above it, finishing in the upper half of the day's range. VWAP is a volume-confirmed support level distinct from the MA/pivot/trendline atoms: it weights price by where actual volume traded. The level is exported across a rolling-window grid (vwap_w10/w20/w50) so the window dimension is sweepable; the touch tolerance and close-position thresholds are swept via the exported vwap_touch_dist_pct and close_pos_in_range numerics. | - | 0 |
| TSSD | Structural stop distance within bandT_STRUCT_STOP_DISTANCE_MAX | risk structure | trigger | invalidation = max(undercut_day_low, support_band_low, base_low_20d); stop_distance_pct = 1 - invalidation / close[t]; min_distance <= stop_distance_pct <= max_distanceDistance from entry price to the nearest structural invalidation level (undercut-day low, support-band low, or base low) is within the configured band, default 1-4%. This is the core gate of the asymmetric R:R framework: if the risk/stop size is large, there is no trade. It conditions the entry on the payoff structure rather than placing a stop after deciding to enter, and is the direct test of whether tight stops work when the entry location provides the nearby invalidation. | - | 0 |
| T33R | Market above rising weekly MA10T_RVWAP33_MARKET_ABOVE_RISING_MA10W | rolling vwap pullback | context | T_RVWAP33_MARKET_ABOVE_RISING_MA10WThe completed weekly close is above weekly MA10, and that average is above its value four completed weeks earlier. | - | 0 |
| T311 | Market above rising weekly MA30T_RVWAP33_MARKET_ABOVE_RISING_MA30W | rolling vwap pullback | context | T_RVWAP33_MARKET_ABOVE_RISING_MA30WThe completed weekly close is above weekly MA30, and that average is above its value four completed weeks earlier. | - | 0 |
| T312 | Rolling VWAP touch in completed monthT_RVWAP33_MONTHLY_TOUCH | rolling vwap pullback | context | T_RVWAP33_MONTHLY_TOUCHAt a completed month end, at least one completed week in that month had a rolling 33-week VWAP return touch. | - | 0 |
| T313 | Sector above rising weekly MA10T_RVWAP33_SECTOR_ABOVE_RISING_MA10W | rolling vwap pullback | context | T_RVWAP33_SECTOR_ABOVE_RISING_MA10WThe completed weekly close is above weekly MA10, and that average is above its value four completed weeks earlier. | - | 0 |
| T314 | Sector above rising weekly MA30T_RVWAP33_SECTOR_ABOVE_RISING_MA30W | rolling vwap pullback | context | T_RVWAP33_SECTOR_ABOVE_RISING_MA30WThe completed weekly close is above weekly MA30, and that average is above its value four completed weeks earlier. | - | 0 |
| T315 | Rolling 33-week VWAP slope upT_RVWAP33_SLOPE_UP_4W | rolling vwap pullback | context | T_RVWAP33_SLOPE_UP_4WThe rolling 33-week VWAP is above its value four completed weeks earlier. | - | 0 |
| T316 | Ticker above rising weekly MA10T_RVWAP33_TICKER_ABOVE_RISING_MA10W | rolling vwap pullback | context | T_RVWAP33_TICKER_ABOVE_RISING_MA10WThe completed weekly close is above weekly MA10, and that average is above its value four completed weeks earlier. | - | 0 |
| T317 | Ticker above rising weekly MA30T_RVWAP33_TICKER_ABOVE_RISING_MA30W | rolling vwap pullback | context | T_RVWAP33_TICKER_ABOVE_RISING_MA30WThe completed weekly close is above weekly MA30, and that average is above its value four completed weeks earlier. | - | 0 |
| T318 | Rolling VWAP extension launchT_RVWAP33_LAUNCH_BEFORE_TOUCH | rolling vwap pullback | outcome | T_RVWAP33_LAUNCH_BEFORE_TOUCHThe maximum positive completed-week close extension before the next touch exceeds the causal pooled median of positive extensions. | - | 0 |
| T319 | Rolling 33-week VWAP armedT_RVWAP33_ARMED | rolling vwap pullback | setup | T_RVWAP33_ARMEDA completed weekly close is at least two weekly ATR13 units above the rolling 33-week VWAP. | - | 0 |
| T320 | First armed rolling VWAP return touchT_RVWAP33_RETURN_TOUCH | rolling vwap pullback | trigger | T_RVWAP33_RETURN_TOUCHThe first later completed weekly range intersects the rolling 33-week VWAP tolerance band after the line is armed. VWAP slope is context, not a touch condition. | -1.5% | 136 |
| SSSA | Sector season ageS_SECTOR_SEASON_AGE | seasonality | context | Sector season age == trueDuration of sector relative outperformance or underperformance season. | - | 0 |
| SSSP | Sector positive seasonalityS_SECTOR_SEASON_POS | seasonality | context | Sector positive seasonality == trueSector historically outperforms in current month, quarter, or half year. | - | 0 |
| SSAP | Sector season age percentile localsector_season_age_pctile_local | sector season | feature | Sector season age percentile local == truePercentile of current hot/cold sector season age versus the same ETF's prior seasons. | - | 0 |
| SSRP | Sector season return percentile localsector_season_return_pctile_local | sector season | feature | Sector season return percentile local == truePercentile of current hot/cold sector season cumulative return versus the same ETF's prior seasons. | - | 0 |
| RDAX | Defensive accelerationR_DEFENSIVE_ACCEL | sector strength/weakness | blocker | Defensive acceleration > 0%Defensive relative strength acceleration versus SPY or risk-on proxies. | - | 0 |
| SHMR | Mean-reverting sector extensionS_HURST_MEAN_REVERTING_EXTENDED | sector strength/weakness | blocker | Mean-reverting sector extension == trueSector has durable mean-reversion behavior and is stretched positively versus SPY. | - | 0 |
| SHPU | Persistent sector underperformanceS_HURST_PERSISTENT_UNDERPERFORMANCE | sector strength/weakness | blocker | Persistent sector underperformance == trueSector/SPY relative strength is persistent but negative across long windows. | - | 0 |
| S3RX | Sector RS HMM chaosS_RS_HMM3_CHAOS | sector strength/weakness | blocker | Sector RS HMM chaos == high-volatility chaoticPoint-in-time 3-state HMM assigns the sector/style ETF versus SPY relative-strength line to a high-volatility chaotic relative state. | - | 0 |
| S3R1 | Sector RS HMM coldS_RS_HMM3_COLD | sector strength/weakness | blocker | Sector RS HMM cold == configured_statePoint-in-time 3-state HMM assigns the sector/style ETF versus SPY relative-strength line to a negative relative-drift state. | - | 0 |
| S5RX | Sector RS HMM chaosS_RS_HMM5_CHAOS | sector strength/weakness | blocker | Sector RS HMM chaos == high-volatility chaoticPoint-in-time 5-state HMM assigns the sector/style ETF versus SPY relative-strength line to a high-volatility chaotic relative state. | - | 0 |
| S5R1 | Sector RS HMM cold driftS_RS_HMM5_COLD_DRIFT | sector strength/weakness | blocker | Sector RS HMM cold drift == negative low-volatility driftPoint-in-time 5-state HMM assigns the sector/style ETF versus SPY relative-strength line to a negative low-volatility drift state. | - | 0 |
| S5R2 | Sector RS HMM cold trendS_RS_HMM5_COLD_TREND | sector strength/weakness | blocker | Sector RS HMM cold trend == persistent negativePoint-in-time 5-state HMM assigns the sector/style ETF versus SPY relative-strength line to a persistent negative relative trend state. | - | 0 |
| SRSE | Early sector RS cold seasonS_RS_SEASON_EARLY_COLD | sector strength/weakness | blocker | Early sector RS cold season == trueSector relative underperformance is young and deteriorating. | - | 0 |
| SRSM | Mature sector RS hot seasonS_RS_SEASON_MATURE_HOT | sector strength/weakness | blocker | Mature sector RS hot season == trueSector relative leadership is mature by age, relative return, or both. | - | 0 |
| SRSS | Sector RS season switch riskS_RS_SEASON_SWITCH_RISK | sector strength/weakness | blocker | Sector RS season switch risk == trueEmpirical probability of the current sector relative regime ending soon is elevated. | - | 0 |
| S50R | Global SMA50/200 cold exhaustionS_RS_SMA50_200_COLD_EXHAUSTED_GLOBAL | sector strength/weakness | blocker | Global SMA50/200 cold exhaustion == trueParent ETF cold season is mature versus a configured cross-ETF sector/style universe. | - | 0 |
| S501 | Local SMA50/200 cold exhaustionS_RS_SMA50_200_COLD_EXHAUSTED_LOCAL | sector strength/weakness | blocker | Local SMA50/200 cold exhaustion == trueParent ETF cold season is mature versus that ETF's own prior cold seasons by age, relative return, or both. | - | 0 |
| S502 | Global SMA50/200 hot exhaustionS_RS_SMA50_200_HOT_EXHAUSTED_GLOBAL | sector strength/weakness | blocker | Global SMA50/200 hot exhaustion == trueParent ETF hot season is mature versus a configured cross-ETF sector/style universe. | - | 0 |
| S503 | Local SMA50/200 hot exhaustionS_RS_SMA50_200_HOT_EXHAUSTED_LOCAL | sector strength/weakness | blocker | Local SMA50/200 hot exhaustion == trueParent ETF hot season is mature versus that ETF's own prior hot seasons by age, relative return, or both. | - | 0 |
| SSDB | Defensive sector breakoutS_SECTOR_DEF_BREAKOUT | sector strength/weakness | blocker | Defensive sector breakout == trueDefensive sector ETF is breaking out or basing constructively. | - | 0 |
| S1SX | Defensive 1M leadershipS_SECTOR_DEF_LEAD_1M | sector strength/weakness | blocker | Defensive 1M leadership == trueDefensive sectors are leading SPY over 1 month. | - | 0 |
| S3SX | Defensive 3M leadershipS_SECTOR_DEF_LEAD_3M | sector strength/weakness | blocker | Defensive 3M leadership == trueDefensive sectors are leading SPY over 3 months. | - | 0 |
| TRCS | Signal-close risk to structural stop in ATRT_RS_CROSS_SIGNAL_STOP_RISK_ATR | sector strength/weakness | blocker | (close[t] - (low[t] - 0.25 * atr20[t])) / atr20[t]Distance from signal close to signal-day low minus 0.25 ATR, divided by ATR20. | - | 0 |
| RSSA | Sector/SPY RS accelerationR_SECTOR_SPY_ACCEL | sector strength/weakness | context | Sector/SPY RS acceleration > 0%Sector 1M relative strength is improving versus 3M relative trend. | - | 0 |
| R1TX | Ticker/sector 1M RSR_TICKER_SECTOR_1M_UP | sector strength/weakness | context | Ticker/sector 1M RS > 0%Ticker versus sector relative strength is rising over 1 month. | - | 0 |
| R3TX | Ticker/sector 3M RSR_TICKER_SECTOR_3M_UP | sector strength/weakness | context | Ticker/sector 3M RS > 0%Ticker versus sector relative strength is rising over 3 months. | - | 0 |
| RTSA | Ticker/sector RS accelerationR_TICKER_SECTOR_ACCEL | sector strength/weakness | context | Ticker/sector RS acceleration == trueTicker 1M sector-relative strength is improving versus 3M relative trend. | - | 0 |
| R1T1 | Ticker/SPY 1M RSR_TICKER_SPY_1M_UP | sector strength/weakness | context | Ticker/SPY 1M RS > 0%Ticker versus SPY relative strength is rising over 1 month. | - | 0 |
| R3T1 | Ticker/SPY 3M RSR_TICKER_SPY_3M_UP | sector strength/weakness | context | Ticker/SPY 3M RS > 0%Ticker versus SPY relative strength is rising over 3 months. | - | 0 |
| SATB | Sector adaptive trend bull stateS_ADAPTIVE_TREND_BULL | sector strength/weakness | context | regime == bullParent sector ETF is in the causal DEMA20, median5, Wilder ATR14 bull state with +2.1 ATR and -1.5 ATR rails. | 2.6% | 184 |
| SHDN | Durable sector Hurst noiseS_HURST_DURABLE_NOISE | sector strength/weakness | context | Durable sector Hurst noise == trueSector Hurst remains neutral across long windows, so Hurst should be de-emphasized. | - | 0 |
| SHFT | Sector Hurst flip to mean reversionS_HURST_FLIP_TO_MR | sector strength/weakness | context | Sector Hurst flip to mean reversion == trueSector Hurst has fallen from trend into mean-reversion/noise range. | - | 0 |
| SHF1 | Sector Hurst flip to trendS_HURST_FLIP_TO_TREND | sector strength/weakness | context | Sector Hurst flip to trend == trueSector Hurst has risen from mean-reversion/noise into trend range. | - | 0 |
| SHLT | Sector long Hurst trendS_HURST_LONG_TREND | sector strength/weakness | context | Sector long Hurst trend >= trend thresholdSector long-window Hurst is above trend threshold. | - | 0 |
| SHMD | Sector Hurst mean-reversion durabilityS_HURST_MEANREV_DURABILITY | sector strength/weakness | context | Sector Hurst mean-reversion durability == trueCount or share of long sector Hurst windows at or below the mean-reversion threshold. | - | 0 |
| SHM1 | Mean-reverting sector depressionS_HURST_MEAN_REVERTING_DEPRESSED | sector strength/weakness | context | Mean-reverting sector depression == trueSector has durable mean-reversion behavior and is stretched negatively versus SPY. | - | 0 |
| SHMT | Sector medium Hurst trendS_HURST_MED_TREND | sector strength/weakness | context | Sector medium Hurst trend >= trend thresholdSector medium-window Hurst is above trend threshold. | - | 0 |
| SHNX | Sector Hurst noiseS_HURST_NOISE | sector strength/weakness | context | Sector Hurst noise == trueSector Hurst is near 0.5 and should not strongly route strategy. | - | 0 |
| SHND | Sector Hurst noise durabilityS_HURST_NOISE_DURABILITY | sector strength/weakness | context | Sector Hurst noise durability == trueCount or share of long sector Hurst windows inside the neutral noise band. | - | 0 |
| SHPL | Persistent sector leadershipS_HURST_PERSISTENT_LEADERSHIP | sector strength/weakness | context | Persistent sector leadership == trueSector/SPY relative strength is both persistent and positive across long windows. | - | 0 |
| S12H | Sector price Hurst 120DS_HURST_PRICE_120D | sector strength/weakness | context | Sector price Hurst 120D == trueLonger-window Hurst exponent on sector ETF price. | - | 0 |
| S20H | Sector price Hurst 20DS_HURST_PRICE_20D | sector strength/weakness | context | Sector price Hurst 20D == trueShort-window Hurst exponent on sector ETF price. | - | 0 |
| S25H | Sector price Hurst 250DS_HURST_PRICE_250D | sector strength/weakness | context | sector_etf[t] > sma(sector_etf, 50)[t] and slope(sma(sector_etf, 50), 20)[t] > 0Long-window Hurst exponent on sector ETF price. | - | 0 |
| S50H | Sector price Hurst 500DS_HURST_PRICE_500D | sector strength/weakness | context | Sector price Hurst 500D == trueMulti-year Hurst exponent on sector ETF price. | - | 0 |
| S60H | Sector price Hurst 60DS_HURST_PRICE_60D | sector strength/weakness | context | Sector price Hurst 60D == trueMedium-window Hurst exponent on sector ETF price. | - | 0 |
| S75H | Sector price Hurst 750DS_HURST_PRICE_750D | sector strength/weakness | context | sector_etf[t] > sma(sector_etf, 50)[t] and slope(sma(sector_etf, 50), 20)[t] > 0Long multi-year Hurst exponent on sector ETF price. | - | 0 |
| S121 | Sector/SPY RS Hurst 120DS_HURST_RS_SPY_120D | sector strength/weakness | context | Sector/SPY RS Hurst 120D == trueLonger-window Hurst exponent on sector versus SPY relative strength line. | - | 0 |
| S251 | Sector/SPY RS Hurst 250DS_HURST_RS_SPY_250D | sector strength/weakness | context | sector_etf[t] > sma(sector_etf, 50)[t] and slope(sma(sector_etf, 50), 20)[t] > 0Long-window Hurst exponent on sector versus SPY relative strength line. | - | 0 |
| S252 | Sector/SPY RS Hurst 250D mean-reversion stateS_HURST_RS_SPY_250_MEANREV | sector strength/weakness | context | sector_etf[t] > sma(sector_etf, 50)[t] and slope(sma(sector_etf, 50), 20)[t] > 0Sector versus SPY relative-strength 250-day Hurst exponent is <= 0.40. | - | 0 |
| S253 | Sector/SPY RS Hurst 250D trend stateS_HURST_RS_SPY_250_TREND | sector strength/weakness | context | sector_etf[t] > sma(sector_etf, 50)[t] and slope(sma(sector_etf, 50), 20)[t] > 0Sector versus SPY relative-strength 250-day Hurst exponent is >= 0.60. | - | 0 |
| S504 | Sector/SPY RS Hurst 500DS_HURST_RS_SPY_500D | sector strength/weakness | context | Sector/SPY RS Hurst 500D == trueMulti-year Hurst exponent on sector versus SPY relative strength line. | - | 0 |
| S601 | Sector/SPY RS Hurst 60DS_HURST_RS_SPY_60D | sector strength/weakness | context | Sector/SPY RS Hurst 60D == trueMedium-window Hurst exponent on sector versus SPY relative strength line. | - | 0 |
| S751 | Sector/SPY RS Hurst 750DS_HURST_RS_SPY_750D | sector strength/weakness | context | sector_etf[t] > sma(sector_etf, 50)[t] and slope(sma(sector_etf, 50), 20)[t] > 0Long multi-year Hurst exponent on sector versus SPY relative strength line. | - | 0 |
| SHSM | Sector short Hurst mean reversionS_HURST_SHORT_MR | sector strength/weakness | context | Sector short Hurst mean reversion <= mean-reversion thresholdSector short/medium Hurst is below mean-reversion threshold. | - | 0 |
| SHTD | Sector Hurst trend durabilityS_HURST_TREND_DURABILITY | sector strength/weakness | context | Sector Hurst trend durability == trueCount or share of long sector Hurst windows at or above the trend threshold. | - | 0 |
| S3R2 | Sector RS HMM hotS_RS_HMM3_HOT | sector strength/weakness | context | Sector RS HMM hot == configured_statePoint-in-time 3-state HMM assigns the sector/style ETF versus SPY relative-strength line to a positive relative-drift state. | - | 0 |
| S5R3 | Sector RS HMM hot driftS_RS_HMM5_HOT_DRIFT | sector strength/weakness | context | Sector RS HMM hot drift == positive low-volatility driftPoint-in-time 5-state HMM assigns the sector/style ETF versus SPY relative-strength line to a positive low-volatility drift state. | - | 0 |
| S5R4 | Sector RS HMM hot trendS_RS_HMM5_HOT_TREND | sector strength/weakness | context | Sector RS HMM hot trend == configured_statePoint-in-time 5-state HMM assigns the sector/style ETF versus SPY relative-strength line to a positive directional leadership state. | - | 0 |
| SRSA | Sector RS season age percentileS_RS_SEASON_AGE_PCTILE | sector strength/weakness | context | Sector RS season age percentile == trueCurrent hot/cold relative regime duration percentile versus prior same-state sector regimes. | - | 0 |
| SRSC | Sector RS cold seasonS_RS_SEASON_COLD | sector strength/weakness | context | Sector RS cold season == trueSector versus SPY relative-strength regime is negative. | - | 0 |
| SRS1 | Early sector RS hot seasonS_RS_SEASON_EARLY_HOT | sector strength/weakness | context | Early sector RS hot season == trueSector relative leadership is young and improving. | - | 0 |
| SRSH | Sector RS hot seasonS_RS_SEASON_HOT | sector strength/weakness | context | Sector RS hot season == trueSector versus SPY relative-strength regime is positive. | - | 0 |
| SRS2 | Mature sector RS cold seasonS_RS_SEASON_MATURE_COLD | sector strength/weakness | context | Mature sector RS cold season == trueSector relative underperformance is mature by age, relative return, or both. | - | 0 |
| SRSR | Sector RS season return percentileS_RS_SEASON_RETURN_PCTILE | sector strength/weakness | context | Sector RS season return percentile == trueCurrent hot/cold relative regime return percentile versus prior same-state sector regimes. | - | 0 |
| S505 | SMA50/200 sector RS cold seasonS_RS_SMA50_200_COLD | sector strength/weakness | context | SMA50/200 sector RS cold season < 0Parent ETF versus SPY relative SMA50 is below relative SMA200. | - | 0 |
| S506 | SMA50/200 sector RS hot seasonS_RS_SMA50_200_HOT | sector strength/weakness | context | SMA50/200 sector RS hot season > 0Parent ETF versus SPY relative SMA50 is above relative SMA200. | - | 0 |
| S3S1 | Sector RS 3-month upS_SECTOR_RS_3M_UP | sector strength/weakness | context | Sector RS 3-month up > 0%Sector is outperforming SPY over the trailing 3 months. Confirms sector leadership. | -0.1% | 54,543 |
| SSRA | Sector relative accelerationS_SECTOR_RS_ACCEL | sector strength/weakness | context | Sector relative acceleration > 0%Sector 1M relative strength is improving versus its 3M relative trend. | - | 0 |
| S1S1 | Sector 1M relative strengthS_SECTOR_SPY_RS_1M_UP | sector strength/weakness | context | Sector 1M relative strength > 0%Sector versus SPY relative strength is rising over 1 month. | - | 0 |
| S3S2 | Sector 3M relative strengthS_SECTOR_SPY_RS_3M_UP | sector strength/weakness | context | Sector 3M relative strength > 0%Sector versus SPY relative strength is rising over 3 months. | - | 0 |
| S20S | Sector 200D trendS_SECTOR_TREND_200D | sector strength/weakness | context | sector_etf[t] > sma(sector_etf, 200)[t] and slope(sma(sector_etf, 200), 20)[t] > 0Parent sector ETF is above a rising 200-day moving average. | - | 0 |
| S50S | Sector 50D trendS_SECTOR_TREND_50D | sector strength/weakness | context | sector_etf[t] > sma(sector_etf, 50)[t] and slope(sma(sector_etf, 50), 20)[t] > 0Parent sector ETF is above a rising 50-day moving average. | - | 0 |
| T1TX | Ticker vs sector RS 1M upT_TICKER_SECTOR_RS_1M_UP | sector strength/weakness | context | 1M return > Sector ETF 1M returnTicker is outperforming its sector ETF over 1 month. Leading within its sector. | - | 0 |
| X10R | Ticker/SPY RS EMA10/SMA50 bearish crossoverX_RS_SPY_EMA10_SMA50_CROSS_DOWN | sector strength/weakness | exit | ema(100 * adj_close_ticker / adj_close_spy, 10)[t] < sma(100 * adj_close_ticker / adj_close_spy, 50)[t] AND ema(...)[t-1] >= sma(...)[t-1]The 10-session EMA of adjusted ticker close divided by adjusted SPY close crosses below its 50-session SMA. | - | 0 |
| H12S | Sector/SPY RS Hurst 120Dhurst_sector_rs_spy_120 | sector strength/weakness | feature | Sector/SPY RS Hurst 120D == observedRaw 120-day Hurst exponent on sector versus SPY relative strength line. | - | 0 |
| H25S | Sector/SPY RS Hurst 250Dhurst_sector_rs_spy_250 | sector strength/weakness | feature | sector_etf[t] > sma(sector_etf, 50)[t] and slope(sma(sector_etf, 50), 20)[t] > 0Raw 250-day Hurst exponent on sector versus SPY relative strength line. | - | 0 |
| H60S | Sector/SPY RS Hurst 60Dhurst_sector_rs_spy_60 | sector strength/weakness | feature | Sector/SPY RS Hurst 60D == observedRaw 60-day Hurst exponent on sector versus SPY relative strength line. | - | 0 |
| FRCS | Point-in-time size rank at RS crossoverF_RS_CROSS_SIZE_RANK_PIT | sector strength/weakness | setup | F_RS_CROSS_SIZE_RANK_PITPoint-in-time market-cap rank in the liquid common-stock universe. A larger value means a smaller company. | - | 0 |
| T20R | ATR20 percent at RS crossoverT_RS_CROSS_ATR20_PCT | sector strength/weakness | setup | atr20[t] / close[t]Signal-close ATR20 divided by signal close. | - | 0 |
| T12R | Distance below prior 126-session high at RS crossoverT_RS_CROSS_DISTANCE_BELOW_126_HIGH | sector strength/weakness | setup | 1 - close[t] / max(high[t-126:t-1])Signal close distance below the highest high in the prior 126 completed sessions. | - | 0 |
| T219 | Point-in-time 20-session dollar-volume percentile at RS crossoverT_RS_CROSS_DVOL20_PCTL | sector strength/weakness | setup | T_RS_CROSS_DVOL20_PCTLPercentile rank of median 20-session dollar volume within the monthly point-in-time liquid universe. | - | 0 |
| TRCR | RS crossover reset sessionsT_RS_CROSS_RESET_SESSIONS | sector strength/weakness | setup | count backward from t-1 while rs_ema10 <= rs_sma50Number of consecutive completed sessions before the bullish crossover for which the RS EMA10 was not above the RS SMA50. | - | 0 |
| E10R | Ticker/SPY RS EMA10/SMA50 bullish crossoverE_RS_SPY_EMA10_SMA50_CROSS_UP | sector strength/weakness | trigger | ema(100 * adj_close_ticker / adj_close_spy, 10)[t] > sma(100 * adj_close_ticker / adj_close_spy, 50)[t] AND ema(...)[t-1] <= sma(...)[t-1]The 10-session EMA of adjusted ticker close divided by adjusted SPY close crosses above its 50-session SMA. | - | 0 |
| SGRP | Minimum sector or industry relative-strength percentileS_GROUP_RS_PERCENTILE_MIN | sector strength/weakness | trigger | cross_sectional_percentile(return(group, lookback_days), group_universe, t) >= min_percentileMapped sector or industry group ranks above a cross-sectional return percentile. Entry criterion, not a merit-model feature. | - | 0 |
| SRS3 | Sector RS season reversal candidateS_RS_SEASON_REVERSAL_CANDIDATE | sector strength/weakness | trigger | Sector RS season reversal candidate == trueMature cold sector relative regime is starting to improve and may support reversal/base entries. | - | 0 |
| S507 | SMA50/200 cold rebound signalS_RS_SMA50_200_COLD_REBOUND_SIGNAL | sector strength/weakness | trigger | SMA50/200 cold rebound signal == trueCold exhaustion combined with confirming ticker or sector reclaim/relative-strength turn for rebound entry tests. | - | 0 |
| TRCN | Next-close RS crossover entry extension in ATRT_RS_CROSS_NEXT_CLOSE_EXTENSION_ATR | sector strength/weakness | trigger | (close[t+1] - close[t]) / atr20[t]Next-session close minus signal close, divided by signal ATR20. This value is known only at the next-close entry decision. | - | 0 |
| TRC1 | Signal-day close location at RS crossoverT_RS_CROSS_SIGNAL_CLOSE_LOCATION | sector strength/weakness | trigger | (close[t] - low[t]) / (high[t] - low[t])Signal close location in the signal-day high-low range. | - | 0 |
| S508 | SMA50/200 hot fade signalS_RS_SMA50_200_HOT_FADE_SIGNAL | sector strength/weakness | trim | SMA50/200 hot fade signal == trueHot exhaustion combined with confirming ticker or sector weakness for avoid/add-block/trim strategy tests. | - | 0 |
| L2AX | 2 ATR stopL_ATR_2 | stop loss | stop | 2 ATR stop >= 2 ATRStop two ATRs below entry or reference price. | - | 0 |
| L3AX | 3 ATR stopL_ATR_3 | stop loss | stop | 3 ATR stop >= 3 ATRStop three ATRs below entry or reference price. | - | 0 |
| LEDL | Event-day low initial stopL_EVENT_DAY_LOW | stop loss | stop | stop_price = event_low - buffer_atr * atr20; require (entry_price - stop_price) / entry_price <= max_stop_pctSet the initial stop below the episodic event day's low; skip entries whose initial risk exceeds the configured maximum. | - | 0 |
| L15F | Fixed 15% stopL_FIXED_15 | stop loss | stop | Fixed 15% stop <= -15%Fixed 15% stop-loss. | - | 0 |
| L8FX | Fixed 8% stopL_FIXED_8 | stop loss | stop | Fixed 8% stop <= -8%Fixed 8% stop-loss. | - | 0 |
| LFPX | Parameterised fixed percentage stopL_FIXED_PCT | stop loss | stop | stop_price = entry_price * (1 - loss_pct)Fixed loss limit below entry, including the 7% maximum associated with the source hypothesis. | - | 0 |
| L20M | MA200 close stopL_MA200_CLOSE | stop loss | stop | close[t] > sma(close, 200)[t] and slope(sma(close, 200), 20)[t] > 0Stop on close below 200-day moving average. | - | 0 |
| L50M | MA50 close stopL_MA50_CLOSE | stop loss | stop | close[t] > sma(close, 50)[t] and slope(sma(close, 50), 20)[t] > 0Stop on close below 50-day moving average. | - | 0 |
| LNXX | No stopL_NONE | stop loss | stop | No stop == trueNo stop; fixed-horizon or exit-rule hold. | - | 0 |
| LTSX | Time stopL_TIME_STOP | stop loss | stop | Time stop == trueExit if no progress after a fixed number of days. | - | 0 |
| QBAD | Delayed breakeven stop resetQ_BREAKEVEN_AFTER_DAYS | stop reset | stop_reset | if days_since_entry >= delay_days then stop_price = max(stop_price, entry_price)Move the stop to entry only after a configurable delay, allowing comparison with an unchanged initial stop. | - | 0 |
| QNRX | No stop resetQ_NO_RESET | stop reset | stop_reset | No stop reset == trueOriginal stop remains unchanged. | - | 0 |
| QRBX | Reset breakevenQ_RESET_BREAKEVEN | stop reset | stop_reset | Reset breakeven == trueMove stop to breakeven after gain threshold. | - | 0 |
| Q50R | Reset MA50Q_RESET_MA50 | stop reset | stop_reset | close[t] > sma(close, 50)[t] and slope(sma(close, 50), 20)[t] > 0Trail stop using 50-day moving average after trend confirms. | - | 0 |
| QRSL | Reset swing lowQ_RESET_SWING_LOW | stop reset | stop_reset | Reset swing low == trueTrail stop to new swing low after add or confirmation. | - | 0 |
| MBGX | BX Trender green (net buying pressure)M_BX_GREEN | tht bx trender | context | bx[t] > 0BX > 0. Institutional buying pressure is active. This is the dark green + light green states. A stricter entry gate than M_BX_NOT_DARK_RED — requires confirmed positive pressure, not just improving. | - | 0 |
| MBIX | BX Trender improving (light red increasing)M_BX_IMPROVING | tht bx trender | context | bx[t] < 0 AND slope(bx, slope_days)[t] > 0BX is negative but rising — the 'increasing light red' state in THT. Buying pressure is returning from a dark-red regime. Entry is still allowed: the cycle is turning back on. This is the earliest entry signal in the THT system. | - | 0 |
| MBND | BX Trender not dark red (bull cycle active)M_BX_NOT_DARK_RED | tht bx trender | context | bx[t] = ema(ema(ema(2*close - high - low, 5), 20), 5) - ema(ema(2*close - high - low, 20), 5); NOT dark_red: bx[t] > 0 OR slope(bx, 5)[t] > 0THT BX is in any state except dark red. This includes dark green (BX>0, rising), light green (BX>0, flat), and increasing light red (BX<0 but rising — buying pressure returning). Entry is allowed in all these states. The bull cycle is ON. | -15.7% | 13,223 |
| MSBN | SPY monthly BX permits THT entriesM_SPY_BX_NOT_DARK_RED | tht bx trender | context | SPY bx[t] > 0 OR SPY slope(bx, 5)[t] > 0The SPY monthly BX state is not dark red. This is the portfolio-level market permission used by the promoted weekly THT scanner. | - | 0 |
| T2FX | Clean weekly FV low recovery — 2% capT_FV_LOW_RECOVER_2 | tht fair value | entry_diagnostic | T_FV_TOUCH_RECLAIM_2 AND weekly_low >= fv_basisThe 2% touch/reclaim component whose weekly low remained at or above the FV basis. | -15.7% | 4,893 |
| T2F1 | Weekly FV sweep/reclaim — 2% capT_FV_SWEEP_RECLAIM_2 | tht fair value | entry_diagnostic | T_FV_TOUCH_RECLAIM_2 AND weekly_low < fv_basisThe 2% touch/reclaim component whose weekly low swept below the FV basis before the close reclaimed it. | -15.8% | 6,940 |
| LFLS | Stop below FV lower bandL_FV_LOWER_STOP | tht fair value | stop | stop_price = fv_lower[t]Hard stop at the FV lower band. The band itself defines the invalidation level — if price closes below it, the bullish structure is invalid. | - | 0 |
| TFBG | FV band is green (basis rising)T_FV_BAND_GREEN | tht fair value | trigger | slope(sma(ohlc4, period), slope_days)[t] > 0The FV ribbon is green — the basis (SMA(ohlc4, period)) is rising over slope_days. This confirms bullish structure. Price has been above the center (basis) but may not have been above the upper band. The green state is about the trend of the band itself, not the current price position. | -15.7% | 13,223 |
| TFIO | Price in or near fair value zoneT_FV_IN_OR_NEAR_ZONE | tht fair value | trigger | close[t] <= fv_upper[t] * (1 + tolerance) AND close[t] >= fv_lower[t]Price is within or near the FV band — between fv_lower and fv_upper, or just above fv_upper within a tolerance. This is the entry zone: price is near fair value, not extended away from it. Does NOT require a pullback from above — just that price is near value. | - | 0 |
| TFNB | Price near fair value basisT_FV_NEAR_BASIS | tht fair value | trigger | abs(close[t] - fv_basis[t]) <= atr20[t]Price is within 1 ATR of the FV basis (SMA of ohlc4). Tighter entry zone — price has returned to the mean, not just the band edge. | - | 0 |
| TFTR | Weekly FV touch and basis reclaimT_FV_TOUCH_RECLAIM | tht fair value | trigger | weekly_low[t] <= fv_upper[t] AND weekly_close[t] >= fv_basis[t] AND weekly_close[t] <= fv_upper[t] * (1 + tolerance)The completed weekly low reached the FV upper band or deeper, while the weekly close reclaimed the basis and finished no more than the configured tolerance above the upper band. This combines clean upper-half recoveries and below-basis sweep/reclaims without admitting a close below the basis. The tolerance-specific computed atoms are T_FV_TOUCH_RECLAIM_0 through _3. | - | 0 |
| T0FX | Weekly FV touch/reclaim — 0% controlT_FV_TOUCH_RECLAIM_0 | tht fair value | trigger | weekly_low <= fv_upper AND fv_basis <= weekly_close <= fv_upperCompleted weekly low touched the upper FV band or deeper and the close reclaimed the basis without closing above the upper band. | -15.8% | 7,108 |
| T1FX | Weekly FV touch/reclaim — 1% capT_FV_TOUCH_RECLAIM_1 | tht fair value | trigger | weekly_low <= fv_upper AND fv_basis <= weekly_close <= fv_upper * 1.01Completed weekly low touched the upper FV band or deeper and the close reclaimed the basis, allowing at most 1% above the upper band. | -15.9% | 9,818 |
| T2F2 | Weekly FV touch/reclaim — 2% capT_FV_TOUCH_RECLAIM_2 | tht fair value | trigger | weekly_low <= fv_upper AND fv_basis <= weekly_close <= fv_upper * 1.02Completed weekly low touched the upper FV band or deeper and the close reclaimed the basis, allowing at most 2% above the upper band. | -15.7% | 11,833 |
| T3FX | Weekly FV touch/reclaim — 3% capT_FV_TOUCH_RECLAIM_3 | tht fair value | trigger | weekly_low <= fv_upper AND fv_basis <= weekly_close <= fv_upper * 1.03Completed weekly low touched the upper FV band or deeper and the close reclaimed the basis, allowing at most 3% above the upper band. | -15.8% | 13,223 |
| TFT1 | Weekly FV touch and basis recovery — uncappedT_FV_TOUCH_RECOVER_UNCAPPED | tht fair value | trigger | weekly_low <= fv_upper AND weekly_close >= fv_basisCompleted weekly low touched the FV upper band or deeper and the close recovered to at least the FV basis. The close may finish above the FV upper band; there is deliberately no upper-distance cap. A close below the basis is excluded. | - | 0 |
| TFUH | Price in strict upper half of fair value bandT_FV_UPPER_HALF | tht fair value | trigger | close[t] >= fv_basis[t] AND close[t] <= fv_upper[t]Weekly close is at or above the FV basis and at or below the FV upper band. This is the confirmed-recovery entry zone selected by the THT Stage 5 portfolio tests. | - | 0 |
| T30B | Broken below 30%T_BROKEN_BELOW_30 | ticker context | blocker | Broken below 30% > 30%Ticker is more than 30% below a recent high. | - | 0 |
| T20E | MA200 extensionT_EXTENDED_MA200 | ticker context | blocker | close[t] > sma(close, 200)[t] and slope(sma(close, 200), 20)[t] > 0Ticker is far above the 200-day moving average. | - | 0 |
| T50E | MA50 extensionT_EXTENDED_MA50 | ticker context | blocker | close[t] > sma(close, 50)[t] and slope(sma(close, 50), 20)[t] > 0Ticker is far above the 50-day moving average. | - | 0 |
| TLRX | Ticker LPPL riskT_LPPL_RISK | ticker context | blocker | Ticker LPPL risk == trueTicker LPPL bubble/exhaustion risk is elevated. | - | 0 |
| THLT | Ticker long Hurst trendT_HURST_LONG_TREND | ticker context | context | Ticker long Hurst trend >= trend thresholdTicker long-window Hurst is above trend threshold. | - | 0 |
| THMD | Ticker Hurst mean-reversion durabilityT_HURST_MEANREV_DURABILITY | ticker context | context | Ticker Hurst mean-reversion durability == trueCount or share of long ticker Hurst windows at or below the mean-reversion threshold. | - | 0 |
| THND | Ticker Hurst noise durabilityT_HURST_NOISE_DURABILITY | ticker context | context | Ticker Hurst noise durability == trueCount or share of long ticker Hurst windows inside the neutral noise band. | - | 0 |
| T12H | Ticker price Hurst 120DT_HURST_PRICE_120D | ticker context | context | Ticker price Hurst 120D == trueLonger-window Hurst exponent on ticker price. | - | 0 |
| T25H | Ticker price Hurst 250DT_HURST_PRICE_250D | ticker context | context | close[t] > sma(close, 50)[t] and slope(sma(close, 50), 20)[t] > 0Long-window Hurst exponent on ticker price. | - | 0 |
| T50H | Ticker price Hurst 500DT_HURST_PRICE_500D | ticker context | context | Ticker price Hurst 500D == trueMulti-year Hurst exponent on ticker price. | - | 0 |
| THSM | Ticker short Hurst mean reversionT_HURST_SHORT_MR | ticker context | context | Ticker short Hurst mean reversion <= mean-reversion thresholdTicker short-window Hurst is below mean-reversion threshold. | - | 0 |
| THTD | Ticker Hurst trend durabilityT_HURST_TREND_DURABILITY | ticker context | context | Ticker Hurst trend durability == trueCount or share of long ticker Hurst windows at or above the trend threshold. | - | 0 |
| TNHX | Near highT_NEAR_HIGH | ticker context | context | Near high <= near high thresholdTicker is within a near-high band. | - | 0 |
| T20T | Ticker 200D trendT_TREND_200D | ticker context | context | close[t] > sma(close, 200)[t] and slope(sma(close, 200), 20)[t] > 0Ticker is above a rising 200-day moving average. | - | 0 |
| T50T | Ticker 50D trendT_TREND_50D | ticker context | context | close[t] > sma(close, 50)[t] and slope(sma(close, 50), 20)[t] > 0Ticker is above a rising 50-day moving average. | - | 0 |
| TDCX | Controlled drawdownT_DD_CONTROLLED | ticker context | trigger | Controlled drawdown == trueTicker drawdown is in an acceptable pullback band. | - | 0 |
| T3HX | Ticker HMM high-vol chaosT_HMM3_HIGH_VOL_CHAOS | ticker hmm regime | blocker | Ticker HMM high-vol chaos == high-volatility chaoticPoint-in-time 3-state HMM assigns the ticker price series to a high-volatility chaotic state. | - | 0 |
| T5HX | Ticker HMM bear driftT_HMM5_BEAR_DRIFT | ticker hmm regime | blocker | Ticker HMM bear drift == negative low-volatility driftPoint-in-time 5-state HMM assigns the ticker price series to a negative low-volatility drift state. | - | 0 |
| T5H1 | Ticker HMM bear trendT_HMM5_BEAR_TREND | ticker hmm regime | blocker | Ticker HMM bear trend == directional trendPoint-in-time 5-state HMM assigns the ticker price series to a negative directional trend state. | - | 0 |
| T5H2 | Ticker HMM chaosT_HMM5_CHAOS | ticker hmm regime | blocker | Ticker HMM chaos == high-volatility chaoticPoint-in-time 5-state HMM assigns the ticker price series to a high-volatility chaotic state. | - | 0 |
| T3H1 | Ticker HMM directional trendT_HMM3_DIRECTIONAL_TREND | ticker hmm regime | context | Ticker HMM directional trend == directional trendPoint-in-time 3-state HMM assigns the ticker price series to a directional trend state. | - | 0 |
| T3H2 | Ticker HMM low-vol driftT_HMM3_LOW_VOL_DRIFT | ticker hmm regime | context | Ticker HMM low-vol drift == low-volatility drift/rangePoint-in-time 3-state HMM assigns the ticker price series to a low-volatility drift/range state. | - | 0 |
| T5H3 | Ticker HMM bull driftT_HMM5_BULL_DRIFT | ticker hmm regime | context | Ticker HMM bull drift == positive low-volatility driftPoint-in-time 5-state HMM assigns the ticker price series to a positive low-volatility drift state. | - | 0 |
| T5H4 | Ticker HMM bull trendT_HMM5_BULL_TREND | ticker hmm regime | context | Ticker HMM bull trend == directional trendPoint-in-time 5-state HMM assigns the ticker price series to a positive directional trend state. | - | 0 |
| T251 | Ticker Hurst 250D mean-reversion stateT_HURST_250_MEANREV | ticker hurst | context | close[t] > sma(close, 50)[t] and slope(sma(close, 50), 20)[t] > 0Ticker price 250-day Hurst exponent is <= 0.40. | - | 0 |
| T252 | Ticker Hurst 250D trend stateT_HURST_250_TREND | ticker hurst | context | close[t] > sma(close, 50)[t] and slope(sma(close, 50), 20)[t] > 0Ticker price 250-day Hurst exponent is >= 0.60. | - | 0 |
| H12T | Ticker Hurst 120Dhurst_ticker_120 | ticker hurst | feature | Ticker Hurst 120D == observedRaw 120-day Hurst exponent on ticker price. | - | 0 |
| H25T | Ticker Hurst 250Dhurst_ticker_250 | ticker hurst | feature | close[t] > sma(close, 50)[t] and slope(sma(close, 50), 20)[t] > 0Raw 250-day Hurst exponent on ticker price. | - | 0 |
| H60T | Ticker Hurst 60Dhurst_ticker_60 | ticker hurst | feature | Ticker Hurst 60D == observedRaw 60-day Hurst exponent on ticker price. | - | 0 |
| H121 | Ticker/Sector RS Hurst 120Dhurst_ticker_sector_rs_120 | ticker hurst | feature | Ticker/Sector RS Hurst 120D == observedRaw 120-day Hurst exponent on ticker versus sector relative strength line. | - | 0 |
| H251 | Ticker/Sector RS Hurst 250Dhurst_ticker_sector_rs_250 | ticker hurst | feature | sector_etf[t] > sma(sector_etf, 50)[t] and slope(sma(sector_etf, 50), 20)[t] > 0Raw 250-day Hurst exponent on ticker versus sector relative strength line. | - | 0 |
| H601 | Ticker/Sector RS Hurst 60Dhurst_ticker_sector_rs_60 | ticker hurst | feature | Ticker/Sector RS Hurst 60D == observedRaw 60-day Hurst exponent on ticker versus sector relative strength line. | - | 0 |
| T141 | RSI14 extendedT_RSI14_EXTENDED | ticker momentum | blocker | RSI14 extended >= 70Ticker 14-day RSI is >= 70. | - | 0 |
| T5RX | RSI5 extendedT_RSI5_EXTENDED | ticker momentum | blocker | RSI5 extended >= 90Ticker 5-day RSI is >= 90. | - | 0 |
| T1MX | 1-month momentum strongT_MOM_1M_STRONG | ticker momentum | context | 1M return >= 10%Ticker 1-month return >= 10%. Strong short-term momentum. | - | 0 |
| T1M1 | 1-month momentum upT_MOM_1M_UP | ticker momentum | context | 1-month momentum up > 0%Ticker 21-day return is positive. | - | 0 |
| T3MX | 3-month momentum strongT_MOM_3M_STRONG | ticker momentum | context | 3M return >= 30%Ticker 3-month return >= 30%. Strong medium-term momentum. | - | 0 |
| T3M1 | 3-month momentum upT_MOM_3M_UP | ticker momentum | context | 3M return > 0%Ticker 3-month return is positive. Basic uptrend confirmation. | - | 0 |
| T3RX | Relative strength vs SPY 3MT_RS_SPY_3M_UP | ticker momentum | context | 3M return > SPY 3M returnTicker 3-month return exceeds SPY 3-month return. Outperforming the market. | -0.4% | 124 |
| R14X | RSI 14-dayrsi14 | ticker momentum | feature | RSI 14-day == observedRaw 14-day RSI value. | - | 0 |
| R5XX | RSI 5-dayrsi5 | ticker momentum | feature | RSI 5-day == observedRaw 5-day RSI value. | - | 0 |
| TPAM | Minimum prior advanceT_PRIOR_ADVANCE_MIN | ticker momentum | setup | close[t] / min(low[t-lookback_days+1:t]) - 1 >= min_advanceRequires evidence of exceptional prior price strength before the current setup. | - | 0 |
| TRPM | Minimum ticker relative-strength percentileT_RS_PERCENTILE_MIN | ticker momentum | trigger | cross_sectional_percentile(return(ticker, lookback_days), universe_id, t) >= min_percentileTicker trailing return ranks above a cross-sectional percentile in the configured point-in-time universe. Entry criterion, not a merit-model feature. | - | 0 |
| TBDM | Maximum base depthT_BASE_DEPTH_MAX | ticker recent pattern | setup | pivot_index = argmax(high[t-lookback_days:t-min_base_days]); base_low = min(low[pivot_index+1:t-1]); base_pullback_depth = 1 - base_low / high[pivot_index]; base_pullback_depth <= max_depthSequential pre-breakout correction depth from a prior pivot high to the lowest later low does not exceed a configurable limit. The pivot must be old enough to form a base, and all inputs end at t-1. | - | 0 |
| TBRC | Base range contractionT_BASE_RANGE_CONTRACTION | ticker recent pattern | setup | short_range = max(high[t-short_days:t-1]) / min(low[t-short_days:t-1]) - 1; long_range = max(high[t-long_days:t-1]) / min(low[t-long_days:t-1]) - 1; base_range_contraction_ratio = short_range / long_range; base_range_contraction_ratio <= max_ratioThe normalized price span of the terminal pre-breakout window is a configurable fraction of the full base span. All windows end at t-1. | - | 0 |
| TBVD | Base volume dry-upT_BASE_VOLUME_DRYUP | ticker recent pattern | setup | avg(volume[t-short_days:t-1]) / avg(volume[t-long_days:t-1]) <= max_ratioRecent average volume contracts relative to the longer base-period average before entry. Both windows end before the breakout session so event-day volume cannot contaminate base quality. | - | 0 |
| T60R | Range contraction strict 60%T_RANGE_CONTRACT_STRICT60 | ticker recent pattern | setup | 5D range / 20D avg range <= 0.605-day range is at most 60% of the 20-day average range. Volatility contraction pattern (VCP-like). | - | 0 |
| T5R1 | RSI5 washoutT_RSI5_WASHOUT | ticker recent pattern | setup | RSI5 washout <= 355-period RSI <= 35. Short-term oversold condition for mean reversion entries. | - | 0 |
| TTCU | Tight range + close upper halfT_TIGHT_CLOSE_UPPER_HALF | ticker recent pattern | setup | 5D range / 20D avg range <= 0.60 AND Close position in 5D range >= 0.50Range is contracted (5v20 <= 0.60) AND close is in the upper half of the weekly range. Tight base with accumulation. | - | 0 |
| TBVR | Breakout volume ratioT_BREAKOUT_VOLUME_RATIO | ticker recent pattern | trigger | volume[t] / avg(volume[t-average_days:t-1]) >= min_ratioBreakout-day volume exceeds a configurable multiple of its prior average. Generalises binary volume confirmation. | - | 0 |
| T45B | Forward markup break forecast top 5%T_BREAK_FORECAST_4W_TOP_5 | ticker recent pattern | trigger | T_BREAK_FORECAST_4W_TOP_5Frozen OOS probability of a stable markup break in the next four weeks ranks in the global weekly top 5%. The K1/D126 entry gate rejected positive-return trades and failed Stage 3. | - | 0 |
| T90B | Broad breakout ridge Q90T_BROAD_BO_RIDGE_Q90 | ticker recent pattern | trigger | T_BROAD_BO_RIDGE_Q90The fixed 30-feature causal ridge score is at or above its prior-training 90th percentile. | 1.8% | 1,376 |
| T220 | 20-day close breakoutT_CLOSE_BREAK_20D_HIGH | ticker recent pattern | trigger | Close > Prior 20D highClose broke above the 20-day high. Primary breakout entry trigger. | - | 0 |
| TCBR | Close breakout above rolling highT_CLOSE_BREAK_ROLLING_HIGH | ticker recent pattern | trigger | close[t] > prior_high(lookback_days)[t] + buffer_atr * atr(atr_days)[t]Close exceeds a prior rolling high by the configured ATR buffer. Generalises the promoted 20-day close breakout. | - | 0 |
| TCGX | CML regime green (stacked EMAs + momentum)T_CML_GREEN | ticker recent pattern | trigger | state machine: arm when ema8[t] > ema21[t] > ema50[t] AND roc10[t] >= 0; reset when ema8[t] < ema21[t]Regime state for the triangle breakout family: EMA8 > EMA21 > EMA50 with ROC(10) >= 0 arms the state; EMA8 crossing below EMA21 resets it. This is the trend gate that precedes any consolidation geometry check, analogous to the uptrend gate in the asymmetric R:R dip framework. | - | 0 |
| TCLB | Classic-quiet immediate-entry controlT_CQ_LBO_BASE | ticker recent pattern | trigger | T_CQ_LBO_BASEThe frozen classic-quiet arm enters without a daily timing delay. | -27.8% | 731 |
| TCL1 | Classic-quiet broad first breakoutT_CQ_LBO_BROAD_BO | ticker recent pattern | trigger | T_CQ_LBO_BROAD_BOThe first completed close above the prior 20-session closing high occurs within 40 armed sessions. | -24.2% | 502 |
| T104 | Ten-session large-breakout full forecastT_CQ_LBO_FULL_H10_Q80 | ticker recent pattern | trigger | T_CQ_LBO_FULL_H10_Q80The causal full-model score is above the training 80th percentile for a large accepted breakout within ten sessions. | -30.9% | 418 |
| T58C | Five-session large-breakout full forecastT_CQ_LBO_FULL_H5_Q80 | ticker recent pattern | trigger | T_CQ_LBO_FULL_H5_Q80The causal full-model score is above the training 80th percentile for a large accepted breakout within five sessions. | -27.0% | 500 |
| T105 | Ten-session large-breakout proximity forecastT_CQ_LBO_PROXIMITY_H10_Q80 | ticker recent pattern | trigger | T_CQ_LBO_PROXIMITY_H10_Q80The causal proximity-model score is above the training 80th percentile for a large accepted breakout within ten sessions. | -28.7% | 486 |
| T581 | Five-session large-breakout proximity forecastT_CQ_LBO_PROXIMITY_H5_Q80 | ticker recent pattern | trigger | T_CQ_LBO_PROXIMITY_H5_Q80The causal proximity-model score is above the training 80th percentile for a large accepted breakout within five sessions. | -26.7% | 545 |
| TCLS | Classic-quiet small controlled breakoutT_CQ_LBO_SMALL_BO | ticker recent pattern | trigger | T_CQ_LBO_SMALL_BOThe first breakout is no more than 0.5 ATR above its pivot and its daily range is no more than 1.5 ATR. | -36.1% | 175 |
| T5NX | No 5-day chaseT_NO_CHASE_5D | ticker recent pattern | trigger | 5D return <= 8%5-day return <= 8%. Avoid entries after the stock has already run up significantly. | - | 0 |
| TPDM | Maximum distance above pivotT_PIVOT_DISTANCE_MAX | ticker recent pattern | trigger | pivot_distance_pct = close[t] / pivot_price - 1; pivot_distance_atr = (close[t] - pivot_price) / signal_atr20; require close[t] >= pivot_price AND distance(mode) <= max_distanceRejects signal-day closes that have moved too far above the stored breakout pivot. Percentage and ATR-normalised distances are separate variants, never an OR condition. | - | 0 |
| TTBX | Triangle resistance breakout triggerT_TRIANGLE_BREAKOUT | ticker recent pattern | trigger | T_TRIANGLE_CONSOLIDATION AND close[t] > res_slope*t + res_intercept AND body_strength >= 0.5 AND (high-low) <= 2*atr20Trigger for the triangle consolidation: close breaks above the swing-fitted resistance line with a strong body ((close-open)/(high-low) >= 0.5) and a controlled range (<= 2x ATR20). The EMA21 breach count is exported as tri_ema21_breaches so the sweep can test tolerance (0 = strict no-breach, <=1 = allow one wick, etc.) crossed with tri_sup_slope_pct > 0 (support trend still rising). The initial impulse strength (ROC at CML arming) is exported as tri_cml_arm_roc so thresholds like >= 0.1 can be tested. The stop is the entry-day low (stop_type = breakout_low). Candle anatomy and flag quality metrics are exported as continuous features for entry-quality measurement. | -0.2% | 10,645 |
| TTCX | Triangle consolidation with fitted geometryT_TRIANGLE_CONSOLIDATION | ticker recent pattern | trigger | origin = argmax high[t-60:t-1]; hold_frac(close >= ema21*0.99) >= 0.8 over [origin, t-1]; any low <= ema8 in window; res = linreg(swing highs, order 2); sup = linreg(swing lows, order 2); sup_slope > 0A valid consolidation is present: anchored at the first-leg high (highest high of the last 10-60 bars), price holds EMA21 on at least 80% of bars, touches EMA8 at least once, and both the swing-high resistance line and swing-low support line are fittable (>= 2 swings each) with the support line sloping upward (higher lows). The raw geometry (res/sup R^2, slopes, days-to-apex) is exported as continuous features for threshold search; this atom only asserts that the geometry exists. | -0.1% | 4,546 |
| TVCX | Volume confirmationT_VOLUME_CONFIRM | ticker recent pattern | trigger | Volume > Prior 20D avg volumeBreakout volume is above recent average. Demand confirmation on the breakout entry. | - | 0 |
| T10W | Wide-base ten-session full forecastT_WIDE_LBO_FULL_H10_Q80 | ticker recent pattern | trigger | T_WIDE_LBO_FULL_H10_Q80The full causal score is above its training 80th percentile for a durable breakout within ten sessions. | -11.1% | 2,036 |
| T58W | Wide-base five-session full forecastT_WIDE_LBO_FULL_H5_Q80 | ticker recent pattern | trigger | T_WIDE_LBO_FULL_H5_Q80The full causal score is above its training 80th percentile for a durable breakout within five sessions. | -10.8% | 2,390 |
| T106 | Wide-base ten-session proximity forecastT_WIDE_LBO_PROXIMITY_H10_Q80 | ticker recent pattern | trigger | T_WIDE_LBO_PROXIMITY_H10_Q80The pivot-proximity score is above its causal training 80th percentile. | -11.7% | 2,458 |
| T582 | Wide-base five-session proximity forecastT_WIDE_LBO_PROXIMITY_H5_Q80 | ticker recent pattern | trigger | T_WIDE_LBO_PROXIMITY_H5_Q80The pivot-proximity score is above its causal training 80th percentile. | -11.7% | 2,467 |
| T451 | Recent markup break nowcast top 5%T_BREAK_NOWCAST_4W_TOP_5 | ticker recent pattern | trim | T_BREAK_NOWCAST_4W_TOP_5Frozen OOS probability that a stable markup break began in the prior four weeks ranks in the global weekly top 5%. Raw 25% and 50% trims failed Stage 3 on K1/D126. | - | 0 |
| T452 | Recent markup break nowcast top 5%, price confirmedT_BREAK_NOWCAST_4W_TOP_5_CONFIRMED | ticker recent pattern | trim | T_BREAK_NOWCAST_4W_TOP_5_CONFIRMEDTop-5% recent-break nowcast combined with MA50 loss and negative 20-session slope. The 25% trim remains a research challenger after only 12 concentrated Stage 3 events. | - | 0 |
| TBPC | Markup break price confirmationT_BREAK_PRICE_CONFIRMED | ticker recent pattern | trim | T_BREAK_PRICE_CONFIRMEDTicker is below MA50 and its 20-session log-price slope is negative on the frozen weekly break-model observation. Stage 3 model-free trim comparator. | - | 0 |
| R3T2 | Ticker/sector HMM chaosR_TICKER_SECTOR_HMM3_CHAOS | ticker relative hmm regime | blocker | Ticker/sector HMM chaos == high-volatility chaoticPoint-in-time 3-state HMM assigns the ticker versus sector relative-strength line to a high-volatility chaotic relative state. | - | 0 |
| R3T3 | Ticker/sector HMM lagR_TICKER_SECTOR_HMM3_LAG | ticker relative hmm regime | blocker | Ticker/sector HMM lag == negative laggingPoint-in-time 3-state HMM assigns the ticker versus sector relative-strength line to a negative lagging state. | - | 0 |
| R5TX | Ticker/sector HMM chaosR_TICKER_SECTOR_HMM5_CHAOS | ticker relative hmm regime | blocker | Ticker/sector HMM chaos == high-volatility chaoticPoint-in-time 5-state HMM assigns the ticker versus sector relative-strength line to a high-volatility chaotic relative state. | - | 0 |
| R5T1 | Ticker/sector HMM lag driftR_TICKER_SECTOR_HMM5_LAG_DRIFT | ticker relative hmm regime | blocker | Ticker/sector HMM lag drift == negative low-volatility driftPoint-in-time 5-state HMM assigns the ticker versus sector relative-strength line to a negative low-volatility drift state. | - | 0 |
| R5T2 | Ticker/sector HMM lag trendR_TICKER_SECTOR_HMM5_LAG_TREND | ticker relative hmm regime | blocker | Ticker/sector HMM lag trend == persistent negativePoint-in-time 5-state HMM assigns the ticker versus sector relative-strength line to a persistent negative relative trend state. | - | 0 |
| R3T4 | Ticker/sector HMM leadR_TICKER_SECTOR_HMM3_LEAD | ticker relative hmm regime | context | Ticker/sector HMM lead == positive leadershipPoint-in-time 3-state HMM assigns the ticker versus sector relative-strength line to a positive leadership state. | - | 0 |
| R5T3 | Ticker/sector HMM lead driftR_TICKER_SECTOR_HMM5_LEAD_DRIFT | ticker relative hmm regime | context | Ticker/sector HMM lead drift == positive low-volatility driftPoint-in-time 5-state HMM assigns the ticker versus sector relative-strength line to a positive low-volatility drift state. | - | 0 |
| R5T4 | Ticker/sector HMM lead trendR_TICKER_SECTOR_HMM5_LEAD_TREND | ticker relative hmm regime | context | Ticker/sector HMM lead trend == configured_statePoint-in-time 5-state HMM assigns the ticker versus sector relative-strength line to a positive directional leadership state. | - | 0 |
| R11X | 1-month returnret_1m | ticker return | feature | 1-month return == observedRaw ticker 21-day simple return. | - | 0 |
| R33X | 3-month returnret_3m | ticker return | feature | 3-month return == observedRaw ticker 63-day simple return. | - | 0 |
| T221 | Above EMA200T_ABOVE_EMA200 | ticker trend | context | close[t] > ema(close, 200)[t]Ticker close is above the 200-day exponential moving average. | - | 0 |
| T21A | Above EMA21T_ABOVE_EMA21 | ticker trend | context | close[t] > ema(close, 21)[t]Ticker close is above the 21-day exponential moving average. Short-term trend positive. | - | 0 |
| T50A | Above EMA50T_ABOVE_EMA50 | ticker trend | context | Close > 50D EMATicker is trading above its 50-day exponential moving average. | - | 0 |
| T8AX | Above EMA8T_ABOVE_EMA8 | ticker trend | context | Close > 8D EMATicker is trading above its 8-day exponential moving average. Short-term strength. | - | 0 |
| T501 | Above MA50T_ABOVE_MA50 | ticker trend | context | Close > 50D SMATicker is trading above its 50-day moving average. Uptrend context. | - | 0 |
| TESB | EMA stack bullishT_EMA_STACK_BULL | ticker trend | context | close[t] > ema(close, 8)[t] > ema(close, 21)[t] > ema(close, 50)[t] > ema(close, 200)[t]Price above EMA8 > EMA21 > EMA50 > EMA200. Full bullish EMA stack. | - | 0 |
| TMSB | MA stack bullishT_MA_STACK_BULL | ticker trend | context | sma(close, 10)[t] > sma(close, 20)[t] > sma(close, 50)[t] > sma(close, 200)[t]MA10 > MA20 > MA50 > MA200. Full bullish moving average stack confirms structural uptrend. | - | 0 |
| AABX | Add breakoutA_ADD_BREAKOUT | trade management | add | Add breakout == trueAdd on breakout after initial entry. | - | 0 |
| AAPH | Add pullback holdA_ADD_PULLBACK_HOLD | trade management | add | Add pullback hold == trueAdd when pullback holds support. | - | 0 |
| AARC | Add RS confirmationA_ADD_RS_CONFIRM | trade management | add | Add RS confirmation == trueAdd when ticker or sector relative strength confirms. | - | 0 |
| AAVR | Add VCP reloadA_ADD_VCP_RELOAD | trade management | add | Add VCP reload == trueAdd on a later VCP setup. | - | 0 |
| ANXX | No addA_NONE | trade management | add | No add == trueNo additional buys after initial entry. | - | 0 |
| X22X | 2R profit targetX_2R_TARGET | trade management | exit | X_2R_TARGETTrim at entry + 2*risk (where risk = entry - initial stop). R-multiple based profit target. | -0.9% | 827 |
| X44X | 4 consecutive green candle signalX_4GC_SIGNAL | trade management | exit | X_4GC_SIGNALTrim when 4 consecutive bars have close > previous close. Momentum signal for second-stage trim. | - | 0 |
| X4GX | 4 consecutive green candles exitX_4_GREEN_CANDLES | trade management | exit | count(close[t-i] > close[t-i-1] for i in 0..3) >= 4Exit long after 4 consecutive higher closing days (momentum exhaustion). | - | 0 |
| XBBX | Subsequent base breakdown exitX_BASE_BREAKDOWN | trade management | exit | close[t] < prior_base_low(lookback_days)[t] - buffer_atr * atr20 for confirm_daysExit a winner when price closes below the lower boundary of its later rolling base. | - | 0 |
| XBEX | Bearish engulfing exitX_BEARISH_ENGULFING | trade management | exit | close[t] < open[t] AND open[t] > close[t-1] AND close[t] < open[t-1] AND close[t-1] > open[t-1]Exit long on bearish engulfing candlestick pattern. | - | 0 |
| XBUX | Upper Bollinger Band exitX_BOLLINGER_UPPER | trade management | exit | close[t] > sma(close, 20)[t] + 2 * stddev(close, 20)[t]Exit long when price closes above 20-day upper Bollinger Band. | - | 0 |
| XBBR | Failed breakout base re-entryX_BREAKOUT_BASE_REENTRY | trade management | exit | days_since_entry <= max_age_days AND close[t] < pivot - buffer_atr * atr20Trim or exit when price closes back below the stored breakout pivot soon after entry. | - | 0 |
| XBDR | BX Trender dark red (regime change)X_BX_DARK_RED | trade management | exit | bx[t] < 0 AND slope(bx, slope_days)[t] < 0 for confirm_days consecutive sessionsBX is negative AND declining — institutional buying pressure is gone, sellers in control, and conditions are worsening. This is NOT the same as BX < 0: a negative-but-rising BX (light red) is still a valid bull-cycle state. Dark red = BX < 0 AND slope(BX) < 0. Exit all longs immediately. | - | 0 |
| X21E | Early EMA21 exitX_EARLY_EMA21 | trade management | exit | X_EARLY_EMA21Exit on close < EMA21 before first trim fires. Catches failed breakouts that never reach the first profit target. | - | 0 |
| X10E | 10-day EMA trailing exitX_EMA10_TRAIL | trade management | exit | close[t] < ema(close, 10)[t]Exit long when price closes below 10-day EMA. | - | 0 |
| X211 | EMA21-ATR fixed stop (set-once)X_EMA21_ATR_FIXED | trade management | exit | X_EMA21_ATR_FIXEDInitial stop = EMA(21) - 0.25*ATR(14), set once at entry. Non-trailing; stop only moves when a trim target or signal fires. | - | 0 |
| X212 | EMA21 trail exitX_EMA21_TRAIL | trade management | exit | trend_filter == trueExit on close < EMA21. Medium-term trend trail. Pairs with X_HOLD_MIN_D63 for 3-month hold-then-trail. | -0.9% | 827 |
| X50E | EMA50 trail exitX_EMA50_TRAIL | trade management | exit | trend_filter == trueExit on close < EMA50. Slow trail for long-term trend following. Wider room, fewer whipsaws. | - | 0 |
| X8EX | EMA8 trail exitX_EMA8_TRAIL | trade management | exit | trend_filter == trueExit on close < EMA8. Fast trail for runner positions or short-term trend following. | -0.9% | 827 |
| X101 | Episodic event EMA10 runner exitX_EVENT_RUNNER_EMA10 | trade management | exit | exit remaining position when close[t] < ema(close, 10)[t] OR days_since_entry >= max_hold_daysTrail the retained runner using a close below EMA10, subject to a maximum campaign horizon. | - | 0 |
| X1FX | Exit 1MX_FIXED_1M | trade management | exit | Exit 1M >= 21 barsExit after 1 month. | - | 0 |
| X3FX | Exit 3MX_FIXED_3M | trade management | exit | Exit 3M >= 63 barsExit after 3 months. | - | 0 |
| X6FX | Exit 6MX_FIXED_6M | trade management | exit | Exit 6M >= 126 barsExit after 6 months. | - | 0 |
| XFBX | Price closed below FV lower bandX_FV_BREAKDOWN | trade management | exit | close[t] < fv_lower[t] for confirm_days consecutive sessionsPrice closes below the FV lower band (SMA of low, period). Structure is broken — the fair value ribbon has turned red. Secondary exit independent of BX. | - | 0 |
| X1F1 | Price reached X1 deviation band (moderate overextension)X_FV_X1_TRIM | trade management | exit | close[t] >= fv_basis[t] + atr_mult * atr_wilder(atr_period, weekly)[t]Price has reached the X1 deviation level — the first overextension rail above the FV ribbon. X1 = fv_basis + atr_mult * ATR_Wilder(atr_period, weekly). Confirmed via reverse-engineering on SPY/NVDA weekly data (CV of k = 1.12% across 3 equity points). This is a moderate trim signal: take partial profit while letting the remainder ride the regime. | - | 0 |
| X2FX | Price reached X2 deviation band (severe overextension)X_FV_X2_TRIM | trade management | exit | close[t] >= fv_basis[t] + 2 * atr_mult * atr_wilder(atr_period, weekly)[t]Price has reached the X2 deviation level — the second overextension rail. X2 = fv_basis + 2 * atr_mult * ATR_Wilder(atr_period, weekly). The ladder structure (X2 - basis = 2 * (X1 - basis)) was confirmed to <0.6% on all measured data points. This is a stronger trim or full exit: the move is severely overextended relative to fair value. | - | 0 |
| X10H | Hold minimum 10 daysX_HOLD_MIN_D10 | trade management | exit | trend_filter == trueTime gate: no trend exit before 10 trading days. Compose with an EMA trail atom. | -0.9% | 827 |
| X12H | Hold minimum 126 daysX_HOLD_MIN_D126 | trade management | exit | trend_filter == trueTime gate: no trend exit before 126 trading days (6 months). Long-hold runner strategies. | - | 0 |
| X21H | Hold minimum 21 daysX_HOLD_MIN_D21 | trade management | exit | trend_filter == trueTime gate: no trend exit before 21 trading days (1 month). Compose with an EMA trail atom. | - | 0 |
| X5HX | Hold minimum 5 daysX_HOLD_MIN_D5 | trade management | exit | trend_filter == trueTime gate: no trend exit before 5 trading days. Compose with an EMA trail atom. | -0.1% | 4,546 |
| X63H | Hold minimum 63 daysX_HOLD_MIN_D63 | trade management | exit | trend_filter == trueTime gate: no trend exit before 63 trading days (3 months). Compose with an EMA trail atom. | - | 0 |
| XMBX | Market bear exitX_MARKET_BEAR | trade management | exit | Market bear exit == bearExit or de-risk on bear regime. | - | 0 |
| X20M | MA 20/50 crossover exitX_MA_CROSS_20_50 | trade management | exit | sma(close, 20)[t] < sma(close, 50)[t] AND sma(close, 20)[t-1] >= sma(close, 50)[t-1]Exit long when 20-day SMA crosses below 50-day SMA. | - | 0 |
| XNPX | Early no-progress exitX_NO_PROGRESS | trade management | exit | days_since_entry >= evaluation_day AND close[t] / entry_price - 1 < min_returnExit when a new position has failed to achieve a minimum return by a configured holding day. | - | 0 |
| XPSX | Parabolic SAR exitX_PARABOLIC_SAR | trade management | exit | close[t] < psar[t]Exit long when price closes below the Parabolic SAR dot. | - | 0 |
| X14R | RSI(14) overbought exitX_RSI14_70 | trade management | exit | rsi(close, 14)[t] >= 70Exit long when RSI(14) reaches 70 (overbought). Pairs with RSI oversold entry. | - | 0 |
| XRBX | Relative strength breakX_RS_BREAK | trade management | exit | Relative strength break == trueExit on ticker-sector or ticker-SPY relative strength break. | - | 0 |
| XRRX | Relative-strength rollover exitX_RS_ROLLOVER | trade management | exit | linreg_slope(log(close[ticker] / close[benchmark]), slope_days) < 0 for confirm_daysExit after ticker relative strength versus SPY or its group develops a confirmed negative slope. | - | 0 |
| XSDX | Score decay exitX_SCORE_DECAY | trade management | exit | Score decay exit == trueExit when selection or entry score decays. | - | 0 |
| XSBX | Sector breakX_SECTOR_BREAK | trade management | exit | Sector break == trueExit when sector trend or relative strength fails. | - | 0 |
| X21S | Snapshot EMA21-ATR stop actionX_SNAPSHOT_EMA21_ATR | trade management | exit | relative_regime == hotAt trim time, set stop to max(breakeven, EMA(21) - 0.25*ATR(14)), capped at first target price. Non-trailing, ratchets up only. | - | 0 |
| XSOX | Stop only exitX_STOP_ONLY | trade management | exit | Stop only exit == trueExit only by stop or explicit risk rule. | -0.1% | 4,546 |
| X5TX | 5% profit targetX_TARGET_5PCT | trade management | exit | close[t] >= entry_price * 1.05Close trade when 5% gain is reached. | - | 0 |
| X5T1 | 5-day time exitX_TIME_5D | trade management | exit | exit when bars_since_entry >= 5Exit all trades after exactly 5 trading days. | - | 0 |
| X25T | Break-even trailing stop (2%/5%)X_TRAIL_2PCT_5PCT | trade management | exit | if max_close_since_entry >= entry * 1.02 then stop = max_high_since_entry * 0.95After 2% gain, trail stop 5% behind highest price since entry. | -0.9% | 827 |
| E20M | MA 20/50 crossover entryE_MA_CROSS_20_50 | trend following | trigger | sma(close, 20)[t] > sma(close, 50)[t] AND sma(close, 20)[t-1] <= sma(close, 50)[t-1]20-day SMA crosses above 50-day SMA (golden cross). Long entry signal. | - | 0 |
| PTMR | Trim market riskP_TRIM_MARKET_RISK | trim | blocker | Trim market risk == trueTrim if broad market risk rises. | - | 0 |
| PEST | Early strength partial trimP_EARLY_STRENGTH_TRIM | trim | trim | if days_since_entry <= max_days AND gain >= target_gain then trim trim_fractionTrim most of the position into an early gain while retaining a minority runner. Exploratory 80/20 management hypothesis. | - | 0 |
| PNXX | No trimP_NONE | trim | trim | No trim == trueNo partial trims. | - | 0 |
| P25T | Trim 25% at +20%P_TRIM_25_AT_20 | trim | trim | Trim 25% at +20% >= 20%Trim 25% of position after 20% gain. | - | 0 |
| P33T | Trim 33% at +50%P_TRIM_33_AT_50 | trim | trim | Trim 33% at +50% >= 50%Trim one-third of position after 50% gain. | - | 0 |
| PTEX | Trim extensionP_TRIM_EXTENSION | trim | trim | Trim extension == trueTrim on MA or RSI extension. | - | 0 |
| PTLX | Trim LPPL riskP_TRIM_LPPL | trim | trim | Trim LPPL risk == trueTrim on high LPPL risk. | - | 0 |
| PTSR | Trim sector rolloverP_TRIM_SECTOR_ROLLOVER | trim | trim | Trim sector rollover == trueTrim if sector relative strength rolls over. | - | 0 |
| TVPA | Prior advance random-window percentileT_VCP_PRIOR_ADVANCE_PCTL | vcp contraction | context | T_VCP_PRIOR_ADVANCE_PCTLPercentile of advance from the prior equal-duration low to the base start among ungated windows in the same duration band. | - | 0 |
| TVP1 | VCP any prior uptrendT_VCP_PRIOR_ANY_UPTREND | vcp contraction | context | trend_filter == trueThe structural, efficient-impulse, or leader-position prior-uptrend condition is true at the close before the candidate base starts. | - | 0 |
| TVPE | VCP prior efficient impulseT_VCP_PRIOR_EFFICIENT_IMPULSE | vcp contraction | context | T_VCP_PRIOR_EFFICIENT_IMPULSEAt the close before the candidate base starts, the 63-session return is at least 10%, path efficiency is at least 0.30, and drawdown from the 63-session high is no more than 15%. | - | 0 |
| TVPL | VCP prior leader positionT_VCP_PRIOR_LEADER_POSITION | vcp contraction | context | T_VCP_PRIOR_LEADER_POSITIONAt the close before the candidate base starts, price is at least 30% above its 252-session low, within 25% of its 252-session high, and has positive 126-session excess return versus SPY. | - | 0 |
| TVPS | VCP prior structural uptrendT_VCP_PRIOR_STRUCTURAL_UPTREND | vcp contraction | context | trend_filter == trueAt the close before the candidate base starts, price is above MA50, MA50 is above MA200, and the 20-session MA50 slope is positive. | - | 0 |
| TVCP | Base close position random-window percentileT_VCP_CLOSE_POSITION_PCTL | vcp contraction | setup | T_VCP_CLOSE_POSITION_PCTLPercentile of last pre-breakout close position in the full base range among ungated windows in the same duration band. | - | 0 |
| TVCS | Base close slope random-window percentileT_VCP_CLOSE_SLOPE_ATR_PCTL | vcp contraction | setup | T_VCP_CLOSE_SLOPE_ATR_PCTLPercentile of fitted close slope per session divided by ATR20 among ungated windows in the same duration band. | - | 0 |
| TVDP | Base depth random-window percentileT_VCP_DEPTH_PCTL | vcp contraction | setup | T_VCP_DEPTH_PCTLPercentile of full high-low depth among ungated windows in the same duration band. | - | 0 |
| TVGT | Base gap share random-window percentileT_VCP_GAP_TR_SHARE_PCTL | vcp contraction | setup | T_VCP_GAP_TR_SHARE_PCTLPercentile of absolute opening gaps as a share of total base true range among ungated windows in the same duration band. | - | 0 |
| TVHL | Base higher-low fraction random-window percentileT_VCP_HIGHER_LOW_FRACTION_PCTL | vcp contraction | setup | T_VCP_HIGHER_LOW_FRACTION_PCTLPercentile of share of adjacent five-block lows that rise among ungated windows in the same duration band. | - | 0 |
| TVHS | Base high slope random-window percentileT_VCP_HIGH_SLOPE_ATR_PCTL | vcp contraction | setup | T_VCP_HIGH_SLOPE_ATR_PCTLPercentile of fitted high slope per session divided by ATR20 among ungated windows in the same duration band. | - | 0 |
| TVLT | Base large-range concentration random-window percentileT_VCP_LARGE_TR_SHARE_PCTL | vcp contraction | setup | T_VCP_LARGE_TR_SHARE_PCTLPercentile of two largest true ranges as a share of total base true range among ungated windows in the same duration band. | - | 0 |
| TVLH | Base lower-high fraction random-window percentileT_VCP_LOWER_HIGH_FRACTION_PCTL | vcp contraction | setup | T_VCP_LOWER_HIGH_FRACTION_PCTLPercentile of share of adjacent five-block highs that fall among ungated windows in the same duration band. | - | 0 |
| TVLS | Base low slope random-window percentileT_VCP_LOW_SLOPE_ATR_PCTL | vcp contraction | setup | T_VCP_LOW_SLOPE_ATR_PCTLPercentile of fitted low slope per session divided by ATR20 among ungated windows in the same duration band. | - | 0 |
| TVMC | Base midpoint-cross rate random-window percentileT_VCP_MIDPOINT_CROSS_RATE_PCTL | vcp contraction | setup | T_VCP_MIDPOINT_CROSS_RATE_PCTLPercentile of close crossings through the full-base midpoint per session among ungated windows in the same duration band. | - | 0 |
| TVPC | Base path churn random-window percentileT_VCP_PATH_CHURN_PCTL | vcp contraction | setup | T_VCP_PATH_CHURN_PCTLPercentile of total absolute close path divided by full base range among ungated windows in the same duration band. | - | 0 |
| TVRF | Base reversal fraction random-window percentileT_VCP_REVERSAL_FRACTION_PCTL | vcp contraction | setup | T_VCP_REVERSAL_FRACTION_PCTLPercentile of share of sessions where the close-change sign reverses among ungated windows in the same duration band. | - | 0 |
| TVSE | Base signed efficiency random-window percentileT_VCP_SIGNED_EFFICIENCY_PCTL | vcp contraction | setup | T_VCP_SIGNED_EFFICIENCY_PCTLPercentile of net close change divided by total absolute close path among ungated windows in the same duration band. | - | 0 |
| TVTR | Base terminal-range ratio random-window percentileT_VCP_TERMINAL_RANGE_RATIO_PCTL | vcp contraction | setup | T_VCP_TERMINAL_RANGE_RATIO_PCTLPercentile of terminal-quarter range divided by first-half range among ungated windows in the same duration band. | - | 0 |
| T2VX | Base trend fit random-window percentileT_VCP_TREND_R2_PCTL | vcp contraction | setup | trend_filter == truePercentile of close-on-time regression R squared among ungated windows in the same duration band. | - | 0 |
| TVTH | Base true-range half ratio random-window percentileT_VCP_TR_HALF_RATIO_PCTL | vcp contraction | setup | T_VCP_TR_HALF_RATIO_PCTLPercentile of second-half mean true range divided by first-half mean true range among ungated windows in the same duration band. | - | 0 |
| TVVH | Base volume half ratio random-window percentileT_VCP_VOLUME_HALF_RATIO_PCTL | vcp contraction | setup | T_VCP_VOLUME_HALF_RATIO_PCTLPercentile of second-half mean volume divided by first-half mean volume among ungated windows in the same duration band. | - | 0 |
| TVVT | Base volume trend random-window percentileT_VCP_VOLUME_TREND_TOTAL_PCTL | vcp contraction | setup | trend_filter == truePercentile of fitted total log-volume change across the base among ungated windows in the same duration band. | - | 0 |
| TVWS | Base width slope random-window percentileT_VCP_WIDTH_SLOPE_ATR_PCTL | vcp contraction | setup | T_VCP_WIDTH_SLOPE_ATR_PCTLPercentile of fitted five-block high-low width slope divided by ATR20 among ungated windows in the same duration band. | - | 0 |
| T60G | Gap activity 60DT_GAP_ACTIVITY_60D | volatility | setup | Gap activity 60D >= 2At least 2 gap moves in the trailing 60 days. Indicates institutional activity or news catalysts. | - | 0 |
| THAX | High ADRT_HIGH_ADR | volatility | setup | ATR20 / close >= 2%Average daily range (ATR as % of price) >= 2%. Enough volatility to pay for the risk of the trade. | - | 0 |
| ENRB | Narrowest range breakout upE_NARROW_RANGE_BREAKOUT_UP | volatility expansion | trigger | range[t-1] = min(range[t-7..t-1]) AND close[t] > high[t-1]Upward breakout following the narrowest daily range of the last 7 days. | - | 0 |
| TGVE | GARCH volatility expansion gateT_GARCH_VOL_EXPANSION | volatility forecast | context | garch_vol_forecast[t] >= thresholdGARCH(1,1) forecasted true range / price >= threshold. Binary regime gate: forecasted vol above threshold means conditions are active for breakout follow-through; below threshold means stay out. A breakout strategy needs volatility expansion — without it, the setup can look perfect and still go nowhere. This gate filters out breakouts that occur when GARCH forecasts low next-period volatility. | - | 0 |
| TGVF | GARCH(1,1) forecasted true rangeT_GARCH_VOL_FORECAST | volatility forecast | context | log_tr = log(true_range[t] + epsilon); demeaned = log_tr - SMA(log_tr, trailing_window); fit GARCH(1,1) on demeaned[t-fit_window:t]; forecast = exp(sigma2[t+1] + SMA(log_tr, trailing_window)); garch_vol_forecast = forecast / close[t]GARCH(1,1) one-step-ahead forecast of daily True Range, as a percentage of price. The forecast is computed on log-transformed, demeaned True Range to handle skew and isolate the volatility signal. Unlike T_HIGH_ADR (which measures current ATR level), this forecasts next-period volatility using the GARCH volatility-clustering model. | - | 0 |
| EBBU | Upper Bollinger Band breakoutE_BOLLINGER_BREAKOUT_UP | volatility momentum | trigger | close[t] > sma(close, 20)[t] + 2 * stddev(close, 20)[t]Close above 20-day upper Bollinger Band (2 std dev). Volatility momentum entry. | - | 0 |
| T20U | Up-volume 20D strongT_UPVOL_20D_STRONG | volume | context | Up-volume 20D strong >= 60%Up-day volume ratio over 20 days >= 60%. Buying pressure dominates selling pressure. | - | 0 |
| T20W | 20-week EMA slope upT_WSUP_EMA20_SLOPE_UP_4W | weekly support pullback | context | T_WSUP_EMA20_SLOPE_UP_4WThe 20-week EMA is above its value four completed weeks earlier. | - | 0 |
| T33W | 33-week EMA slope upT_WSUP_EMA33_SLOPE_UP_4W | weekly support pullback | context | T_WSUP_EMA33_SLOPE_UP_4WThe 33-week EMA is above its value four completed weeks earlier. | - | 0 |
| T222 | Market above rising weekly MA20T_WSUP_MARKET_ABOVE_RISING_MA20W | weekly support pullback | context | T_WSUP_MARKET_ABOVE_RISING_MA20WThe completed weekly market close is above MA20, and MA20 is above its value four completed weeks earlier. | - | 0 |
| T321 | Market above rising weekly MA33T_WSUP_MARKET_ABOVE_RISING_MA33W | weekly support pullback | context | T_WSUP_MARKET_ABOVE_RISING_MA33WThe completed weekly market close is above MA33, and MA33 is above its value four completed weeks earlier. | - | 0 |
| T322 | 33-week power VWAP slope upT_WSUP_PVWAP33_SLOPE_UP_4W | weekly support pullback | context | T_WSUP_PVWAP33_SLOPE_UP_4WThe 33-week power VWAP is above its value four completed weeks earlier. | - | 0 |
| T223 | Sector above rising weekly MA20T_WSUP_SECTOR_ABOVE_RISING_MA20W | weekly support pullback | context | T_WSUP_SECTOR_ABOVE_RISING_MA20WThe completed weekly sector close is above MA20, and MA20 is above its value four completed weeks earlier. | - | 0 |
| T323 | Sector above rising weekly MA33T_WSUP_SECTOR_ABOVE_RISING_MA33W | weekly support pullback | context | T_WSUP_SECTOR_ABOVE_RISING_MA33WThe completed weekly sector close is above MA33, and MA33 is above its value four completed weeks earlier. | - | 0 |
| T224 | 20-week SMA slope upT_WSUP_SMA20_SLOPE_UP_4W | weekly support pullback | context | T_WSUP_SMA20_SLOPE_UP_4WThe 20-week SMA is above its value four completed weeks earlier. | - | 0 |
| T324 | 33-week SMA slope upT_WSUP_SMA33_SLOPE_UP_4W | weekly support pullback | context | T_WSUP_SMA33_SLOPE_UP_4WThe 33-week SMA is above its value four completed weeks earlier. | - | 0 |
| T225 | Ticker above rising weekly MA20T_WSUP_TICKER_ABOVE_RISING_MA20W | weekly support pullback | context | T_WSUP_TICKER_ABOVE_RISING_MA20WThe completed weekly ticker close is above MA20, and MA20 is above its value four completed weeks earlier. | - | 0 |
| T325 | Ticker above rising weekly MA33T_WSUP_TICKER_ABOVE_RISING_MA33W | weekly support pullback | context | T_WSUP_TICKER_ABOVE_RISING_MA33WThe completed weekly ticker close is above MA33, and MA33 is above its value four completed weeks earlier. | - | 0 |
| T226 | 20-week VWAP slope upT_WSUP_VWAP20_SLOPE_UP_4W | weekly support pullback | context | T_WSUP_VWAP20_SLOPE_UP_4WThe 20-week VWAP is above its value four completed weeks earlier. | - | 0 |
| T326 | 33-week VWAP slope upT_WSUP_VWAP33_SLOPE_UP_4W | weekly support pullback | context | T_WSUP_VWAP33_SLOPE_UP_4WThe 33-week VWAP is above its value four completed weeks earlier. | - | 0 |
| T227 | 20-week VWMA slope upT_WSUP_VWMA20_SLOPE_UP_4W | weekly support pullback | context | T_WSUP_VWMA20_SLOPE_UP_4WThe 20-week VWMA is above its value four completed weeks earlier. | - | 0 |
| T327 | 33-week VWMA slope upT_WSUP_VWMA33_SLOPE_UP_4W | weekly support pullback | context | T_WSUP_VWMA33_SLOPE_UP_4WThe 33-week VWMA is above its value four completed weeks earlier. | - | 0 |
| TWAA | Any actual support touchT_WSUP_ANY_ACTUAL_TOUCH | weekly support pullback | entry_context | T_WSUP_ANY_ACTUAL_TOUCHAt least one touched support line intersects the completed weekly range. | - | 0 |
| TWAC | Any green support confirmationT_WSUP_ANY_CONFIRM_GREEN | weekly support pullback | entry_context | T_WSUP_ANY_CONFIRM_GREENA later support confirmation occurs on a green completed weekly candle. | - | 0 |
| TWAH | Any weekly support holdT_WSUP_ANY_HOLD | weekly support pullback | entry_context | T_WSUP_ANY_HOLDAt least one touched line is held by the weekly close. | - | 0 |
| TWAN | Any near-above support approachT_WSUP_ANY_NEAR_ABOVE | weekly support pullback | entry_context | T_WSUP_ANY_NEAR_ABOVEAt least one support line is approached from above within 0.5 weekly ATR13 without a range intersection. | - | 0 |
| TWAT | Any green support-touch weekT_WSUP_ANY_TOUCH_GREEN | weekly support pullback | entry_context | T_WSUP_ANY_TOUCH_GREENA support touch occurs on a green completed weekly candle. | - | 0 |
| TWAU | Any weekly support undercutT_WSUP_ANY_UNDERCUT | weekly support pullback | entry_context | T_WSUP_ANY_UNDERCUTThe weekly close is below at least one touched line. | - | 0 |
| TWAW | Any weekly support wick reclaimT_WSUP_ANY_WICK_RECLAIM | weekly support pullback | entry_context | T_WSUP_ANY_WICK_RECLAIMAt least one touched line is swept by the weekly low and reclaimed by the close. | - | 0 |
| T2WX | Two-line support-confirmation confluenceT_WSUP_CONFIRM_CONFLUENCE_2 | weekly support pullback | entry_context | T_WSUP_CONFIRM_CONFLUENCE_2At least two tested support lines confirm in the same completed week. | - | 0 |
| T228 | 20-week EMA actual touchT_WSUP_EMA20_ACTUAL_TOUCH | weekly support pullback | entry_context | T_WSUP_EMA20_ACTUAL_TOUCHThe touch-week range intersects the 20-week EMA. | - | 0 |
| T229 | 20-week EMA green confirmationT_WSUP_EMA20_CONFIRM_GREEN | weekly support pullback | entry_context | T_WSUP_EMA20_CONFIRM_GREENThe 20-week EMA confirmation week also closes above its weekly open. | - | 0 |
| T230 | 20-week EMA weekly holdT_WSUP_EMA20_HOLD | weekly support pullback | entry_context | T_WSUP_EMA20_HOLDThe touch week closes at or above the 20-week EMA. | - | 0 |
| T231 | 20-week EMA near-above approachT_WSUP_EMA20_NEAR_ABOVE | weekly support pullback | entry_context | T_WSUP_EMA20_NEAR_ABOVEThe touch-week low remains above the 20-week EMA, but is no more than 0.5 weekly ATR13 above it. | - | 0 |
| T232 | 20-week EMA green touch weekT_WSUP_EMA20_TOUCH_GREEN | weekly support pullback | entry_context | T_WSUP_EMA20_TOUCH_GREENThe touch week closes above its weekly open. | - | 0 |
| T233 | 20-week EMA weekly undercutT_WSUP_EMA20_UNDERCUT | weekly support pullback | entry_context | T_WSUP_EMA20_UNDERCUTThe touch week closes below the 20-week EMA. | - | 0 |
| T234 | 20-week EMA wick reclaimT_WSUP_EMA20_WICK_RECLAIM | weekly support pullback | entry_context | T_WSUP_EMA20_WICK_RECLAIMThe touch-week low is below the 20-week EMA, and its close is at or above the line. | - | 0 |
| T328 | 33-week EMA actual touchT_WSUP_EMA33_ACTUAL_TOUCH | weekly support pullback | entry_context | T_WSUP_EMA33_ACTUAL_TOUCHThe touch-week range intersects the 33-week EMA. | - | 0 |
| T329 | 33-week EMA green confirmationT_WSUP_EMA33_CONFIRM_GREEN | weekly support pullback | entry_context | T_WSUP_EMA33_CONFIRM_GREENThe 33-week EMA confirmation week also closes above its weekly open. | - | 0 |
| T330 | 33-week EMA weekly holdT_WSUP_EMA33_HOLD | weekly support pullback | entry_context | T_WSUP_EMA33_HOLDThe touch week closes at or above the 33-week EMA. | - | 0 |
| T340 | 33-week EMA near-above approachT_WSUP_EMA33_NEAR_ABOVE | weekly support pullback | entry_context | T_WSUP_EMA33_NEAR_ABOVEThe touch-week low remains above the 33-week EMA, but is no more than 0.5 weekly ATR13 above it. | - | 0 |
| T341 | 33-week EMA green touch weekT_WSUP_EMA33_TOUCH_GREEN | weekly support pullback | entry_context | T_WSUP_EMA33_TOUCH_GREENThe touch week closes above its weekly open. | - | 0 |
| T342 | 33-week EMA weekly undercutT_WSUP_EMA33_UNDERCUT | weekly support pullback | entry_context | T_WSUP_EMA33_UNDERCUTThe touch week closes below the 33-week EMA. | - | 0 |
| T343 | 33-week EMA wick reclaimT_WSUP_EMA33_WICK_RECLAIM | weekly support pullback | entry_context | T_WSUP_EMA33_WICK_RECLAIMThe touch-week low is below the 33-week EMA, and its close is at or above the line. | - | 0 |
| T344 | 33-week power VWAP actual touchT_WSUP_PVWAP33_ACTUAL_TOUCH | weekly support pullback | entry_context | T_WSUP_PVWAP33_ACTUAL_TOUCHThe touch-week range intersects the 33-week power VWAP. | - | 0 |
| T345 | 33-week power VWAP green confirmationT_WSUP_PVWAP33_CONFIRM_GREEN | weekly support pullback | entry_context | T_WSUP_PVWAP33_CONFIRM_GREENThe 33-week power VWAP confirmation week also closes above its weekly open. | - | 0 |
| T346 | 33-week power VWAP weekly holdT_WSUP_PVWAP33_HOLD | weekly support pullback | entry_context | T_WSUP_PVWAP33_HOLDThe touch week closes at or above the 33-week power VWAP. | - | 0 |
| T347 | 33-week power VWAP near-above approachT_WSUP_PVWAP33_NEAR_ABOVE | weekly support pullback | entry_context | T_WSUP_PVWAP33_NEAR_ABOVEThe touch-week low remains above the 33-week power VWAP, but is no more than 0.5 weekly ATR13 above it. | - | 0 |
| T348 | 33-week power VWAP green touch weekT_WSUP_PVWAP33_TOUCH_GREEN | weekly support pullback | entry_context | T_WSUP_PVWAP33_TOUCH_GREENThe touch week closes above its weekly open. | - | 0 |
| T349 | 33-week power VWAP weekly undercutT_WSUP_PVWAP33_UNDERCUT | weekly support pullback | entry_context | T_WSUP_PVWAP33_UNDERCUTThe touch week closes below the 33-week power VWAP. | - | 0 |
| T350 | 33-week power VWAP wick reclaimT_WSUP_PVWAP33_WICK_RECLAIM | weekly support pullback | entry_context | T_WSUP_PVWAP33_WICK_RECLAIMThe touch-week low is below the 33-week power VWAP, and its close is at or above the line. | - | 0 |
| T235 | 20-week SMA actual touchT_WSUP_SMA20_ACTUAL_TOUCH | weekly support pullback | entry_context | T_WSUP_SMA20_ACTUAL_TOUCHThe touch-week range intersects the 20-week SMA. | - | 0 |
| T236 | 20-week SMA green confirmationT_WSUP_SMA20_CONFIRM_GREEN | weekly support pullback | entry_context | T_WSUP_SMA20_CONFIRM_GREENThe 20-week SMA confirmation week also closes above its weekly open. | - | 0 |
| T237 | 20-week SMA weekly holdT_WSUP_SMA20_HOLD | weekly support pullback | entry_context | T_WSUP_SMA20_HOLDThe touch week closes at or above the 20-week SMA. | - | 0 |
| T238 | 20-week SMA near-above approachT_WSUP_SMA20_NEAR_ABOVE | weekly support pullback | entry_context | T_WSUP_SMA20_NEAR_ABOVEThe touch-week low remains above the 20-week SMA, but is no more than 0.5 weekly ATR13 above it. | - | 0 |
| T239 | 20-week SMA green touch weekT_WSUP_SMA20_TOUCH_GREEN | weekly support pullback | entry_context | T_WSUP_SMA20_TOUCH_GREENThe touch week closes above its weekly open. | - | 0 |
| T240 | 20-week SMA weekly undercutT_WSUP_SMA20_UNDERCUT | weekly support pullback | entry_context | T_WSUP_SMA20_UNDERCUTThe touch week closes below the 20-week SMA. | - | 0 |
| T241 | 20-week SMA wick reclaimT_WSUP_SMA20_WICK_RECLAIM | weekly support pullback | entry_context | T_WSUP_SMA20_WICK_RECLAIMThe touch-week low is below the 20-week SMA, and its close is at or above the line. | - | 0 |
| T351 | 33-week SMA actual touchT_WSUP_SMA33_ACTUAL_TOUCH | weekly support pullback | entry_context | T_WSUP_SMA33_ACTUAL_TOUCHThe touch-week range intersects the 33-week SMA. | - | 0 |
| T352 | 33-week SMA green confirmationT_WSUP_SMA33_CONFIRM_GREEN | weekly support pullback | entry_context | T_WSUP_SMA33_CONFIRM_GREENThe 33-week SMA confirmation week also closes above its weekly open. | - | 0 |
| T353 | 33-week SMA weekly holdT_WSUP_SMA33_HOLD | weekly support pullback | entry_context | T_WSUP_SMA33_HOLDThe touch week closes at or above the 33-week SMA. | - | 0 |
| T354 | 33-week SMA near-above approachT_WSUP_SMA33_NEAR_ABOVE | weekly support pullback | entry_context | T_WSUP_SMA33_NEAR_ABOVEThe touch-week low remains above the 33-week SMA, but is no more than 0.5 weekly ATR13 above it. | - | 0 |
| T355 | 33-week SMA green touch weekT_WSUP_SMA33_TOUCH_GREEN | weekly support pullback | entry_context | T_WSUP_SMA33_TOUCH_GREENThe touch week closes above its weekly open. | - | 0 |
| T356 | 33-week SMA weekly undercutT_WSUP_SMA33_UNDERCUT | weekly support pullback | entry_context | T_WSUP_SMA33_UNDERCUTThe touch week closes below the 33-week SMA. | - | 0 |
| T357 | 33-week SMA wick reclaimT_WSUP_SMA33_WICK_RECLAIM | weekly support pullback | entry_context | T_WSUP_SMA33_WICK_RECLAIMThe touch-week low is below the 33-week SMA, and its close is at or above the line. | - | 0 |
| T2W1 | Two-line support-touch confluenceT_WSUP_TOUCH_CONFLUENCE_2 | weekly support pullback | entry_context | T_WSUP_TOUCH_CONFLUENCE_2At least two tested support lines have a return touch in the same completed week. | - | 0 |
| T242 | 20-week VWAP actual touchT_WSUP_VWAP20_ACTUAL_TOUCH | weekly support pullback | entry_context | T_WSUP_VWAP20_ACTUAL_TOUCHThe touch-week range intersects the 20-week VWAP. | - | 0 |
| T243 | 20-week VWAP green confirmationT_WSUP_VWAP20_CONFIRM_GREEN | weekly support pullback | entry_context | T_WSUP_VWAP20_CONFIRM_GREENThe 20-week VWAP confirmation week also closes above its weekly open. | - | 0 |
| T244 | 20-week VWAP weekly holdT_WSUP_VWAP20_HOLD | weekly support pullback | entry_context | T_WSUP_VWAP20_HOLDThe touch week closes at or above the 20-week VWAP. | - | 0 |
| T245 | 20-week VWAP near-above approachT_WSUP_VWAP20_NEAR_ABOVE | weekly support pullback | entry_context | T_WSUP_VWAP20_NEAR_ABOVEThe touch-week low remains above the 20-week VWAP, but is no more than 0.5 weekly ATR13 above it. | - | 0 |
| T246 | 20-week VWAP green touch weekT_WSUP_VWAP20_TOUCH_GREEN | weekly support pullback | entry_context | T_WSUP_VWAP20_TOUCH_GREENThe touch week closes above its weekly open. | - | 0 |
| T247 | 20-week VWAP weekly undercutT_WSUP_VWAP20_UNDERCUT | weekly support pullback | entry_context | T_WSUP_VWAP20_UNDERCUTThe touch week closes below the 20-week VWAP. | - | 0 |
| T248 | 20-week VWAP wick reclaimT_WSUP_VWAP20_WICK_RECLAIM | weekly support pullback | entry_context | T_WSUP_VWAP20_WICK_RECLAIMThe touch-week low is below the 20-week VWAP, and its close is at or above the line. | - | 0 |
| T358 | 33-week VWAP actual touchT_WSUP_VWAP33_ACTUAL_TOUCH | weekly support pullback | entry_context | T_WSUP_VWAP33_ACTUAL_TOUCHThe touch-week range intersects the 33-week VWAP. | - | 0 |
| T359 | 33-week VWAP green confirmationT_WSUP_VWAP33_CONFIRM_GREEN | weekly support pullback | entry_context | T_WSUP_VWAP33_CONFIRM_GREENThe 33-week VWAP confirmation week also closes above its weekly open. | - | 0 |
| T360 | 33-week VWAP weekly holdT_WSUP_VWAP33_HOLD | weekly support pullback | entry_context | T_WSUP_VWAP33_HOLDThe touch week closes at or above the 33-week VWAP. | - | 0 |
| T361 | 33-week VWAP near-above approachT_WSUP_VWAP33_NEAR_ABOVE | weekly support pullback | entry_context | T_WSUP_VWAP33_NEAR_ABOVEThe touch-week low remains above the 33-week VWAP, but is no more than 0.5 weekly ATR13 above it. | - | 0 |
| T362 | 33-week VWAP green touch weekT_WSUP_VWAP33_TOUCH_GREEN | weekly support pullback | entry_context | T_WSUP_VWAP33_TOUCH_GREENThe touch week closes above its weekly open. | - | 0 |
| T363 | 33-week VWAP weekly undercutT_WSUP_VWAP33_UNDERCUT | weekly support pullback | entry_context | T_WSUP_VWAP33_UNDERCUTThe touch week closes below the 33-week VWAP. | - | 0 |
| T364 | 33-week VWAP wick reclaimT_WSUP_VWAP33_WICK_RECLAIM | weekly support pullback | entry_context | T_WSUP_VWAP33_WICK_RECLAIMThe touch-week low is below the 33-week VWAP, and its close is at or above the line. | - | 0 |
| T249 | 20-week VWMA actual touchT_WSUP_VWMA20_ACTUAL_TOUCH | weekly support pullback | entry_context | T_WSUP_VWMA20_ACTUAL_TOUCHThe touch-week range intersects the 20-week VWMA. | - | 0 |
| T250 | 20-week VWMA green confirmationT_WSUP_VWMA20_CONFIRM_GREEN | weekly support pullback | entry_context | T_WSUP_VWMA20_CONFIRM_GREENThe 20-week VWMA confirmation week also closes above its weekly open. | - | 0 |
| T253 | 20-week VWMA weekly holdT_WSUP_VWMA20_HOLD | weekly support pullback | entry_context | T_WSUP_VWMA20_HOLDThe touch week closes at or above the 20-week VWMA. | - | 0 |
| T254 | 20-week VWMA near-above approachT_WSUP_VWMA20_NEAR_ABOVE | weekly support pullback | entry_context | T_WSUP_VWMA20_NEAR_ABOVEThe touch-week low remains above the 20-week VWMA, but is no more than 0.5 weekly ATR13 above it. | - | 0 |
| T255 | 20-week VWMA green touch weekT_WSUP_VWMA20_TOUCH_GREEN | weekly support pullback | entry_context | T_WSUP_VWMA20_TOUCH_GREENThe touch week closes above its weekly open. | - | 0 |
| T256 | 20-week VWMA weekly undercutT_WSUP_VWMA20_UNDERCUT | weekly support pullback | entry_context | T_WSUP_VWMA20_UNDERCUTThe touch week closes below the 20-week VWMA. | - | 0 |
| T257 | 20-week VWMA wick reclaimT_WSUP_VWMA20_WICK_RECLAIM | weekly support pullback | entry_context | T_WSUP_VWMA20_WICK_RECLAIMThe touch-week low is below the 20-week VWMA, and its close is at or above the line. | - | 0 |
| T365 | 33-week VWMA actual touchT_WSUP_VWMA33_ACTUAL_TOUCH | weekly support pullback | entry_context | T_WSUP_VWMA33_ACTUAL_TOUCHThe touch-week range intersects the 33-week VWMA. | - | 0 |
| T366 | 33-week VWMA green confirmationT_WSUP_VWMA33_CONFIRM_GREEN | weekly support pullback | entry_context | T_WSUP_VWMA33_CONFIRM_GREENThe 33-week VWMA confirmation week also closes above its weekly open. | - | 0 |
| T367 | 33-week VWMA weekly holdT_WSUP_VWMA33_HOLD | weekly support pullback | entry_context | T_WSUP_VWMA33_HOLDThe touch week closes at or above the 33-week VWMA. | - | 0 |
| T368 | 33-week VWMA near-above approachT_WSUP_VWMA33_NEAR_ABOVE | weekly support pullback | entry_context | T_WSUP_VWMA33_NEAR_ABOVEThe touch-week low remains above the 33-week VWMA, but is no more than 0.5 weekly ATR13 above it. | - | 0 |
| T369 | 33-week VWMA green touch weekT_WSUP_VWMA33_TOUCH_GREEN | weekly support pullback | entry_context | T_WSUP_VWMA33_TOUCH_GREENThe touch week closes above its weekly open. | - | 0 |
| T370 | 33-week VWMA weekly undercutT_WSUP_VWMA33_UNDERCUT | weekly support pullback | entry_context | T_WSUP_VWMA33_UNDERCUTThe touch week closes below the 33-week VWMA. | - | 0 |
| T371 | 33-week VWMA wick reclaimT_WSUP_VWMA33_WICK_RECLAIM | weekly support pullback | entry_context | T_WSUP_VWMA33_WICK_RECLAIMThe touch-week low is below the 33-week VWMA, and its close is at or above the line. | - | 0 |
| T258 | 20-week EMA armedT_WSUP_EMA20_ARMED | weekly support pullback | setup | T_WSUP_EMA20_ARMEDThe 20-week EMA remains armed after a completed weekly close was at least 1.5 weekly ATR13 above it and before the next return touch. | - | 0 |
| T372 | 33-week EMA armedT_WSUP_EMA33_ARMED | weekly support pullback | setup | T_WSUP_EMA33_ARMEDThe 33-week EMA remains armed after a completed weekly close was at least 1.5 weekly ATR13 above it and before the next return touch. | - | 0 |
| T373 | 33-week power VWAP armedT_WSUP_PVWAP33_ARMED | weekly support pullback | setup | T_WSUP_PVWAP33_ARMEDThe 33-week power VWAP remains armed after a completed weekly close was at least 1.5 weekly ATR13 above it and before the next return touch. | - | 0 |
| T259 | 20-week SMA armedT_WSUP_SMA20_ARMED | weekly support pullback | setup | T_WSUP_SMA20_ARMEDThe 20-week SMA remains armed after a completed weekly close was at least 1.5 weekly ATR13 above it and before the next return touch. | - | 0 |
| T374 | 33-week SMA armedT_WSUP_SMA33_ARMED | weekly support pullback | setup | T_WSUP_SMA33_ARMEDThe 33-week SMA remains armed after a completed weekly close was at least 1.5 weekly ATR13 above it and before the next return touch. | - | 0 |
| T260 | 20-week VWAP armedT_WSUP_VWAP20_ARMED | weekly support pullback | setup | T_WSUP_VWAP20_ARMEDThe 20-week VWAP remains armed after a completed weekly close was at least 1.5 weekly ATR13 above it and before the next return touch. | - | 0 |
| T375 | 33-week VWAP armedT_WSUP_VWAP33_ARMED | weekly support pullback | setup | T_WSUP_VWAP33_ARMEDThe 33-week VWAP remains armed after a completed weekly close was at least 1.5 weekly ATR13 above it and before the next return touch. | - | 0 |
| T261 | 20-week VWMA armedT_WSUP_VWMA20_ARMED | weekly support pullback | setup | T_WSUP_VWMA20_ARMEDThe 20-week VWMA remains armed after a completed weekly close was at least 1.5 weekly ATR13 above it and before the next return touch. | - | 0 |
| T376 | 33-week VWMA armedT_WSUP_VWMA33_ARMED | weekly support pullback | setup | T_WSUP_VWMA33_ARMEDThe 33-week VWMA remains armed after a completed weekly close was at least 1.5 weekly ATR13 above it and before the next return touch. | - | 0 |
| T262 | Any 20-week support confirmationT_WSUP_20W_CONFIRM | weekly support pullback | trigger | T_WSUP_20W_CONFIRMAt least one tested 20-week support line has a later valid confirmation. | - | 0 |
| T263 | 20W same-week support confirmationT_WSUP_20W_SAME_WEEK_CONFIRM | weekly support pullback | trigger | T_WSUP_20W_SAME_WEEK_CONFIRMAny 20-week support line has a same-week confirmation. | - | 0 |
| T264 | Any 20-week support touchT_WSUP_20W_TOUCH | weekly support pullback | trigger | T_WSUP_20W_TOUCHAt least one tested 20-week support line has a first armed return touch. | - | 0 |
| T377 | Any 33-week support confirmationT_WSUP_33W_CONFIRM | weekly support pullback | trigger | T_WSUP_33W_CONFIRMAt least one tested 33-week support line has a later valid confirmation. | - | 0 |
| T378 | 33W same-week support confirmationT_WSUP_33W_SAME_WEEK_CONFIRM | weekly support pullback | trigger | T_WSUP_33W_SAME_WEEK_CONFIRMAny 33-week support line has a same-week confirmation. | - | 0 |
| T379 | Any 33-week support touchT_WSUP_33W_TOUCH | weekly support pullback | trigger | T_WSUP_33W_TOUCHAt least one tested 33-week support line has a first armed return touch. | - | 0 |
| TWA1 | Any 20/33-week support confirmationT_WSUP_ANY_CONFIRM | weekly support pullback | trigger | T_WSUP_ANY_CONFIRMAt least one tested support line has its first valid confirmation within three completed weeks. | - | 0 |
| TWAS | ANY same-week support confirmationT_WSUP_ANY_SAME_WEEK_CONFIRM | weekly support pullback | trigger | T_WSUP_ANY_SAME_WEEK_CONFIRMAny tested support line has a same-week confirmation. | - | 0 |
| TWA2 | Any 20/33-week support touchT_WSUP_ANY_TOUCH | weekly support pullback | trigger | T_WSUP_ANY_TOUCHAt least one tested 20-week or 33-week support line has a first armed return touch. | - | 0 |
| T265 | 20-week EMA later confirmationT_WSUP_EMA20_CONFIRM | weekly support pullback | trigger | T_WSUP_EMA20_CONFIRMWithin three completed weeks after the touch, this is the first close above the touch close, with no intervening close below the current 20-week EMA. | - | 0 |
| T266 | First armed 20-week EMA returnT_WSUP_EMA20_RETURN_TOUCH | weekly support pullback | trigger | T_WSUP_EMA20_RETURN_TOUCHThe first later completed weekly range comes within 0.5 weekly ATR13 of the armed 20-week EMA. | - | 0 |
| T267 | EMA20 same-week support confirmationT_WSUP_EMA20_SAME_WEEK_CONFIRM | weekly support pullback | trigger | T_WSUP_EMA20_SAME_WEEK_CONFIRMThe EMA20 touch has a close in the top half of the weekly range and either closes within the support buffer or wicks below support and reclaims it. | - | 0 |
| T380 | 33-week EMA later confirmationT_WSUP_EMA33_CONFIRM | weekly support pullback | trigger | T_WSUP_EMA33_CONFIRMWithin three completed weeks after the touch, this is the first close above the touch close, with no intervening close below the current 33-week EMA. | - | 0 |
| T381 | First armed 33-week EMA returnT_WSUP_EMA33_RETURN_TOUCH | weekly support pullback | trigger | T_WSUP_EMA33_RETURN_TOUCHThe first later completed weekly range comes within 0.5 weekly ATR13 of the armed 33-week EMA. | - | 0 |
| T382 | EMA33 same-week support confirmationT_WSUP_EMA33_SAME_WEEK_CONFIRM | weekly support pullback | trigger | T_WSUP_EMA33_SAME_WEEK_CONFIRMThe EMA33 touch has a close in the top half of the weekly range and either closes within the support buffer or wicks below support and reclaims it. | - | 0 |
| T383 | 33-week power VWAP later confirmationT_WSUP_PVWAP33_CONFIRM | weekly support pullback | trigger | T_WSUP_PVWAP33_CONFIRMWithin three completed weeks after the touch, this is the first close above the touch close, with no intervening close below the current 33-week power VWAP. | - | 0 |
| T384 | First armed 33-week power VWAP returnT_WSUP_PVWAP33_RETURN_TOUCH | weekly support pullback | trigger | T_WSUP_PVWAP33_RETURN_TOUCHThe first later completed weekly range comes within 0.5 weekly ATR13 of the armed 33-week power VWAP. | - | 0 |
| T385 | PVWAP33 same-week support confirmationT_WSUP_PVWAP33_SAME_WEEK_CONFIRM | weekly support pullback | trigger | T_WSUP_PVWAP33_SAME_WEEK_CONFIRMThe PVWAP33 touch has a close in the top half of the weekly range and either closes within the support buffer or wicks below support and reclaims it. | - | 0 |
| T268 | 20-week SMA later confirmationT_WSUP_SMA20_CONFIRM | weekly support pullback | trigger | T_WSUP_SMA20_CONFIRMWithin three completed weeks after the touch, this is the first close above the touch close, with no intervening close below the current 20-week SMA. | - | 0 |
| T269 | First armed 20-week SMA returnT_WSUP_SMA20_RETURN_TOUCH | weekly support pullback | trigger | T_WSUP_SMA20_RETURN_TOUCHThe first later completed weekly range comes within 0.5 weekly ATR13 of the armed 20-week SMA. | - | 0 |
| T270 | SMA20 same-week support confirmationT_WSUP_SMA20_SAME_WEEK_CONFIRM | weekly support pullback | trigger | T_WSUP_SMA20_SAME_WEEK_CONFIRMThe SMA20 touch has a close in the top half of the weekly range and either closes within the support buffer or wicks below support and reclaims it. | - | 0 |
| T386 | 33-week SMA later confirmationT_WSUP_SMA33_CONFIRM | weekly support pullback | trigger | T_WSUP_SMA33_CONFIRMWithin three completed weeks after the touch, this is the first close above the touch close, with no intervening close below the current 33-week SMA. | - | 0 |
| T387 | First armed 33-week SMA returnT_WSUP_SMA33_RETURN_TOUCH | weekly support pullback | trigger | T_WSUP_SMA33_RETURN_TOUCHThe first later completed weekly range comes within 0.5 weekly ATR13 of the armed 33-week SMA. | - | 0 |
| T388 | SMA33 same-week support confirmationT_WSUP_SMA33_SAME_WEEK_CONFIRM | weekly support pullback | trigger | T_WSUP_SMA33_SAME_WEEK_CONFIRMThe SMA33 touch has a close in the top half of the weekly range and either closes within the support buffer or wicks below support and reclaims it. | - | 0 |
| T271 | 20-week VWAP later confirmationT_WSUP_VWAP20_CONFIRM | weekly support pullback | trigger | T_WSUP_VWAP20_CONFIRMWithin three completed weeks after the touch, this is the first close above the touch close, with no intervening close below the current 20-week VWAP. | - | 0 |
| T272 | First armed 20-week VWAP returnT_WSUP_VWAP20_RETURN_TOUCH | weekly support pullback | trigger | T_WSUP_VWAP20_RETURN_TOUCHThe first later completed weekly range comes within 0.5 weekly ATR13 of the armed 20-week VWAP. | - | 0 |
| T273 | VWAP20 same-week support confirmationT_WSUP_VWAP20_SAME_WEEK_CONFIRM | weekly support pullback | trigger | T_WSUP_VWAP20_SAME_WEEK_CONFIRMThe VWAP20 touch has a close in the top half of the weekly range and either closes within the support buffer or wicks below support and reclaims it. | - | 0 |
| T389 | 33-week VWAP later confirmationT_WSUP_VWAP33_CONFIRM | weekly support pullback | trigger | T_WSUP_VWAP33_CONFIRMWithin three completed weeks after the touch, this is the first close above the touch close, with no intervening close below the current 33-week VWAP. | - | 0 |
| T390 | First armed 33-week VWAP returnT_WSUP_VWAP33_RETURN_TOUCH | weekly support pullback | trigger | T_WSUP_VWAP33_RETURN_TOUCHThe first later completed weekly range comes within 0.5 weekly ATR13 of the armed 33-week VWAP. | - | 0 |
| T391 | VWAP33 same-week support confirmationT_WSUP_VWAP33_SAME_WEEK_CONFIRM | weekly support pullback | trigger | T_WSUP_VWAP33_SAME_WEEK_CONFIRMThe VWAP33 touch has a close in the top half of the weekly range and either closes within the support buffer or wicks below support and reclaims it. | - | 0 |
| T274 | 20-week VWMA later confirmationT_WSUP_VWMA20_CONFIRM | weekly support pullback | trigger | T_WSUP_VWMA20_CONFIRMWithin three completed weeks after the touch, this is the first close above the touch close, with no intervening close below the current 20-week VWMA. | - | 0 |
| T275 | First armed 20-week VWMA returnT_WSUP_VWMA20_RETURN_TOUCH | weekly support pullback | trigger | T_WSUP_VWMA20_RETURN_TOUCHThe first later completed weekly range comes within 0.5 weekly ATR13 of the armed 20-week VWMA. | - | 0 |
| T276 | VWMA20 same-week support confirmationT_WSUP_VWMA20_SAME_WEEK_CONFIRM | weekly support pullback | trigger | T_WSUP_VWMA20_SAME_WEEK_CONFIRMThe VWMA20 touch has a close in the top half of the weekly range and either closes within the support buffer or wicks below support and reclaims it. | - | 0 |
| T392 | 33-week VWMA later confirmationT_WSUP_VWMA33_CONFIRM | weekly support pullback | trigger | T_WSUP_VWMA33_CONFIRMWithin three completed weeks after the touch, this is the first close above the touch close, with no intervening close below the current 33-week VWMA. | - | 0 |
| T393 | First armed 33-week VWMA returnT_WSUP_VWMA33_RETURN_TOUCH | weekly support pullback | trigger | T_WSUP_VWMA33_RETURN_TOUCHThe first later completed weekly range comes within 0.5 weekly ATR13 of the armed 33-week VWMA. | - | 0 |
| T394 | VWMA33 same-week support confirmationT_WSUP_VWMA33_SAME_WEEK_CONFIRM | weekly support pullback | trigger | T_WSUP_VWMA33_SAME_WEEK_CONFIRMThe VWMA33 touch has a close in the top half of the weekly range and either closes within the support buffer or wicks below support and reclaims it. | - | 0 |
| MWRR | Weekly-support risk-off regimeM_WSUP_REGIME_RISK_OFF | weekly support regime | blocker | M_WSUP_REGIME_RISK_OFFSPY is not above a rising completed-week MA33. The weekly-support router enters this state immediately and routes to cash. | - | 0 |
| MWRF | Weekly-support fragile regimeM_WSUP_REGIME_FRAGILE | weekly support regime | context | trend_filter == trueSPY has a positive completed-week MA33 trend but breadth is below its causal trailing median or SPY ATR13 percentage is at or above its causal trailing 80th percentile after operational hysteresis. | - | 0 |
| MWRS | Weekly-support supportive regimeM_WSUP_REGIME_SUPPORTIVE | weekly support regime | context | trend_filter == trueSPY has a positive completed-week MA33 trend, top-1000 breadth is at or above its causal trailing median, and SPY ATR13 percentage is below its causal trailing 80th percentile after operational hysteresis. | - | 0 |