Back to Strategy Builder Docs
DocumentationStrategy Builder

Nodes: Filters

Complete reference for Trend, Volatility, Volume, Time, and Regime filter nodes — gatekeepers that allow or block entry/exit signals based on market conditions.

Filters Overview

Filter nodes act as gatekeepers — they allow or block entry/exit signals based on market conditions. Unlike conditions (which evaluate to true/false and feed into logic/entry), filters attach directly to Entry/Exit nodes via dedicated filter-* handles.

A filter producing gate=true ALLOWS the entry; gate=false BLOCKS it. This separation means your signal logic (conditions) stays clean and focused, while market-context rules (filters) are applied independently at the execution layer.

The most common mistake in strategy building is conflating signals with context. A signal says “I see a trade setup.” A filter says “The market is in a state where I trust my setups.” Separating them with dedicated filter nodes lets you toggle market regimes on/off without rewriting your core entry logic.

Common Properties of All Filter Nodes

  • A gate output handle (RIGHT edge) that connects to Entry filter-0 through filter-4 or Exit filter-0 through filter-4 handles.
  • A filterType selector (trend, volatility, volume, time, regime) that determines the inspector form and available configuration options.
  • Config options that vary by filter type — each filter type reveals a tailored set of parameters in the inspector panel.
  • Optional per-node MTF (Multi-Timeframe) override, allowing each filter to operate on a different symbol, bar type, or timeframe than the data source default.

Filter Slots and Stacking

Entry nodes have 5 filter slots — you can stack up to 5 filters per entry direction (Long or Short). Exit nodes also have 5 filter slots for signal-based exits.ALL active filters must pass (gate=true) for the entry or exit to fire. There is no “OR” mode for filters — they always AND together. If you need OR logic between filters, use a Logic Gate node to combine their outputs before connecting to the Entry/Exit filter handle.

Filters are evaluated independently at each bar. If you stack 5 filters and one fails even temporarily, the entire trade opportunity is blocked for that bar. A strategy that requires too many simultaneous filter conditions may never trade at all. Start with 1-2 essential filters and add more only after verifying the strategy generates trades.

Filter Node Parameters (Common)

ParameterTypeDefaultDescription
filterTypeselecttrendDetermines the filter category and which input handle is exposed (filter-indicator, filter-ds, or none). Changing this resets filter-specific config.
aliasstring— (required)Unique label shown on the canvas node. Must be unique within the strategy.
display_namestring— (optional)Longer descriptive name shown in tooltips and the inspector header.
mtf_enabledbooleanfalseWhen true, exposes symbol, bar_type, and timeframe selectors for per-node MTF override.
mtf_symbolselect— (parent DS symbol)Symbol override when MTF is enabled. Uses parent data source symbol by default.
mtf_bar_typeselect— (parent DS bar_type)Bar type override (time, tick, volume, dollar, renko) when MTF is enabled.
mtf_timeframeselect— (parent DS timeframe)Timeframe override (1m, 5m, 15m, 1h, 4h, 1d, 1w) when MTF is enabled.

Trend Filter

Filters entries based on trend direction determined by a connected indicator. The trend filter is the most commonly used filter type — it ensures you only trade in the direction of the prevailing trend, one of the oldest and most reliable edges in trading.

Filter Type

trend

Input Handle

filter-indicator (LEFT edge). Connect an indicator node here. The trend filter reads the indicator's current value at each bar to determine trend direction. The connected indicator must output a scalar or series value — you cannot connect data sources or other filter types to this handle.

The filter-indicator handle is what makes the trend filter different from a simple condition. Instead of hard-coding a comparison like “SMA 200 > SMA 50,” you connect the indicator visually on the canvas. This means you can swap trend indicators without touching the filter config — just reconnect the handle.

Trend Direction

How to interpret the indicator value relative to the threshold:

