📡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
SignalSourceType
- Signal Generation MethodChoose between internal patterns or external indicator:
Options:
Internal — Built-in Banana pattern engine (default, recommended)
External — Integrate custom indicator via
iCustom()
Configuration:
SignalSourceType = Internal ← Use BananaEA's optimized patterns (default)
SignalSourceType = External ← Use your custom indicator
Internal Signal System (Recommended)
Master Pattern Control
useBanana
- Enable/Disable ALL Banana Patterns
useBanana
- Enable/Disable ALL Banana PatternsWhat 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:
Be2 (Sell #2): 52.5% success rate — HIGHEST PERFORMING
Be1 (Sell #1): 50.8% success rate — Strong performer
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:
TP — 1 Trend + 1 Inside bar (fastest entries)
TTP — 2 Trend + 1 Inside bar (moderate confirmation)
TTTP — 3 Trend + 1 Inside bar (strong trend confirmation)
TPP — 1 Trend + 2 Inside bars (tight consolidation)
TTPP — 2 Trend + 2 Inside bars (balanced setup)
TTTPP — 3 Trend + 2 Inside bars (strongest confirmation)
Seed Pattern Parameters
useSeed
- Master Seed Pattern Toggle
useSeed
- Master Seed Pattern ToggleWhat 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
BuyBuffer
- Buy Order Entry BufferWhat 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
SellBuffer
- Sell Order Entry BufferWhat 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
BuSLBuffer
- Bullish Stop Loss BufferWhat 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
BeSLBuffer
- Bearish Stop Loss BufferWhat 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
OrderType
- Entry Order TypeWhat 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:
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
AllowBetterEntryReplacement
- Entry OptimizationWhat 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
BananaIndicatorName
- External Indicator NameWhat 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:
Place indicator .ex4 file in
MT4/MQL4/Indicators/
folderSet
SignalSourceType = External
Set
BananaIndicatorName = YourIndicatorName
(no .ex4)Restart MT4 to load indicator
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:
Provide signal buffers (buy/sell values)
Use standard MT4 indicator structure
Be accessible via
iCustom()
functionReturn 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
UseAIEnhancement
- Master AI ToggleWhat it does: Enables AI-powered signal validation system.
Default: false
(experimental feature)
UseAIDiscoveredPatterns
- AI Pattern Recognition
UseAIDiscoveredPatterns
- AI Pattern RecognitionWhat it does: Uses AI-discovered patterns with 66.7%-100% win rates.
Default: false
(experimental)
UseDeepLearningPrediction
- Neural Network Prediction
UseDeepLearningPrediction
- Neural Network PredictionWhat it does: Uses deep learning model for pattern prediction (73.7% accuracy).
Default: false
(experimental)
UseGeneticOptimization
- Genetic Algorithm Optimization
UseGeneticOptimization
- Genetic Algorithm OptimizationWhat it does: Uses genetic algorithm-optimized parameters.
Default: false
(experimental)
AI_ConfidenceThreshold
- Minimum Confidence Level
AI_ConfidenceThreshold
- Minimum Confidence LevelWhat 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
AI_FilterWeakSignals
- Filter Low ConfidenceWhat it does: Reject signals below confidence threshold.
Default: false
(allow all signals during testing)
AI_DynamicRiskManagement
- AI-Based Position Sizing
AI_DynamicRiskManagement
- AI-Based Position SizingWhat it does: Adjusts lot size based on AI signal confidence.
Default: false
(experimental)
AI_TimeBasedFiltering
- AI Time Pattern Filtering
AI_TimeBasedFiltering
- AI Time Pattern FilteringWhat it does: Uses AI time-pattern analysis for filtering.
Default: false
(experimental)
AI_HighConfidenceMultiplier
- High Confidence Position Multiplier
AI_HighConfidenceMultiplier
- High Confidence Position MultiplierWhat 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
ShowAIDebugLogs
- AI Debug InformationWhat 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:
Pattern Selection — Enabled patterns (useBu1-5, useBe1-5, useSeed patterns)
Entry Buffers — BuyBuffer, SellBuffer, BuSLBuffer, BeSLBuffer
EMA Filters — Fast/Slow/Slowest EMA trend filters (see Trading Hours & Filters)
MA Crossover — EMA crossover confirmation
Trading Hours — StartHour, EndHour, session windows
Spread Filter — MaxSpread requirement
Retracement Filters — Check_Max_Retrace, Check_Min_Retrace (optional)
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:
Enable top-performing patterns only (Bu1, Be1, Be2)
Enable all Seed patterns (proven performers)
Use EMA filters to trade with trend
Restrict to optimal trading hours (10:00-16:00)
Test and Expand:
Backtest 100+ trades with conservative setup
Analyze results by pattern type
Gradually enable additional patterns (Bu2, Bu3, Be3)
Monitor performance changes
Optimization Cycle:
Run strategy tester for 3+ months
Identify best-performing patterns
Disable underperforming patterns
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:
Master toggles enabled?
useBanana = true
and/oruseSeed = true
At least one pattern enabled?
useBu1 = true
oruseBe1 = true
or seed patterns
Trading hours active?
Current time within
StartHour
toEndHour
range
EMA filters not too restrictive?
Try
Filter_EMA_Fast = false
temporarily to test
Spread within limits?
Check current spread <
MaxSpread
Issue: Too Many Signals (Over-Trading)
Solutions:
Disable aggressive patterns:
Set
useBu4 = false, useBu5 = false, useBe4 = false, useBe5 = false
Enable strict EMA filtering:
Set
EMA_SLOWEST_Strict = true
Reduce trading hours:
Set
StartHour = 10, EndHour = 16
(optimal hours only)
Tighten spread filter:
Set
MaxSpread = 2.0
(stricter requirement)
Disable faster seed patterns:
Set
useSeedTP = false, useSeedTPP = false
Issue: Signals Missing Good Opportunities
Solutions:
Enable more patterns:
Enable
useBu2, useBu3, useBe3
for more coverage
Widen entry buffers slightly:
Increase
BuyBuffer = 1.5, SellBuffer = 1.5
Extend trading hours:
Set
StartHour = 8, EndHour = 20
Relax EMA filtering:
Set
EMA_SLOWEST_Strict = false
Check
AllowBetterEntryReplacement
:Ensure
= true
to catch improved entries
Issue: External Indicator Not Working
Check:
Indicator location:
File in
MT4/MQL4/Indicators/
folder?
Indicator name correct:
No .ex4 extension in
BananaIndicatorName
SignalSourceType set:
SignalSourceType = External
Indicator loads manually:
Test by attaching indicator to chart first
Enable debug logs:
ShowDebugLogs = true
to see iCustom() calls
Related Settings
Trading Hours & Filters — EMA filters, time restrictions, spread/slippage
Stop Loss & Take Profit — SL/TP methods for signal-based entries
General Settings — Position limits, Magic number, trading mode
Advanced Features — Break-even, trailing stop, partial close
Quick Reference
Essential Pattern Settings
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
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
Recommended Starter Configuration
// 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