Skip to main content

Documentation Index

Fetch the complete documentation index at: https://uncoded.ch/docs/llms.txt

Use this file to discover all available pages before exploring further.

Conditions are the predicates that turn indicator outputs into ‘fire / don’t fire’ decisions. The SignalEditor exposes 41 condition types across 9 categories — wide enough that almost any tradable thesis can be expressed without composing custom logic.

Categories at a glance

CategoryExamplesUse for
Comparisongreater-than, crossover, crossunderFoundational threshold and crossing logic
Rangewithin-range, outside-range, betweenBracket-based decisions
Trendrising, falling, flat over N barsDirection confirmation over a window
Patternhigher-highs, breakout, double-bottomPre-built chart patterns
LogicAND, OR, NOT, XORComposing multiple conditions
Timewithin-window, after-time, before-timeTrading hour gating
Volumeabove-average, surge, dry-upVolume confirmation
Volatilitywithin-band, outside-band, contracting, expandingVol-regime detection
Statisticalz-score-above, percentile-thresholdRigorous mean-reversion

Comparison — the foundation

A > B, A < B. Threshold logic. RSI > 70, price > EMA(50), volume > average × 2, etc.
Same as above with edge cases included.
Exact equality. Rare for continuous values; useful for indicator outputs that produce discrete states.
A crosses above B on the current bar. Detects the moment of crossing.Best for: EMA cross signals (EMA20 crosses above EMA50), MACD signal-line crosses, RSI crossing back above 30 from oversold.
A crosses below B on the current bar.Best for: exit signals after a crossover-driven entry.

Range — bracket decisions

Value is between low and high bounds (inclusive). Useful for “RSI is between 30 and 70” (neutral zone).
Value is below low OR above high. The complement of within-range.
Value is between two indicator values (not fixed numbers). Useful for “price is between EMA(20) and EMA(50)” (in transition zone).

Trend — direction confirmation

Indicator value is consistently increasing over the last N bars. Use for “EMA is rising” (uptrend confirmation).
Value consistently decreasing.
Value within a tight range over N bars. Useful for “low volatility” detection alongside Bollinger Width.

Pattern — pre-built chart patterns

The recent N highs are progressively higher. Uptrend confirmation.
The recent N lows are progressively lower. Downtrend confirmation.
Two recent lows at similar price levels with a peak between. Reversal pattern.
Price closes above a recent N-bar high. Classic breakout signal.Pair with volume surge for confirmation (see Volume conditions).
Price closes below a recent N-bar low. Breakdown signal.

Logic — composing conditions

Both sub-conditions hold simultaneously. The most-used composer.Example: RSI < 30 AND price < EMA(50) — RSI oversold and price below trend.
Either sub-condition holds.Example for an exit: “RSI > 70 OR price > EMA(50)” — exit if either condition triggers.
Inverts a sub-condition. Useful for “not in range” logic.
Exactly one of two sub-conditions holds. Niche but occasionally useful for state-detection.

Time — trading hour gating

Current time is within a specified window (e.g., 09:00–17:00). Useful for trading only during high-liquidity hours.
Current time is after a threshold time. Useful for “no trading before market open.”
Current time is before a threshold time. Useful for “no trading after Friday 23:00.”
Time-based filtering is underused in crypto. Many operators don’t think to filter by time-of-day, but crypto markets do have rhythms — London open, US open, weekend low-liquidity. Time conditions help avoid bad-fill periods.

Volume — confirmation conditions

Current volume is above its N-bar average. Confirms participation behind a price move.
Current volume is N times the recent average (e.g., 2x or 3x). Detects unusual activity.
Current volume is below a threshold. Detects low-conviction periods.

Volatility — regime detection

Price is within Bollinger/Keltner bands. Normal volatility regime.
Price has broken outside bands. Tail-event detection.
Bollinger Width is decreasing — squeeze setup forming.
Bollinger Width is increasing — volatility rising.

Statistical — rigorous thresholds

Indicator’s z-score (normalized deviation from mean) above/below a threshold. Tail-event detection tied to actual recent distribution.Example: “z-score-above 2” fires when value is more than 2 standard deviations above its recent mean.
Indicator’s percentile rank over recent N bars meets a threshold.Example: “Bollinger Width is in the bottom 10th percentile” = squeeze setup.

Best practices for condition design

  • Start with simple comparisons>, <, crossover, crossunder. Easy to reason about.
  • Add a trend filter to mean-reversion — don’t catch falling knives.
  • Use ADX > 25 for trend-following — only act when trend is real.
  • Limit to 2–3 conditions per AND — overfitting risk with more.
  • Time-window filter for low-liquidity exclusion — avoid weekend / overnight bad fills.
  • Volume-surge confirmation for breakouts — filters fakeouts.
  • Statistical thresholds (z-score, percentile) for rigorous setups — better than fixed numbers.
  • Mirror entry conditions for exit — symmetric logic for clean state management.
  • Test each condition’s contribution — does adding it actually improve outcomes?

What’s next

Indicators

The 136 indicators that feed into conditions.

Triggers

The 4 trigger modes that gate firing.

Timeframes

The 15 timeframes you can anchor strategies to.

Strategy Recipes

Worked examples using these conditions.
Last modified on May 3, 2026