ParameterTypeDefaultDescription
aboveselect optionSignal allowed when the indicator value is ABOVE the threshold (bullish trend). Example: ADX value > 25 indicates a trending market.
belowselect optionSignal allowed when the indicator value is BELOW the threshold (bearish trend). Example: RSI < 30 indicates oversold conditions.
cross_aboveselect optionSignal allowed at the bar where the indicator value crosses ABOVE the threshold (trend turning bullish). Uses lookback for cross detection.
cross_belowselect optionSignal allowed at the bar where the indicator value crosses BELOW the threshold (trend turning bearish). Uses lookback for cross detection.

Do not connect a raw price-moving-average (like SMA 200) and set “above” with threshold 0. Since price is always > 0, this filter would always pass and do nothing. Instead, use indicators that produce meaningful threshold values: ADX to check if a market is trending (threshold 25), ATR to check volatility (threshold depends on asset), or a custom trend-regime indicator with defined bullish/bearish thresholds.

Common Trend Indicator Pairings

  • ADX(14) > 25: Market is trending (not ranging). Use before trend-following entries to avoid chop. Set direction to above, threshold to 25.
  • SuperTrend indicator = 1 (bullish): Use a SuperTrend indicator that outputs 1 for bullish and -1 for bearish. Set direction to above, threshold to 0 to only allow entries when SuperTrend is bullish.
  • EMA 50 slope > 0: Use a custom indicator that calculates the slope of EMA 50. Positive slope = uptrend. Set direction to above, threshold to 0.
  • Price relative to SMA 200: Use a custom indicator that outputs the percentage distance from SMA 200. Set direction to above, threshold to 0 (price above SMA) or a positive value (price significantly above SMA).

Threshold

A fixed numeric value to compare against the indicator's current value. The comparison is determined by the Trend Direction setting:

  • For above: Indicator value > threshold
  • For below: Indicator value < threshold
  • For cross_above: Indicator crossed from below to above threshold
  • For cross_below: Indicator crossed from above to below threshold

Lookback

Integer number of bars for cross detection. Only meaningful when Trend Direction is cross_above or cross_below. Determines how many bars back to check for the crossing event. Default: 1 (checks only the previous bar). Larger values (3-5) can filter out whipsaw crosses but introduce a slight delay.

Output Handle

gate (RIGHT). Connect to Entry/Exit filter-0 through filter-4.

MTF Support

When data source MTF is enabled, the trend filter can use its own symbol, bar_type, and timeframe selectors independently. This is powerful: you can have a 1h data source feeding an entry node, but the trend filter checks the daily trend (1d timeframe) to ensure the macro trend aligns with your entry direction.

Trend Filter Parameters

ParameterTypeDefaultDescription
directionselectaboveHow to interpret indicator vs threshold. Options: above, below, cross_above, cross_below.
thresholdnumber0Fixed numeric threshold to compare the indicator value against. Choose based on the indicator being used (e.g., 25 for ADX).
lookbackinteger1Bars to look back for cross detection. Only used with cross_above/cross_below directions. Higher values reduce whipsaws.

Image Placeholder: Trend filter inspector showing an ADX indicator connected, direction set to 'above', threshold 25, and the gate output handle highlighted.

Figure 1: Trend filter inspector with ADX connected for trending-market gating.

Volatility Filter

Filters entries based on market volatility conditions. Use this filter to avoid trading when the market is too calm (no movement = no opportunity) or too volatile (wide spreads, slippage risk). The volatility filter connects to a data source and computes volatility from price data.

Filter Type

volatility

Input Handle

filter-ds (LEFT edge). Connect a data source node here. The volatility filter uses OHLC price data from the data source to compute volatility according to the selected method.

Method

ParameterTypeDefaultDescription
ATRselect optionAverage True Range — measures absolute price range in the asset's price units. Higher ATR = more volatile. Uses the configured Period for the ATR lookback. Best for absolute volatility comparison within a single asset.
Bollingerselect optionBollinger Band width (upper band − lower band) expressed as a percentage of the middle band. Normalized volatility measure that works across assets. Uses Period (default 20) and StdDev multiplier (default 2.0).
Historicalselect optionStandard deviation of log returns over the lookback period, annualized and expressed as a percentage. Unlike ATR, this is direction-independent pure volatility. Period controls the lookback window.

