📡Signal Configuration

Complete Signal & Pattern System

BananaEA features a sophisticated multi-layered signal system with 15+ pattern types, AI enhancement, and flexible entry controls.


Signal Source Selection

SignalSourceType - Signal Generation Method

Choose between internal patterns or external indicator:

Options:

  1. Internal — Built-in Banana pattern engine (default, recommended)

  2. External — Integrate custom indicator via iCustom()

Configuration:

SignalSourceType = Internal   ← Use BananaEA's optimized patterns (default)
SignalSourceType = External   ← Use your custom indicator

Master Pattern Control

useBanana - Enable/Disable ALL Banana Patterns

What it does: Master toggle for traditional Banana patterns (Bu1-5, Be1-5).

Options:

  • true — Banana patterns active (default)

  • false — Disable all Banana patterns (use Seed patterns or AI only)

Use case:

useBanana = true    ← Traditional patterns enabled
useSeed = true      ← Seed patterns enabled
                    → Both pattern systems active

useBanana = false   ← Traditional patterns disabled
useSeed = true      ← Only Seed patterns active
UseAIEnhancement = true  ← Optional AI filtering

Traditional Banana Patterns (Bu1-5, Be1-5)

Individual Pattern Toggles

BananaEA includes 10 traditional patterns (5 buy + 5 sell):

Buy Patterns:

  • useBu1 — B1 Buy (most conservative bullish pattern)

  • useBu2 — B2 Buy (moderate bullish pattern)

  • useBu3 — B3 Buy (balanced bullish pattern)

  • useBu4 — B4 Buy (aggressive bullish pattern)

  • useBu5 — B5 Buy (most aggressive bullish pattern)

Sell Patterns:

  • useBe1 — B1 Sell (most conservative bearish pattern)

  • useBe2 — B2 Sell (moderate bearish pattern)

  • useBe3 — B3 Sell (balanced bearish pattern)

  • useBe4 — B4 Sell (aggressive bearish pattern)

  • useBe5 — B5 Sell (most aggressive bearish pattern)

All default: true (all patterns enabled)


Pattern Performance Insights (AI Analysis)

Based on 3,777+ DAX signal analysis:

Top Performing Patterns:

  1. Be2 (Sell #2): 52.5% success rate — HIGHEST PERFORMING

  2. Be1 (Sell #1): 50.8% success rate — Strong performer

  3. Bu1 (Buy #1): 49.7% success rate — Best buy pattern

Peak Activity Hours: 10:00 AM (126 signals), 12:00 PM (114 signals), 11:00 AM (79 signals)

European Session Optimization:

  • Trading during 8:00-18:00 European time shows best results

  • Morning sessions (10:00-12:00) have highest signal quality

  • Avoid late evening sessions (after 20:00) on DAX


Configuration Strategies

Conservative (High Win Rate Focus):

useBanana = true
useBu1 = true    ← Best performing buy
useBu2 = false
useBu3 = false
useBu4 = false
useBu5 = false
useBe1 = true    ← Strong performing sell
useBe2 = true    ← Highest performing sell
useBe3 = false
useBe4 = false
useBe5 = false

Result: Fewer signals, higher win rate (~50%), best patterns only

Balanced (Recommended):

useBanana = true
useBu1 = true
useBu2 = true
useBu3 = true
useBu4 = false   ← Skip most aggressive
useBu5 = false   ← Skip most aggressive
useBe1 = true
useBe2 = true
useBe3 = true
useBe4 = false   ← Skip most aggressive
useBe5 = false   ← Skip most aggressive

Result: Good signal frequency, balanced quality

Aggressive (Maximum Frequency):

useBanana = true
useBu1 = true
useBu2 = true
useBu3 = true
useBu4 = true    ← All patterns enabled
useBu5 = true    ← All patterns enabled
useBe1 = true
useBe2 = true
useBe3 = true
useBe4 = true    ← All patterns enabled
useBe5 = true    ← All patterns enabled

Result: Maximum trade opportunities, accept lower win rate


Enhanced Seed Patterns (6 Pattern Types)

Seed Pattern System Overview

Seed patterns combine:

  • T (Trend bars) — Directional momentum candles

  • P (Inside bars) — Consolidation/pullback candles

6 Seed Pattern Types:

  1. TP — 1 Trend + 1 Inside bar (fastest entries)

  2. TTP — 2 Trend + 1 Inside bar (moderate confirmation)

  3. TTTP — 3 Trend + 1 Inside bar (strong trend confirmation)

  4. TPP — 1 Trend + 2 Inside bars (tight consolidation)

  5. TTPP — 2 Trend + 2 Inside bars (balanced setup)

  6. TTTPP — 3 Trend + 2 Inside bars (strongest confirmation)


Seed Pattern Parameters

useSeed - Master Seed Pattern Toggle

What it does: Enable/disable ALL seed pattern types.

Options:

  • true — Seed patterns active (default)

  • false — Disable all seed patterns

Individual Seed Pattern Toggles

Enable/disable specific seed pattern types:

  • useSeedTP — Seed TP Buy/Sell (1T + 1P)

  • useSeedTTP — Seed TTP Buy/Sell (2T + 1P)

  • useSeedTTTP — Seed TTTP Buy/Sell (3T + 1P)

  • useSeedTPP — Seed TPP Buy/Sell (1T + 2P)

  • useSeedTTPP — Seed TTPP Buy/Sell (2T + 2P)

  • useSeedTTTPP — Seed TTTPP Buy/Sell (3T + 2P)

All default: true (all seed patterns enabled)


Seed Pattern Configuration Examples

Fast Entry (Quick Signals):

useSeed = true
useSeedTP = true      ← Fastest entries (1T+1P)
useSeedTTP = true     ← Quick entries (2T+1P)
useSeedTTTP = false
useSeedTPP = true     ← Quick entries (1T+2P)
useSeedTTPP = false
useSeedTTTPP = false

Balanced Seed Patterns:

useSeed = true
useSeedTP = true
useSeedTTP = true
useSeedTTTP = true
useSeedTPP = true
useSeedTTPP = true
useSeedTTTPP = false  ← Skip slowest confirmation

Conservative Seed Patterns (Strong Confirmation):

useSeed = true
useSeedTP = false     ← Skip fastest
useSeedTTP = false
useSeedTTTP = true    ← Strong trend confirmation (3T+1P)
useSeedTPP = false
useSeedTTPP = true    ← Balanced confirmation (2T+2P)
useSeedTTTPP = true   ← Strongest confirmation (3T+2P)

Order Entry Buffers (Critical for Entry Precision)

Entry Buffer System

BananaEA uses 4 buffer types for precise entry pricing:

BuyBuffer - Buy Order Entry Buffer

What it does: Pips added to buy signal high + spread.

Configuration:

  • Default: 1.0 pips

  • Range: 0.0 – 10.0 pips

  • Purpose: Safety buffer above signal for buy orders

How it works:

BuyBuffer = 1.0

Signal: BUY at signal high = 18,500
Current spread = 2 pips
Entry price = 18,500 + 1.0 (buffer) + 2.0 (spread) = 18,503

Ensures buy order clears signal high + spread

SellBuffer - Sell Order Entry Buffer

What it does: Pips deducted from sell signal low (no spread added).

Configuration:

  • Default: 1.0 pips

  • Range: 0.0 – 10.0 pips

  • Purpose: Safety buffer below signal for sell orders

How it works:

SellBuffer = 1.0

Signal: SELL at signal low = 18,500
Entry price = 18,500 - 1.0 (buffer) = 18,499

Note: Sell orders don't add spread to entry (spread affects SL instead)

BuSLBuffer - Bullish Stop Loss Buffer

What it does: Pips deducted from buy signal low for stop loss placement (no spread).

Configuration:

  • Default: 1.0 pips

  • Range: 0.0 – 10.0 pips

  • Purpose: Safety buffer below signal for buy SL

How it works:

BuSLBuffer = 1.0

BUY signal low = 18,480
Stop loss = 18,480 - 1.0 (buffer) = 18,479

Protects against wick rejections below signal low

BeSLBuffer - Bearish Stop Loss Buffer

What it does: Pips added to sell signal high + spread for stop loss placement.

Configuration:

  • Default: 1.0 pips

  • Range: 0.0 – 10.0 pips

  • Purpose: Safety buffer above signal for sell SL

How it works:

BeSLBuffer = 1.0

SELL signal high = 18,520
Current spread = 2 pips
Stop loss = 18,520 + 1.0 (buffer) + 2.0 (spread) = 18,523

Protects against wick rejections above signal high

Buffer Configuration Guide

Tight Buffers (Precision Entry):

BuyBuffer = 0.5
SellBuffer = 0.5
BuSLBuffer = 0.5
BeSLBuffer = 0.5

Benefit: Tighter R:R ratios, optimal entries Risk: May miss signals due to spread spikes

Standard Buffers (Recommended):

BuyBuffer = 1.0    ← Default
SellBuffer = 1.0   ← Default
BuSLBuffer = 1.0   ← Default
BeSLBuffer = 1.0   ← Default

Benefit: Balanced entry accuracy vs execution reliability

Wide Buffers (High Volatility):

BuyBuffer = 2.0-3.0
SellBuffer = 2.0-3.0
BuSLBuffer = 2.0-3.0
BeSLBuffer = 2.0-3.0

Use for: Gold (XAUUSD), indices during news, volatile pairs


OrderType - Entry Order Type

What it does: Determines if orders are pending or market execution.

Options:

  • UsePendingOrders — Place pending orders at signal levels (default)

  • UseMarketOrders — Execute immediately at market price

Comparison:

Order Type
Entry Method
Execution
Slippage Risk
Best For

UsePendingOrders

Signal level

Precise

Low

Most markets

UseMarketOrders

Current price

Fast

Medium

Fast-moving news

Recommended: UsePendingOrders for precise entries


Advanced Signal Features

AllowBetterEntryReplacement - Entry Optimization

What it does: Allows EA to replace pending orders with improved entry signals.

Options:

  • true — Replace orders with better signals (default)

  • false — Keep first signal, ignore improvements

How it works:

AllowBetterEntryReplacement = true

10:00 AM: BUY signal at 18,500 → Pending order placed
10:05 AM: Better BUY signal at 18,480 (20 pips better)
         → EA cancels first order
         → Places new order at 18,480 (better entry)

Result: Improved entry price, better R:R ratio

Benefits:

  • ✅ Optimizes entry prices automatically

  • ✅ Adapts to evolving price action

  • ✅ Improves average trade performance

When to disable:

  • During high-frequency signal generation (too many replacements)

  • If you prefer first-signal-only strategy


External Indicator Integration

Using Custom Indicators

When to use external indicators:

  • Integrating proprietary signal systems

  • Testing third-party indicators

  • Custom pattern recognition algorithms

BananaIndicatorName - External Indicator Name

What it does: Specifies custom indicator file name for signal generation.

Configuration:

  • Default: "Banana21"

  • Format: Indicator name without .ex4 extension

  • Location: Must be in MT4/MQL4/Indicators/ folder

Setup Steps:

  1. Place indicator .ex4 file in MT4/MQL4/Indicators/ folder

  2. Set SignalSourceType = External

  3. Set BananaIndicatorName = YourIndicatorName (no .ex4)

  4. Restart MT4 to load indicator

  5. Attach BananaEA to chart

Example:

Indicator file: MyCustomSignals.ex4
Location: MT4/MQL4/Indicators/MyCustomSignals.ex4

EA Configuration:
SignalSourceType = External
BananaIndicatorName = MyCustomSignals  ← No file extension

External Indicator Requirements

Your custom indicator must:

  1. Provide signal buffers (buy/sell values)

  2. Use standard MT4 indicator structure

  3. Be accessible via iCustom() function

  4. Return non-zero values for valid signals

Common Buffer Structure:

// Example indicator buffer expectations:
Buffer 0: Buy signals (non-zero = buy)
Buffer 1: Sell signals (non-zero = sell)

// BananaEA checks:
if (iCustom(Symbol(), 0, BananaIndicatorName, 0, shift) != 0)
   → Buy signal detected

if (iCustom(Symbol(), 0, BananaIndicatorName, 1, shift) != 0)
   → Sell signal detected

Experimental Features (Advanced)

AI Data Collection (Neural Network Training)

⚠️ Experimental — For AI development only

Purpose: Collect comprehensive signal and trade data for neural network training.

Parameters:

  • EnableAIDataCollection — Master toggle for AI logging (default: false)

  • LogSignalDetails — Log signal characteristics and strength (default: false)

  • LogMarketContext — Log market conditions at signal time (default: false)

  • LogTradeOutcomes — Log trade results for learning (default: false)

Use Case:

EnableAIDataCollection = true
LogSignalDetails = true
LogMarketContext = true
LogTradeOutcomes = true

→ EA generates comprehensive logs for AI training
→ Data saved in: Terminal/MQL4/Files/
→ Used for neural network development

⚠️ Important:

  • Creates large log files (100MB+ over time)

  • Impacts performance (slight slowdown)

  • Only enable during data collection periods

  • Not needed for normal trading


AI Signal Enhancement (Neural Network Integration)

⚠️ Experimental — Under development

Purpose: AI-powered signal filtering and enhancement using trained neural networks.

Parameters:

UseAIEnhancement - Master AI Toggle

What it does: Enables AI-powered signal validation system.

Default: false (experimental feature)

UseAIDiscoveredPatterns - AI Pattern Recognition

What it does: Uses AI-discovered patterns with 66.7%-100% win rates.

Default: false (experimental)

UseDeepLearningPrediction - Neural Network Prediction

What it does: Uses deep learning model for pattern prediction (73.7% accuracy).

Default: false (experimental)

UseGeneticOptimization - Genetic Algorithm Optimization

What it does: Uses genetic algorithm-optimized parameters.

Default: false (experimental)

AI_ConfidenceThreshold - Minimum Confidence Level

What it does: Minimum AI confidence required for signal acceptance.

Configuration:

  • Default: 0.300 (30% confidence)

  • Range: 0.0 – 1.0 (0% – 100%)

  • Reference: Be1 level = 48.0%, Be2 level = 52.5%

AI_FilterWeakSignals - Filter Low Confidence

What it does: Reject signals below confidence threshold.

Default: false (allow all signals during testing)

AI_DynamicRiskManagement - AI-Based Position Sizing

What it does: Adjusts lot size based on AI signal confidence.

Default: false (experimental)

AI_TimeBasedFiltering - AI Time Pattern Filtering

What it does: Uses AI time-pattern analysis for filtering.

Default: false (experimental)

AI_HighConfidenceMultiplier - High Confidence Position Multiplier

What it does: Multiplies position size for high-confidence signals.

Configuration:

  • Default: 2.0 (2x position for strong signals)

  • Range: 1.0 – 5.0

  • Example: High-confidence signal → 2x normal lot size

ShowAIDebugLogs - AI Debug Information

What it does: Displays AI analysis details in MT4 logs.

Default: false (enable for AI development/testing)


⚠️ AI Features Status:

  • Currently experimental and under development

  • Not recommended for live trading yet

  • Enable for backtesting and data collection only

  • Future updates will integrate production-ready AI features


Signal Filtering System

Multi-Layer Filter Architecture

BananaEA applies filters in this order:

  1. Pattern Selection — Enabled patterns (useBu1-5, useBe1-5, useSeed patterns)

  2. Entry Buffers — BuyBuffer, SellBuffer, BuSLBuffer, BeSLBuffer

  3. EMA Filters — Fast/Slow/Slowest EMA trend filters (see Trading Hours & Filters)

  4. MA Crossover — EMA crossover confirmation

  5. Trading Hours — StartHour, EndHour, session windows

  6. Spread Filter — MaxSpread requirement

  7. Retracement Filters — Check_Max_Retrace, Check_Min_Retrace (optional)

  8. AI Enhancement — AI confidence filtering (if enabled)

Signal must pass ALL active filters to trigger trade entry.


Filter Combination Examples

Quality-Focused (Conservative):

// Pattern Selection
useBanana = true
useBu1 = true, useBu2 = false, useBu3-5 = false  ← Top buy only
useBe1 = true, useBe2 = true, useBe3-5 = false   ← Top 2 sells only
useSeed = true (all seed patterns enabled)

// EMA Filtering
Filter_EMA_Fast = true (9 period)
Filter_EMA_Slow = true (21 period)
Filter_EMA_SLOWEST = true (55 period)
EMA_SLOWEST_Strict = true  ← Strict hierarchy

// Trading Hours
StartHour = 10, EndHour = 16  ← Optimal European session only

// Spread
MaxSpread = 2.0  ← Tight spread requirement

Result: Fewer high-quality signals, ~50% win rate

Balanced (Recommended):

// Pattern Selection
useBanana = true (Bu1-3 enabled, Bu4-5 disabled)
useSeed = true (all patterns)

// EMA Filtering
Filter_EMA_Fast = true
Filter_EMA_Slow = true
Filter_EMA_SLOWEST = true
EMA_SLOWEST_Strict = false  ← Standard mode

// Trading Hours
StartHour = 8, EndHour = 20  ← Extended session

// Spread
MaxSpread = 3.0  ← Moderate spread tolerance

Result: Good signal frequency, balanced win rate

Aggressive (High Frequency):

// Pattern Selection
useBanana = true (all Bu1-5, Be1-5 enabled)
useSeed = true (all patterns)

// EMA Filtering
Filter_EMA_Fast = false  ← No trend filtering
Filter_EMA_Slow = false
Filter_EMA_SLOWEST = false

// Trading Hours
StartHour = 0, EndHour = 23  ← 24-hour trading

// Spread
MaxSpread = 5.0  ← Wide spread tolerance

Result: Maximum trade frequency, accept lower win rate


Best Practices

Pattern Selection Strategy

Start Conservative:

  1. Enable top-performing patterns only (Bu1, Be1, Be2)

  2. Enable all Seed patterns (proven performers)

  3. Use EMA filters to trade with trend

  4. Restrict to optimal trading hours (10:00-16:00)

Test and Expand:

  1. Backtest 100+ trades with conservative setup

  2. Analyze results by pattern type

  3. Gradually enable additional patterns (Bu2, Bu3, Be3)

  4. Monitor performance changes

Optimization Cycle:

  1. Run strategy tester for 3+ months

  2. Identify best-performing patterns

  3. Disable underperforming patterns

  4. Re-optimize with refined pattern selection


Symbol-Specific Configuration

DAX40 (Optimized):

useBu1 = true, useBe1 = true, useBe2 = true  ← AI-proven top performers
useSeed = true (all patterns)
StartHour = 10, EndHour = 18  ← European session
Filter_EMA_Fast = true  ← Trend following

NAS100 (Fast-Moving):

useBanana = true (Bu1-3, Be1-3)
useSeed = true
StartHour = 14, EndHour = 21  ← US session
BuyBuffer = 2.0, SellBuffer = 2.0  ← Wider buffers for volatility

EURUSD (Stable):

useBanana = true (all patterns)
useSeed = true
Filter_EMA_SLOWEST_Strict = true  ← Strict trend filtering
MaxSpread = 2.0  ← Tight spread for majors

Troubleshooting

Issue: No Signals Generated

Check:

  1. Master toggles enabled?

    • useBanana = true and/or useSeed = true

  2. At least one pattern enabled?

    • useBu1 = true or useBe1 = true or seed patterns

  3. Trading hours active?

    • Current time within StartHour to EndHour range

  4. EMA filters not too restrictive?

    • Try Filter_EMA_Fast = false temporarily to test

  5. Spread within limits?

    • Check current spread < MaxSpread

Issue: Too Many Signals (Over-Trading)

Solutions:

  1. Disable aggressive patterns:

    • Set useBu4 = false, useBu5 = false, useBe4 = false, useBe5 = false

  2. Enable strict EMA filtering:

    • Set EMA_SLOWEST_Strict = true

  3. Reduce trading hours:

    • Set StartHour = 10, EndHour = 16 (optimal hours only)

  4. Tighten spread filter:

    • Set MaxSpread = 2.0 (stricter requirement)

  5. Disable faster seed patterns:

    • Set useSeedTP = false, useSeedTPP = false

Issue: Signals Missing Good Opportunities

Solutions:

  1. Enable more patterns:

    • Enable useBu2, useBu3, useBe3 for more coverage

  2. Widen entry buffers slightly:

    • Increase BuyBuffer = 1.5, SellBuffer = 1.5

  3. Extend trading hours:

    • Set StartHour = 8, EndHour = 20

  4. Relax EMA filtering:

    • Set EMA_SLOWEST_Strict = false

  5. Check AllowBetterEntryReplacement:

    • Ensure = true to catch improved entries

Issue: External Indicator Not Working

Check:

  1. Indicator location:

    • File in MT4/MQL4/Indicators/ folder?

  2. Indicator name correct:

    • No .ex4 extension in BananaIndicatorName

  3. SignalSourceType set:

    • SignalSourceType = External

  4. Indicator loads manually:

    • Test by attaching indicator to chart first

  5. Enable debug logs:

    • ShowDebugLogs = true to see iCustom() calls



Quick Reference

Essential Pattern Settings

Setting
Conservative
Balanced
Aggressive

useBanana

true

true

true

useBu1

true

true

true

useBu2

false

true

true

useBu3

false

true

true

useBu4-5

false

false

true

useBe1

true

true

true

useBe2

true

true

true

useBe3

false

true

true

useBe4-5

false

false

true

useSeed

true

true

true

All Seed Patterns

true

true

true

Essential Entry Settings

Setting
Default
Range
Purpose

OrderType

Pending

-

Pending vs Market orders

BuyBuffer

1.0

0.0-10.0

Entry buffer for buy orders

SellBuffer

1.0

0.0-10.0

Entry buffer for sell orders

BuSLBuffer

1.0

0.0-10.0

SL buffer for buy orders

BeSLBuffer

1.0

0.0-10.0

SL buffer for sell orders

AllowBetterEntryReplacement

true

-

Replace with improved entries

// Signal Source
SignalSourceType = Internal

// Pattern Selection (Conservative Start)
useBanana = true
useBu1 = true      ← Best buy pattern
useBu2 = false
useBu3 = false
useBu4 = false
useBu5 = false
useBe1 = true      ← Strong sell pattern
useBe2 = true      ← Highest performing sell
useBe3 = false
useBe4 = false
useBe5 = false

// Seed Patterns (All Enabled)
useSeed = true
useSeedTP = true
useSeedTTP = true
useSeedTTTP = true
useSeedTPP = true
useSeedTTPP = true
useSeedTTTPP = true

// Entry Buffers (Standard)
OrderType = UsePendingOrders
BuyBuffer = 1.0
SellBuffer = 1.0
BuSLBuffer = 1.0
BeSLBuffer = 1.0
AllowBetterEntryReplacement = true

// AI Features (Disabled for Production)
EnableAIDataCollection = false
UseAIEnhancement = false

💡 Download professional optimization sets from https://my.itradeaims.net/latest-optimization-sets/ for symbol-specific configurations.

Last updated