Back to Tutorials
Strategy Optimization - Intermediate

Advanced Signal Filters

Master filtering techniques to eliminate false signals and improve win rate

📖 15 min read 👁️ 2,800 views 📅 Updated today

📋 Table of Contents

Signal filtering is the most critical skill for maximizing GAIN OPTIMIZER's performance. Proper filters can increase your win rate from 65% to 80%+ by eliminating low-probability setups.

1. Filter System Overview

GAIN OPTIMIZER uses a multi-layered filtering system. Each filter acts as a "checkpoint" that signals must pass before appearing on your chart.

📸 Screenshot: Filter System Flowchart

The 5 Core Filters

Filter Purpose Impact Setting Location
Minimum Confluence Ensure multiple confirmations High Filters → Minimum Confluence Score
Trend Direction Trade with the trend only Very High Filters → Filter by Trend
ADX Strength Avoid ranging markets Critical Filters → ADX Threshold
Support/Resistance Trade near key levels Medium Filters → Use Support/Resistance
Anti-Overtrading Prevent signal spam High Automatic (5-bar minimum)
⚠️ Critical Concept

More filters ≠ Better results!

Over-filtering can eliminate valid signals. The goal is to find the optimal balance between signal quality and signal quantity for your timeframe and style.

2. Minimum Confluence Score Filter

The confluence score measures how many of the 7 technical factors align for a signal. This is your primary quality control.

Understanding Confluence Scores

The 7 factors scored:

  1. RSI oversold/overbought with momentum confirmation
  2. MACD crossover above/below zero line
  3. Price above/below EMA with 2-bar momentum
  4. EMA alignment (fast > slow for BUY, fast < slow for SELL)
  5. Near support/resistance level (if enabled)
  6. Bullish/bearish price structure (higher lows/lower highs)
  7. Multi-timeframe alignment

Optimal Settings by Timeframe

Timeframe Recommended Score Signals/Day Win Rate Trade Style
M5 5/7 20-30 72-75% Scalping
M5 6/7 8-12 78-82% Selective scalping
M15 4/7 15-25 68-72% Active day trading
M15 5/7 8-12 75-78% Standard day trading (recommended)
H1 5/7 3-6 78-82% Swing trading
H1 6/7 1-3 82-85% High-conviction only

Setting the Confluence Score

  1. Open GAIN OPTIMIZER settings (gear icon)
  2. Go to Filters section
  3. Find "Minimum Confluence Score"
  4. Adjust slider or input value (1-7)
  5. Click Apply
min_confluence = input.int(5, "Minimum Confluence Score", minval=1, maxval=7, group="Filters") buy_signal = buy_score >= min_confluence sell_signal = sell_score >= min_confluence
💡 Pro Tip: Dynamic Confluence

Adjust based on market conditions:

  • Volatile markets (NFP, CPI): Increase to 6/7 (quality over quantity)
  • Quiet Asian session: Reduce to 4/7 (more opportunities)
  • Trending days: Use 5/7 (balanced)
  • Choppy days: Increase to 6/7 or don't trade

3. Trend Direction Filter

The trend filter is the most powerful filter in GAIN OPTIMIZER. When enabled, it ONLY allows signals in the direction of the Supertrend.

Why This Filter is Critical

✅ With Trend Filter Enabled
  • Win rate: 75-80%
  • Average profit per trade: +0.5%
  • Drawdown: 8-12%
  • Signals: 8-12 per day (M15)
❌ With Trend Filter Disabled
  • Win rate: 60-65%
  • Average profit per trade: +0.3%
  • Drawdown: 18-25%
  • Signals: 25-35 per day (M15)

How Trend Filter Works

Supertrend Detection:

Enabling Trend Filter

  1. Settings → Filters
  2. Check "Filter by Trend"
  3. Signal Detection will now respect Supertrend direction
📸 Screenshot: Trend Filter ON vs OFF Comparison
💡 When to Disable Trend Filter