Different volatility methods answer different questions. ATR tells you “how many dollars/points does this move per bar?” — useful for stop-loss sizing. Historical vol tells you “how erratic are returns?” — useful for regime detection. Bollinger width tells you “how stretched are prices?” — useful for mean-reversion entry timing. Choose the method that matches your strategy's logic.

Period

Integer lookback period for the selected volatility method:

  • ATR: Default 14. Shorter periods (7-10) for responsive volatility, longer (20-30) for smoother readings.
  • Bollinger: Default 20. This is the SMA period for the middle band. The width is computed from this middle band and the upper/lower bands.
  • Historical: Default 20. Number of bars over which to compute the standard deviation of returns.

Threshold

The volatility value to compare against. Entry is allowed when volatility is above or below this value, depending on the Comparison setting. The threshold should be set based on the asset and method:

  • ATR: For a stock trading at $100, ATR(14) of $2.50 means the average bar range is 2.5% of price. Set threshold to 2.0 to require at least $2 of range per bar.
  • Bollinger: Width of 5% means the bands are narrow (low vol). Width of 15% means wide (high vol). Threshold depends on the asset's typical width range.
  • Historical: Annualized vol of 20% is moderate for equities, 50%+ is high. Crypto typically runs 60-100%+ annualized vol.

Comparison

ParameterTypeDefaultDescription
aboveselect optionAllow entry when volatility EXCEEDS the threshold. Use for strategies that require active price movement (breakout, momentum). "Only trade when the market is moving."
belowselect optionAllow entry when volatility is UNDER the threshold. Use for strategies that prefer calm conditions (mean-reversion, range-bound). "Avoid trading during chaos."

A common error is setting the volatility threshold without checking historical volatility ranges for the asset. An ATR threshold of 5.0 might be far too high for a low-volatility forex pair but trivially met by a volatile crypto. Always backtest your threshold against the asset's historical volatility distribution before committing to a value.

Output Handle

gate (RIGHT). Connect to Entry/Exit filter-0 through filter-4.

Volatility Filter Parameters

ParameterTypeDefaultDescription
methodselectATRVolatility computation method. Options: ATR, Bollinger, Historical.
periodinteger14 (ATR) / 20 (Bollinger, Historical)Lookback period for the selected method. Shorter = more responsive, longer = smoother.
thresholdnumber— (required)Volatility threshold value. Units depend on the selected method (absolute for ATR, percentage for Bollinger/Historical).
comparisonselectaboveWhether to allow entry when volatility is above or below the threshold.

Image Placeholder: Volatility filter inspector showing ATR method selected, period 14, threshold 2.5, comparison 'above', with a data source connected to the filter-ds handle.

Figure 2: Volatility filter inspector using ATR to require sufficient market movement.

Volume Filter

Filters entries based on trading volume conditions. Volume confirms price action — a breakout on high volume is more significant than one on low volume. The volume filter connects to a data source and uses the volume data from each bar.

Filter Type

volume

Input Handle

filter-ds (LEFT edge). Connect a data source node. The volume filter reads the volume field from each bar (and OHLC for VWAP) to compute volume-based conditions. The data source must provide volume data — most exchange data sources include this by default.

Method

ParameterTypeDefaultDescription
SMA_volumeselect optionCompares current bar volume to its Simple Moving Average. "Volume > SMA(volume, 20)" means above-average volume — a volume surge. The threshold is a multiplier (e.g., 1.5 = 1.5x average). Best for confirming breakouts and reversals.
VWAPselect optionVolume Weighted Average Price — the average price weighted by volume at each price level. Price above VWAP = bullish volume pressure (buyers in control). Price below VWAP = bearish volume pressure (sellers in control). The threshold is the percentage distance from VWAP.
OBVselect optionOn-Balance Volume — cumulative volume indicator that adds volume on up bars and subtracts on down bars. Rising OBV = accumulation (smart money buying). Falling OBV = distribution (smart money selling). The threshold is the OBV change rate over the lookback period.

