Skip to main content

Signal Filters

Filters sit between pattern detection and order placement. A signal is acted on only if every enabled filter passes. This suppresses false entries in choppy, over-extended, or low-momentum markets.

All filters are individually toggleable — enable only the ones that improve results on your pair and timeframe.


EMA Trend Filters

Three exponential moving averages can gate signals:

InputDefaultPurpose
Enable Fast EMA FilterfalseRequire price above/below fast EMA (default period 11)
Enable Slow EMA FiltertrueRequire price above/below slow EMA (default period 21)
Enable Slowest EMA FiltertrueRequire price above/below slowest EMA (default period 70)
Require Strict EMA OrdertrueAll active EMAs must be stacked in trend direction

When Require Strict EMA Order is true, EMAs must be aligned for the signal direction (e.g. for a BUY: fast EMA above slow EMA above slowest EMA). This prevents entries against established trend structures.

EMA Slope Filter

Use EMA Slope Filter — additionally requires the slow EMA slope (measured over EMA Slope Lookback Bars closed bars) to exceed Min Slow EMA Slope (ATR). Useful for filtering out flat, sideways conditions.

EMA Distance Filter

Use EMA Distance Filter — requires the signal candle to be at least Min Price Distance From Slow EMA (ATR) ATR units away from the slow EMA, ensuring entries are not too close to a mean-reversion level.


MA Crossover Filter

Enable Moving Average Crossover Filter — requires the fast EMA to have crossed above (BUY) or below (SELL) the slow EMA recently, confirming directional momentum is fresh.

Trend Filter Mode selects the behaviour:

ModeBehaviour
EMA ClassicStandard EMA cross / stack check (default)
EMA Anti-ChopRegime-aware filter that suppresses signals in ranging conditions

ADX Trend Strength Filter

Use ADX Trend Strength Filter — requires the ADX value to exceed Min ADX Trend Strength before a signal is acted on. Prevents entries in directionless, low-volatility markets.

InputDefault
ADX Period14
Min ADX Trend Strength20.0

ATR Volatility Filter

Use ATR-based SL Filter — compares the calculated stop loss distance against an ATR multiple. Signals where the natural SL is too wide are rejected.

InputDefaultApplies to
Max SL for Banana signals (xATR)2.0B1, B2, B3
Max SL for Seed signals (xATR)1.5Seed TP, TTP

Particularly useful for avoiding entries after news spikes where the signal candle range (and thus SL) is abnormally wide.


Daily Range Filter

Use Daily Range Filter — measures the current day's range as a percentage of the Average Daily Range (ADR) over ADR Period days. Signals are blocked when the day's range exceeds Max Daily Range %.

Use Session Movement Filter — measures movement from Session Start Hour to the current bar as a percentage of ADR. Blocks entries when too much ground has already been covered in the session.


Open Price Direction Filter

Use Open Price Filter — captures the reference close price at Reference Hour (default 10:00). BUY signals are only permitted if current price is above that reference; SELL signals only if below it. Aligns entries with the day's early directional bias.


SL distance limits

Independent of the ATR filter, absolute pip limits can be set on the stop loss:

InputDefaultEffect
Minimum SL Distance3.0 pipsSignal rejected if SL is smaller than this
Maximum SL Distance0 (disabled)Signal rejected if SL is wider than this