Only disable if:

  • You're an experienced counter-trend trader
  • You're using very tight stops (< 0.3%)
  • You're scalping M1-M5 and want maximum signals
  • You have a manual strategy for ranging markets

For 90% of traders: KEEP IT ENABLED!

4. ADX Strength Filter

ADX (Average Directional Index) measures trend STRENGTH, not direction. This filter prevents trading during choppy, ranging conditions.

Understanding ADX Values

ADX Range Market State Trading Decision Signal Quality
0-20 Very weak/ranging ❌ Don't trade Poor (40-50% win rate)
20-25 Weak trend forming ⚠️ Cautious Fair (60-65% win rate)
25-40 Strong trend ✅ Trade actively Good (75-80% win rate)
40-60 Very strong trend ✅ Ideal conditions Excellent (80-85% win rate)
60+ Extreme trend ⚠️ Nearing exhaustion Variable (watch for reversal)

Optimal ADX Thresholds

By Timeframe

  • M5 (Scalping): ADX ≥ 20
  • M15 (Day Trading): ADX ≥ 22
  • M30: ADX ≥ 23
  • H1 (Swing): ADX ≥ 25
  • H4+: ADX ≥ 25-30

Setting ADX Threshold

  1. Settings → Filters
  2. Find "ADX Threshold"
  3. Enter your desired minimum (default: 25)
  4. Click Apply
adx_threshold = input.float(25, "ADX Threshold", minval=10, maxval=50, step=5, group="Filters") // Signal only generated if ADX above threshold strong_trend = adx > adx_threshold buy_signal = buy_conditions AND strong_trend sell_signal = sell_conditions AND strong_trend
⚠️ Common Mistake

Setting ADX too high: If you set ADX threshold to 35+, you'll miss many valid signals. Only very trending markets will qualify, and you'll get 1-2 signals per day max.

Recommendation: Stick with 22-25 for M15, adjust slightly for other timeframes.

5. Support/Resistance Filter

When enabled, signals must occur near identified support/resistance levels for increased probability.

How S/R Filter Works

GAIN OPTIMIZER identifies S/R levels by:

  1. Looking back 100 bars (default)
  2. Finding highest high (resistance)
  3. Finding lowest low (support)
  4. Checking if current price is within 0.5% of these levels

Signal requirements with S/R enabled:

When to Use S/R Filter

Scenario Enable S/R? Reason
Ranging market ✅ Yes Trade bounces from levels
Strong trend ❌ No Price breaks through levels easily
Consolidation after trend ✅ Yes Levels are respected
Scalping M5 ❌ No Too restrictive, miss opportunities
Swing H1+ ✅ Yes Better entries at key levels

Enabling S/R Filter

  1. Settings → Filters
  2. Check "Use Support/Resistance"
  3. Set "S/R Lookback Period" (default: 100)
  4. Optional: Enable "Show Support/Resistance" in Display to see lines
💡 Pro Configuration

Lookback period recommendations:

  • M5: 50-80 bars (4-6 hours)
  • M15: 80-120 bars (20-30 hours)
  • H1: 100-200 bars (4-8 days)
  • H4: 100-150 bars (2-3 weeks)

6. Anti-Overtrading Protection

GAIN OPTIMIZER includes automatic anti-overtrading filter that prevents signal spam. This is ALWAYS active and cannot be disabled (for your protection).

How It Works

// Minimum bars between signals int min_bars_between_signals = 5 // Track last signal var int last_signal_bar = 0 // Check if enough bars have passed bool can_signal = bar_index - last_signal_bar >= 5 // Only generate signal if spacing requirement met buy_signal = buy_conditions AND can_signal sell_signal = sell_conditions AND can_signal

What this means:

Time Spacing by Timeframe

Timeframe Minimum Spacing Real Time
M5 5 bars 25 minutes
M15 5 bars 1 hour 15 minutes
M30 5 bars 2 hours 30 minutes
H1 5 bars 5 hours
✅ Benefits of Anti-Overtrading
  • Prevents emotional trading during volatile events
  • Reduces trading costs (spreads/commissions)
  • Improves average trade quality
  • Protects account during whipsaws
  • Enforces discipline automatically