Method Details

SMA_volume

The simplest and most widely used volume filter. Computes a Simple Moving Average of volume over the lookback period. At each bar, divides current volume by the SMA to get a ratio. A ratio of 1.0 means average volume. 2.0 means double the average — a significant surge.

Example: Set threshold to 1.5 and comparison to above. Entry only fires when current volume is at least 1.5x the 20-bar average volume. This filters out low-volume breakouts and ensures you enter on conviction.

VWAP

VWAP resets daily (or per-session in crypto). It is the benchmark for institutional execution quality. Price above VWAP means the average participant is profitable on the day — bullish sentiment. The threshold is a percentage distance:

  • Threshold 0, comparison above: Price is above VWAP by any amount.
  • Threshold 1.0, comparison above: Price is at least 1% above VWAP (strong bullish conviction).
  • Threshold 0.5, comparison below: Price is at least 0.5% below VWAP (bearish pressure).

OBV

OBV is cumulative — it trends over time. The filter checks the OBV change rate: how much OBV has changed over the lookback period, normalized. Positive rate = accumulation, negative rate = distribution.

Example: Set threshold to 0, comparison to above. Entry only fires when OBV is trending up (accumulation phase). Combined with a trend filter, this confirms that volume supports the trend direction.

Threshold and Comparison

Same pattern as the volatility filter — a numeric threshold compared with above or below. The meaning of the threshold depends on the method:

  • SMA_volume: Multiplier (1.5 = 1.5x average volume).
  • VWAP: Percentage distance (0.5 = 0.5% from VWAP).
  • OBV: Normalized change rate (0.05 = 5% positive OBV change rate).

Volume is the one data point that cannot be manipulated at scale. Price can be painted, spreads can widen, but genuine volume represents real capital commitment. A strategy that ignores volume is flying blind — volume filters add a layer of authenticity to every signal your strategy generates.

Output Handle

gate (RIGHT). Connect to Entry/Exit filter-0 through filter-4.

Volume Filter Parameters

ParameterTypeDefaultDescription
methodselectSMA_volumeVolume analysis method. Options: SMA_volume, VWAP, OBV.
periodinteger20Lookback period for the SMA_volume and OBV methods. Not used by VWAP (which resets daily/session).
thresholdnumber1.0Threshold for comparison. Multiplier for SMA_volume, percentage for VWAP, change rate for OBV.
comparisonselectaboveWhether to allow entry when the computed volume metric is above or below the threshold.

Image Placeholder: Volume filter inspector showing SMA_volume method, period 20, threshold 1.5, comparison 'above'. A data source is connected to filter-ds handle.

Figure 3: Volume filter inspector requiring above-average volume (1.5x) for entry signals.

Time Filter

Filters entries based on day-of-week and time-of-day windows. This filter is unique — it needs NO data input. It reads the timestamp from each bar being evaluated and determines whether the bar falls within the allowed trading windows.

Filter Type

time

Input Handles

NONE. The time filter is completely self-contained. It does not connect to any other node. This makes it the simplest filter to configure — just place it on the canvas, configure the schedule, and connect its gate output to an Entry/Exit filter slot.

Time-based filtering is one of the most underutilized edges in retail trading. Market behavior varies dramatically by session: the first 30 minutes after open have wide spreads and unpredictable direction; the London-NY overlap (8:00-12:00 EST) has the deepest liquidity; Friday afternoons carry weekend gap risk. A time filter transforms your strategy from “always on” to “only when conditions are favorable.”

Day of Week

Multi-select checkboxes — which days of the week to allow trading. Options: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday. Default: all selected.

