# Market Filters

Market filters sit between signal detection and order placement. A signal is only acted on if **every enabled filter passes**. See [Signal Filters](/banana-ea/mt5/docs/strategy/signal-filters.md) for a conceptual overview; this page covers the exact inputs.

***

## EMA filters[​](#ema-filters "Direct link to EMA filters")

| Input                                    | Default       |
| ---------------------------------------- | ------------- |
| `Enable Fast EMA Filter`                 | false         |
| `Fast EMA Period`                        | 11            |
| `Enable Slow EMA Filter`                 | true          |
| `Slow EMA Period`                        | 21            |
| `Enable Slowest EMA Filter`              | true          |
| `Slowest EMA Period`                     | 70            |
| `Require Strict EMA Order`               | true          |
| `Trend Filter Mode`                      | `EMA Classic` |
| `Use EMA Slope Filter`                   | false         |
| `EMA Slope Lookback Bars`                | 3             |
| `Min Slow EMA Slope (ATR)`               | 0.10          |
| `Use EMA Distance Filter`                | false         |
| `Min Price Distance From Slow EMA (ATR)` | 0.15          |

***

## ADX filter[​](#adx-filter "Direct link to ADX filter")

| Input                           | Default |
| ------------------------------- | ------- |
| `Use ADX Trend Strength Filter` | false   |
| `ADX Period`                    | 14      |
| `Min ADX Trend Strength`        | 20.0    |

***

## ATR volatility filter[​](#atr-volatility-filter "Direct link to ATR volatility filter")

| Input                              | Default |
| ---------------------------------- | ------- |
| `Use ATR-based SL Filter`          | false   |
| `ATR Period for Filter`            | 20      |
| `Max SL for Banana signals (xATR)` | 2.0     |
| `Max SL for Seed signals (xATR)`   | 1.5     |

***

## Daily range filter[​](#daily-range-filter "Direct link to Daily range filter")

| Input                               | Default |
| ----------------------------------- | ------- |
| `Use Daily Range Filter`            | true    |
| `Average Daily Range Period (days)` | 20      |
| `Max Daily Range %`                 | 125.0   |
| `Show Daily Range Alert`            | true    |

***

## Session movement filter[​](#session-movement-filter "Direct link to Session movement filter")

| Input                           | Default |
| ------------------------------- | ------- |
| `Use Session Movement Filter`   | true    |
| `Session Start Hour`            | 10      |
| `Max Session Movement % of ADR` | 25.0    |

***

## Open price direction filter[​](#open-price-direction-filter "Direct link to Open price direction filter")

| Input                   | Default |
| ----------------------- | ------- |
| `Use Open Price Filter` | true    |
| `Reference Hour`        | 10      |

***

## Recommended starting configuration[​](#recommended-starting-configuration "Direct link to Recommended starting configuration")

For a conservative setup on major FX pairs (EURUSD, GBPUSD) on the 15-minute or 1-hour chart:

| Filter           | Setting                                       |
| ---------------- | --------------------------------------------- |
| Slow EMA (21)    | Enabled                                       |
| Slowest EMA (70) | Enabled                                       |
| Strict EMA order | Enabled                                       |
| Daily Range      | Enabled, 125%                                 |
| Session Movement | Enabled, 25%                                  |
| Open Price       | Enabled                                       |
| ATR volatility   | Disabled (enable if news spikes are an issue) |
| ADX              | Disabled (enable on ranging pairs)            |
| EMA Slope        | Disabled (enable for extra anti-chop)         |
