---
title: "Special relations"
description: "Special relations are the pattern tests a few screener filters offer instead of numeric operators: crossings, price above or below a line, and valuation bands."
canonical_url: "https://fincanva.com/docs/screeners/special-relations"
last_updated: "2026-07-25"
md_url: "https://fincanva.com/docs/screeners/special-relations.md"
---

# Special relations

Special relations are the pattern tests that a small number of [screener](/docs/getting-started/screener) filters offer in place of the numeric operators — they ask whether something *happened* or which *state* an instrument is in, rather than whether a reading clears a threshold. There are fifteen of them, spread across six filters, in three families: **crossings**, **price against a line**, and **valuation bands**. A special relation never takes a threshold value; where it takes a number at all, that number is a time window, not a level.

**Also seen as:** special strings, pattern relations, cross relations

## What does each special relation test?

The relation names in the editor are the full labels; the chip shows a shorthand code. `{N}d` in a chip is the window in days, not a threshold.

| Relation | Chip code | Offered on | Tests whether |
|---|---|---|---|
| Crosses Above | `X-Above {N}d` | SMA, Bollinger Bands, Mkt SMA, Sec SMA | the price crossed up through the line within the last N days |
| Crosses Below | `X-Below {N}d` | SMA, Bollinger Bands, Mkt SMA, Sec SMA | the price crossed down through the line within the last N days |
| Price Above | `> Price` | SMA, Bollinger Bands, Mkt SMA, Sec SMA | the price is currently sitting above the line |
| Price Below | `< Price` | SMA, Bollinger Bands, Mkt SMA, Sec SMA | the price is currently sitting below the line |
| Fast Bullish Cross | `Fast Bull-X {N}d` | Stochastic | the fast line crossed up within the last N days |
| Fast Bearish Cross | `Fast Bear-X {N}d` | Stochastic | the fast line crossed down within the last N days |
| Slow Bullish Cross | `Slow Bull-X {N}d` | Stochastic | the slow line crossed up within the last N days |
| Slow Bearish Cross | `Slow Bear-X {N}d` | Stochastic | the slow line crossed down within the last N days |
| Fast/Slow Bullish Cross | `F/S Bull-X {N}d` | Stochastic | the fast line crossed up through the slow line within the last N days |
| Fast/Slow Bearish Cross | `F/S Bear-X {N}d` | Stochastic | the fast line crossed down through the slow line within the last N days |
| Strongly Overvalued | `Strongly Overvalued` | Buffett Indicator | the market's valuation reading sits in the highest band |
| Overvalued | `Overvalued` | Buffett Indicator | the reading sits in the band below that |
| In Range | `In Range` | Buffett Indicator | the reading sits in the middle band |
| Undervalued | `Undervalued` | Buffett Indicator | the reading sits in the band below the middle |
| Strongly Undervalued | `Strongly Undervalued` | Buffett Indicator | the reading sits in the lowest band |

The five valuation bands are mutually exclusive: on any given date the reading is in exactly one of them, so picking two bands in two conditions on the same date yields nothing.

## What is the window on a cross relation?

The number on a cross relation is a **lookback window in trading days**, and the condition passes when the crossing happened at any point inside it. The choices are 7, 14, 21, and 28 days, and 28 is the default — so out of the box a cross relation asks "has this crossed in the last four weeks", not "did it cross today". A shorter window makes the test stricter, because the crossing has to be more recent to count.

**Price Above** and **Price Below** carry no window. They describe where the price is right now relative to the line, so they stay true for as long as the price stays on that side, while a cross relation goes false once the crossing ages past the window.

## Is Crosses Above the same as a golden cross?

No — Crosses Above tests the *price* against one moving average, while a golden cross is conventionally a *faster moving average* crossing above a slower one. The two are related signals but not the same test: with Crosses Above there is one line on the chart and the price crosses it; with a golden cross there are two lines and they cross each other.

The relations that do compare two lines to each other are the Stochastic filter's **Fast/Slow** pair, and there the two lines are the oscillator's fast and slow lines, not a pair of moving averages. So "golden cross" is a useful mental picture for what Crosses Above signals, and the wrong description of what it measures.

## Defaults in Fincanva

- Only six filters carry special relations: SMA, Bollinger Bands, Stochastic (Technical → Indicators), Mkt SMA and Buffett Indicator (Market & Sector → Market Technical and Market Fundamental), and Sec SMA (Sector Technical).
- On a filter that has them, the special relations replace the numeric operators rather than sitting alongside them, and each one is its own choice in the editor.
- The eight cross shorthand codes stay in English in every language (`X-Above 28d`, `F/S Bull-X 14d`); the Price Above and Price Below chips and the five valuation-band chips are translated.
- A filter's **Advanced** inputs still apply. The SMA filter's `Bars` input sets how long the moving average is, and `Months Ago` shifts the whole reading back in time; see [lag, period, and multiplier](/docs/screeners/lag-period-and-multiplier).
- Because Mkt SMA and Buffett Indicator read the market rather than an instrument, a condition on them gates the entire screen: on a date where it fails, the screener returns no matches at all. Sec SMA gates whole sectors the same way. See [filter taxonomy](/docs/screeners/filter-taxonomy).
- Fincanva describes what these relations detect. It does not rate a crossing as bullish or bearish for your purposes, and a relation being true is not a signal to act.

## Worked example: a bullish moving-average cross

Take the [SMA](/docs/strategies/simple-moving-average-sma) filter with its default 252-bar average — roughly one trading year — on a stock that has been below that average for months and then rallies through it eight trading days ago.

- Pick **Crosses Above** and leave the window at its default of 28 days. **You're saying** reads "SMA crosses above (28 days)." The crossing happened 8 days ago, which is inside the window, so the stock passes and the chip reads `SMA (252) X-Above 28d`.
- Narrow the window to 7 days. The same crossing is now 8 days old, one day outside the window, and the stock stops passing — with no change to its price at all.
- Switch to **Price Above** instead. The window disappears, and the stock passes for as long as its price stays above the 252-bar average, whether it crossed eight days ago or eight months ago.

The three conditions read the same chart and select different things: a recent event, a recent-enough event, and a current state.