Each day operates independently. An entry is allowed if the bar's timestamp falls on an allowed day AND within an allowed time window. Both conditions must be satisfied.

Common Day Selections:

  • Deselect Monday: Avoid week-start chop and post-weekend repositioning. Monday ranges are often contained within Friday's range.
  • Tue-Thu only: Midweek trading — the most consistent sessions. Most institutional flow occurs midweek.
  • Wed-Fri only: Capture midweek momentum and end-of-week positioning without Monday uncertainty.
  • Deselect Friday: Avoid holding positions over the weekend when gaps can occur. Critical for swing trading strategies.
  • All 7 days: Crypto markets trade 24/7. For crypto strategies, all days are typically enabled.

Time Windows

An array of time ranges, each with a start time and end time in HH:MM format (24-hour, exchange timezone). Multiple windows can be added — the filter allows entries when the bar's timestamp falls within ANY of the defined windows on an allowed day.

Time Window Examples:

  • 09:30–16:00: US equity market hours (EST). The primary session for US stocks and ETFs.
  • 08:00–12:00: London morning session. High liquidity in forex and European equities.
  • 13:00–17:00: London-NY overlap (UTC). Peak liquidity in forex — EUR/USD, GBP/USD spreads are tightest.
  • 02:00–05:00: Asian session (UTC). Lower liquidity, wider spreads. Often avoided by institutional strategies.
  • 00:00–23:59: Full 24-hour session. For crypto strategies that want all hours but specific days.

Time windows use the EXCHANGE timezone, not your local timezone. A window set to 09:30–16:00 on a US stock data source means US Eastern Time. If your data source is crypto (UTC timestamps), 09:30–16:00 means UTC morning, which may not align with the session you intended to target. Always verify your data source's timezone before configuring time windows.

Common Time-Based Patterns

  • Avoid the first 30 minutes after market open: Set time window to 10:00–16:00 (skipping 09:30–10:00 EST). The opening auction and initial price discovery create wide spreads and erratic price action. Many institutional algos wait 30 minutes before executing.
  • Trade only the London-NY overlap: Set time window to 13:00–17:00 UTC, days Mon-Thu. This 4-hour window has the deepest forex liquidity and tightest spreads. Ideal for scalping strategies.
  • Avoid Friday afternoons: Set time window to 09:30–14:00 on Fridays (close positions before the weekend). Weekend gaps can be severe, especially around news events. Swing traders should flat all positions by Friday close.
  • Avoid news events: Time filter alone cannot handle this — news events like NFP (first Friday of each month, 08:30 EST) or FOMC (Wed, 14:00 EST, every 6 weeks) require an external economic calendar. For manual trading, you can temporarily disable strategies during these windows.
  • Asia session drift: During 00:00–08:00 UTC, forex pairs often drift in low-volume consolidation. Trend-following strategies that rely on momentum perform poorly during these hours. Use a time filter to restrict to higher-volatility sessions.

Output Handle

gate (RIGHT). Connect to Entry/Exit filter-0 through filter-4.

Time Filter Parameters

ParameterTypeDefaultDescription
daysmulti-selectAll days selectedDays of the week to allow entries. Options: Monday through Sunday. Deselect days to block trading on those days.
time_windowsarray of {start, end}[{start: "00:00", end: "23:59"}]Time ranges in HH:MM format (exchange timezone). Multiple windows can be added. Entry is allowed when bar timestamp falls within ANY window on an allowed day.

Image Placeholder: Time filter inspector showing Monday deselected (grayed out), time window 09:30–16:00 active, with a second window 08:00–12:00 being configured. Day-of-week checkboxes and time window rows clearly visible.

Figure 4: Time filter inspector with day-of-week toggles and dual time windows for session-based trading.

Regime Filter

Filters entries based on detected market regime — the macro state of the market (bull, bear, ranging, or transition). Different strategies work in different regimes: trend followers need trending markets, mean-reversion strategies need ranging markets. The regime filter automatically classifies the current regime and gates entries accordingly.