7. Filter Optimization by Timeframe

Different timeframes require different filter configurations. Here are battle-tested setups for each style.

M5 Scalping Configuration

Aggressive Scalper (High Volume)

Minimum Confluence: 5/7 Filter by Trend: ✓ Enabled ADX Threshold: 20 Use S/R: ✗ Disabled Multi-Timeframe: ✓ Enabled (M15, M30) Expected: 20-30 signals/day Win Rate: 72-75%

Selective Scalper (High Quality)

Minimum Confluence: 6/7 Filter by Trend: ✓ Enabled ADX Threshold: 22 Use S/R: ✗ Disabled Multi-Timeframe: ✓ Enabled (M15, M30) Expected: 8-12 signals/day Win Rate: 78-82%

M15 Day Trading Configuration

Balanced Day Trader (Recommended)

Minimum Confluence: 5/7 Filter by Trend: ✓ Enabled ADX Threshold: 22 Use S/R: ✗ Disabled Multi-Timeframe: ✓ Enabled (M30, H1) Expected: 8-12 signals/day Win Rate: 75-78%

Conservative Day Trader

Minimum Confluence: 6/7 Filter by Trend: ✓ Enabled ADX Threshold: 25 Use S/R: ✓ Enabled (Lookback: 100) Multi-Timeframe: ✓ Enabled (M30, H1) Expected: 3-6 signals/day Win Rate: 80-85%

H1 Swing Trading Configuration

Standard Swing Trader

Minimum Confluence: 5/7 Filter by Trend: ✓ Enabled ADX Threshold: 25 Use S/R: ✓ Enabled (Lookback: 150) Multi-Timeframe: ✓ Enabled (H2, H4) Expected: 3-6 signals/day Win Rate: 78-82%

High-Conviction Swing

Minimum Confluence: 6/7 Filter by Trend: ✓ Enabled ADX Threshold: 27 Use S/R: ✓ Enabled (Lookback: 200) Multi-Timeframe: ✓ Enabled (H2, H4) Expected: 1-3 signals/day Win Rate: 82-87%

Testing and Optimization Process

Step-by-Step Filter Optimization

  1. Start with defaults: Confluence 5/7, Trend ON, ADX 25
  2. Backtest 1 month: Note win rate, signals/day, max drawdown
  3. Adjust ONE filter: Increase confluence to 6/7
  4. Backtest again: Compare results
  5. Keep if improved: Higher win rate OR lower drawdown
  6. Repeat: Test ADX adjustment
  7. Document: Keep notes of what works for your style
⚠️ Optimization Mistakes to Avoid
  • Curve-fitting: Don't optimize to past data only
  • Too many filters: Will eliminate all signals
  • Changing constantly: Give settings 2-4 weeks before adjusting
  • Ignoring drawdown: Win rate isn't everything
  • No documentation: Keep a trading journal of what works

What You've Learned

🎓 Key Takeaways
  • ✅ 5 core filters control signal quality
  • ✅ Confluence score: Most important filter (5-6/7 optimal)
  • ✅ Trend filter: Keep enabled for 75-80% win rate
  • ✅ ADX filter: Prevents trading in ranges (22-25 threshold)
  • ✅ S/R filter: Use for swing trading, not scalping
  • ✅ Anti-overtrading: Automatic 5-bar minimum spacing
  • ✅ Different timeframes need different configurations
  • ✅ Test and document your optimal settings
💡 Next Steps

Now that you understand filters:

  • Tutorial: Multi-Timeframe Strategy - Combine timeframes for better confluence
  • Tutorial: Backtesting Basics - Test your filter settings
  • Tutorial: Risk Management System - Position sizing with filtered signals
← Backtesting Basics Multi-Timeframe Strategy →