Backtest UI

Ascending base geometry T20A

T_ASCENDING_BASE_GEOMETRY_20D | ascending flag | trigger | ticker | candidate

Logic20D 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
Edge-
Samples0

Definition

High-line not vertical, low-line rising, low slope above high slope, close in upper half, reasonable range, near 20-day high, and above MA50.

Logic Triples

PredicateLeftOpRightFormula
20D high-line slope not verticalRegression slope of daily highs over the 20-day base is no more than 15%. 20D high-line slope <= 15% linreg_slope_pct(high[t-19:t]) <= 0.15
20D low-line slope positiveRegression slope of daily lows over the 20-day base is positive. 20D low-line slope > 0% linreg_slope_pct(low[t-19:t]) > 0
Low-line slope exceeds high-line slopeLow-line slope exceeds high-line slope, approximating a tightening ascending base. 20D low-line slope > 20D high-line slope linreg_slope_pct(low[t-19:t]) > linreg_slope_pct(high[t-19:t])
Close in upper half of 20D baseCurrent close is in the upper half of the 20-day high-low base. Close position in 20D base >= 0.50 (close[t] - min(low[t-19:t])) / (max(high[t-19:t]) - min(low[t-19:t])) >= 0.5
20D base range no more than 35%The 20-day high-low base range is not excessive. 20D base range <= 35% max(high[t-19:t]) / min(low[t-19:t]) - 1 <= 0.35
Close near prior 20D high in ATR unitsClose is within 1 ATR below the prior 20-day high and no more than 0.5 ATR above it. Distance from prior 20D high in ATR between -1.0..0.5 ATR (close[t] - max(high[t-20:t-1])) / atr20 between -1..0.5
Close above 50D SMATicker closes above its 50-day simple moving average. Close > 50D SMA close[t] > sma(close, 50)[t]

Strategies Using Atom

StrategyFamilyEdgeSignals
Ascending base geometry, 21D ascending_base_geometry - -