Filter Type

regime

Input Handle

filter-ds (LEFT edge). Connect a data source for price data. The regime filter uses OHLC data to classify the current market regime.

“There are no bad strategies, only strategies applied to the wrong regime.” A trend-following strategy will get chopped to death in a ranging market. A mean-reversion strategy will get run over in a strong trend. The regime filter is the meta-strategy that decides WHEN your strategy should be active. It is the single highest-leverage filter you can add — it can turn a losing strategy profitable by simply keeping it out of unfavorable regimes.

Method

ParameterTypeDefaultDescription
HMMselect optionHidden Markov Model — unsupervised ML regime detection. The algorithm learns regimes directly from price action with no labeled data. Computationally heavier than other methods (requires fitting on lookback data). Produces 2-4 regime states which are labeled post-hoc based on their return characteristics. Best for adaptive, data-driven regime classification.
ADXselect optionSimple ADX-based classification. ADX > 25 = trending, ADX < 20 = ranging, ADX 20–25 = transition. Fast, deterministic, and widely understood. Does not distinguish bull from bear — use in combination with a trend filter for direction.
MA_alignmentselect optionMultiple moving average alignment. Checks the ordering of 3 MAs (short, medium, long). Perfect bullish order (short > medium > long) = Bull. Perfect bearish (short < medium < long) = Bear. Crossed/crisscrossed = Range. Simple, visual, and easy to understand.
volatility_regimeselect optionVolatility-percentile-based regime classification. Computes the current volatility percentile within the lookback window. High vol (top quartile) = turbulent regime, low vol (bottom quartile) = calm regime, middle = normal. Good for strategies that adjust behavior based on volatility environment.

Method Details

HMM (Hidden Markov Model)

The most sophisticated regime detection method. HMM treats market regime as a hidden (latent) state that must be inferred from observable price data. The model learns:

  • Transition probabilities: How likely the market is to switch from one regime to another.
  • Emission probabilities: What return distributions characterize each regime.
  • The most likely regime sequence given historical price data.

After fitting, regimes are labeled based on their statistical properties. A regime with positive mean returns and low volatility might be labeled “Bull.” One with negative mean returns and high volatility might be “Bear.” The HMM detects regime shifts earlier than simple rules because it uses the full return distribution, not just a threshold crossing.

HMM requires a meaningful amount of historical data to fit. If your data source only has 100 bars, the HMM may not converge to stable regimes. For short data histories, prefer ADX or MA_alignment methods. HMM also assumes regimes are Markovian (next state depends only on current state), which is a simplification — real markets have memory effects beyond one state transition.

ADX Regime

Uses the Average Directional Index (ADX) to classify market type:

  • ADX > 25: Trending market. Strong directional movement. Favorable for trend-following and breakout strategies.
  • ADX 20–25: Transition zone. Market may be developing a trend or losing one. Proceed with caution.
  • ADX < 20: Ranging/choppy market. No clear direction. Favorable for mean-reversion, range-bound, and options-selling strategies.

ADX does not indicate trend direction — it only measures trend strength. Pair with a trend filter or directional indicator (like +DI/-DI) if you need bull/bear classification.

MA Alignment

Uses three moving averages (configurable periods) to classify market structure:

  • Bull: MA_short > MA_medium > MA_long. MAs are stacked in perfect bullish order. Price is above all MAs or pulling back to support.
  • Bear: MA_short < MA_medium < MA_long. MAs are stacked in perfect bearish order. Price is below all MAs or rallying to resistance.
  • Range: MAs are crossed, crisscrossed, or compressed (all values within a narrow band). No clear alignment = ranging market.

Default MA periods: short=20, medium=50, long=200. These can be customized for different trading styles (e.g., 5/20/50 for scalping, 50/100/200 for swing trading).

Volatility Regime

