Presets and rules
Each preset is the exact CleverScan rule this page runs on the latest published daily session. S&P 500 stocks: Stocks on the S&P 500 reference list captured with the published dataset.
| Preset | What it selects | Rule |
|---|---|---|
| Above the 200-day | The close is above its 200-session simple moving average. Values come from the latest published daily session (regular trading hours); the rule is evaluated once per published session, not tick by tick. Rows are ordered by vs sma 200 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (close > sma200) |
| Below the 200-day | The close is below its 200-session simple moving average. Rows are ordered by vs sma 200 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (close < sma200) |
| Above the 50-day | The close is above its 50-session simple moving average. Rows are ordered by vs sma 50 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (close > sma50) |
| Below the 50-day | The close is below its 50-session simple moving average. Rows are ordered by vs sma 50 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (close < sma50) |
| Above the 20-day | The close is above its 20-session simple moving average. Rows are ordered by vs sma 20 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (close > sma20) |
| Below the 20-day | The close is below its 20-session simple moving average. Rows are ordered by vs sma 20 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (close < sma20) |
| Above the 20 and 50-day | The close is above both the 20-session and the 50-session simple moving averages. Rows are ordered by vs sma 50 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (close > sma20 and close > sma50) |
| Above the 50 and 200-day | The close is above both the 50-session and the 200-session simple moving averages. Rows are ordered by vs sma 200 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (close > sma50 and close > sma200) |
| Above 20, 50 and 200-day | The close is above all three: the 20, 50 and 200-session simple moving averages. Rows are ordered by vs sma 200 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (close > sma20 and close > sma50 and close > sma200) |
| Below 20, 50 and 200-day | The close is below all three: the 20, 50 and 200-session simple moving averages. Rows are ordered by vs sma 200 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (close < sma20 and close < sma50 and close < sma200) |
| Bullish alignment | The averages are stacked in rising order: close above SMA 20, SMA 20 above SMA 50, SMA 50 above SMA 200. Rows are ordered by vs sma 200 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (close > sma20 and sma20 > sma50 and sma50 > sma200) |
| Bearish alignment | The averages are stacked in falling order: close below SMA 20, SMA 20 below SMA 50, SMA 50 below SMA 200. Rows are ordered by vs sma 200 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (close < sma20 and sma20 < sma50 and sma50 < sma200) |
| Pullback to the 50-day | In an uptrend (SMA 50 above SMA 200, close above SMA 200), the close is within 2% of SMA 50 and at least 3% below the highest high of the last 20 sessions. Rows are ordered by vs sma 50 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (sma50 > sma200 and close > sma200 and distSma50Pct >= -2 and distSma50Pct <= 2 and hi20FromHighPct <= -3) |
| Pullback to the 20-day | With the close above SMA 50, the close is within 1.5% of SMA 20 and at least 2% below the highest high of the last 20 sessions. Rows are ordered by vs sma 20 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (close > sma50 and distSma20Pct >= -1.5 and distSma20Pct <= 1.5 and hi20FromHighPct <= -2) |
| Touched the 50-day, closed above | The session’s low reached or crossed below SMA 50 and the session closed above it. Rows are ordered by vs sma 50 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (low <= sma50 and close > sma50) |
| Retesting the 200-day | The session’s low came within 1% of SMA 200 (or below it) and the close finished above SMA 200. Rows are ordered by vs sma 200 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (low <= sma200 * 1.01 and close > sma200) |
| 15%+ above the 50-day | The close is at least 15% above its 50-session simple moving average. Rows are ordered by vs sma 50 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (distSma50Pct >= 15) |
| Golden cross | SMA 50 is above SMA 200 in this session after being at or below it in the previous session. Rows are ordered by vs sma 200 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (sma50 > sma200 and sma50Ago1 <= sma200Ago1) |
| Death cross | SMA 50 is below SMA 200 in this session after being at or above it in the previous session. Rows are ordered by vs sma 200 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (sma50 < sma200 and sma50Ago1 >= sma200Ago1) |
| Golden cross on volume | A golden cross in this session (SMA 50 moved above SMA 200) with volume at least 1.5 times the 20-session average. Rows are ordered by rel. volume (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (sma50 > sma200 and sma50Ago1 <= sma200Ago1 and volumeRatio >= 1.5) |
| Crossed above the 50-day | The close is above SMA 50 and the previous close was at or below the previous session’s SMA 50. Rows are ordered by vs sma 50 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (close > sma50 and previousClose <= sma50Ago1) |
| Crossed below the 50-day | The close is below SMA 50 and the previous close was at or above the previous session’s SMA 50. Rows are ordered by vs sma 50 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (close < sma50 and previousClose >= sma50Ago1) |
| Crossed above the 200-day | The close is above SMA 200 and the previous close was at or below the previous session’s SMA 200. Rows are ordered by vs sma 200 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (close > sma200 and previousClose <= sma200Ago1) |
| Crossed below the 200-day | The close is below SMA 200 and the previous close was at or above the previous session’s SMA 200. Rows are ordered by vs sma 200 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (close < sma200 and previousClose >= sma200Ago1) |
| Rising 200-day average | SMA 200 is higher than it was 21 sessions earlier (about one month of trading). Rows are ordered by vs sma 200 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (sma200 > sma200Ago21) |
| Falling 200-day average | SMA 200 is lower than it was 21 sessions earlier. Rows are ordered by vs sma 200 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (sma200 < sma200Ago21) |
| Near a rising 200-day | The close is 0–3% above SMA 200 and SMA 200 is higher than 21 sessions earlier. Rows are ordered by vs sma 200 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (distSma200Pct >= 0 and distSma200Pct <= 3 and sma200 > sma200Ago21) |
| Rising 50-day average | SMA 50 is higher than in the previous session (a one-session slope). Rows are ordered by vs sma 50 (highest first). | securityType = "Stock" and indexMembership contains "SP500" and (sma50 > sma50Ago1) |
| Falling 50-day average | SMA 50 is lower than in the previous session (a one-session slope). Rows are ordered by vs sma 50 (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (sma50 < sma50Ago1) |
| Rising 200-day, RSI under 40 | SMA 200 is higher than 21 sessions earlier and RSI(14) is below 40. Rows are ordered by rsi (14) (lowest first). | securityType = "Stock" and indexMembership contains "SP500" and (sma200 > sma200Ago21 and rsi14 < 40) |
What this screen measures
The default compares the close with the 200-session simple moving average. The other horizons are 20 and 50 trading sessions. An above-average rule is a state; a crossing rule compares the current and previous sessions and describes an event.
Read the rule with a worked example
A hypothetical close of 105 against SMA 200 of 100 is 5% above it: (105 ÷ 100 − 1) × 100 = 5. A previous close of 104 against a previous SMA 200 of 99 also lay above its average, so the stock is above the line but has not crossed it in the current session.
Choose the variant that matches the question
Above and below presets are opposites. Alignment requires an ordered stack of moving averages. A golden cross compares SMA 50 with SMA 200 today and one session earlier; a death cross uses the reverse relationship. Pullback rules add proximity to an average and distance below a recent high.
Review the chart behind a match
Review the slope of the average and the price swings on both sides of it. A line rising over 20 sessions differs from a flat line that price crosses repeatedly. Look at extension from the line as well as the simple above/below result.
Keep the interpretation within the rule
A moving average smooths past closes and reacts with a delay. Above the average does not mean a new uptrend began today. Several overlapping averages can repeat the same information, and sideways prices can cause repeated crossings.
Continue with
- How to screen for moving-average conditionsBuild a reproducible screen for moving-average conditions: choose a universe, define field units and thresholds, compare presets and inspect the matching daily charts.
A screen lists stocks whose published values meet a rule. It is a starting point for research, not a recommendation. Read the data and methodology notes for how sessions and calculations are defined.