Classifies the market based on where current volatility sits in the historical distribution:

  • Low Vol: Current vol is in the bottom quartile of the lookback distribution. Markets tend to trend after low-vol compression periods.
  • Normal Vol: Middle 50% of the distribution. Standard market conditions.
  • High Vol: Top quartile. Turbulent, unpredictable conditions. Spreads widen, slippage increases. Many strategies perform poorly in high-vol regimes.

Allowed Regimes

Multi-select — which regimes to allow entries in. Options: Bull, Bear, Range, Transition. The available options depend on the selected method:

  • ADX method: Regimes are Trending, Range, Transition.
  • MA_alignment method: Regimes are Bull, Bear, Range.
  • HMM method: Regimes are auto-labeled (Bull, Bear, Range, plus potentially additional states).
  • volatility_regime method: Regimes are Low Vol, Normal Vol, High Vol.

Select only the regimes where your strategy has an edge. Examples:

  • Trend-following strategy: Select Bull and Bear (avoid Range).
  • Mean-reversion strategy: Select Range only (avoid Bull and Bear).
  • Breakout strategy: Select Bull, Bear, and Transition (avoid confirmed Range).
  • Volatility-adaptive strategy: Select Normal Vol and High Vol (avoid Low Vol — not enough movement).

Lookback

Integer period for regime detection calculations. Varies by method:

  • HMM: Number of bars used to fit the HMM. Larger lookback (500-1000 bars) gives more stable regime detection but slower adaptation to regime changes. Smaller (100-200 bars) adapts faster but may produce noisy regime switches.
  • ADX: Standard ADX period (default 14). Same as the ADX indicator lookback.
  • MA_alignment: Applies to the longest MA (default 200). The shortest MA (20) and medium MA (50) have fixed periods; only the long MA is configurable via this setting.
  • volatility_regime: Lookback for the historical volatility distribution (default 100 bars). Determines the sample size for computing percentiles.

Output Handle

gate (RIGHT). Connect to Entry/Exit filter-0 through filter-4.

MTF Support

When MTF is enabled, the regime filter can operate on a different timeframe. A common pattern: use a 1h chart for entry signals, but classify the regime on the daily chart. The daily trend regime matters more for swing trades than the hourly noise.

Regime Filter Parameters

ParameterTypeDefaultDescription
methodselectADXRegime detection algorithm. Options: HMM, ADX, MA_alignment, volatility_regime. Each method produces different regime labels.
allowed_regimesmulti-selectAll selectedWhich regimes to allow entries in. Available options depend on the selected method. Deselect regimes where your strategy does not have an edge.
lookbackinteger14 (ADX) / 200 (HMM/MA) / 100 (volatility_regime)Lookback period for regime detection. Meaning varies by method (ADX period, HMM fit length, MA long period, or volatility percentile window).
ma_short_periodinteger20Short MA period for MA_alignment method only. Not visible for other methods.
ma_medium_periodinteger50Medium MA period for MA_alignment method only. Not visible for other methods.

Image Placeholder: Regime filter inspector showing ADX method selected, lookback 14, allowed regimes: Bull, Bear (Range deselected). Data source connected to filter-ds handle. MTF toggle visible.

Figure 5: Regime filter inspector using ADX to gate entries to trending markets only.

Filter Selection Guide

Not sure which filter to add? Here is a quick guide based on what you want to achieve:

GoalRecommended FilterSetup
Only trade in trending marketsRegime (ADX)ADX > 25, allow Trending only
Only trade with the trendTrendConnect ADX or SuperTrend, threshold to meaningful level
Only trade when market is activeVolatility (ATR)ATR > threshold, comparison = above
Only trade high-conviction movesVolume (SMA_volume)Volume > 1.5x average, comparison = above
Avoid opening hours chopTimeSkip first 30 min, set window to 10:00–16:00
Avoid weekend gapsTimeDeselect Friday, or set Friday window to 09:30–14:00
Nodes: Filters — Strategy Builder — BitPredict · BitPredict