Skip to main content

πŸ–₯️ MT4 Strategy Tester Guide

Overview​

The MetaTrader 4 Strategy Tester is MT4's built-in tool for backtesting and optimizing Expert Advisors. This comprehensive guide will walk you through every feature and help you master the Strategy Tester for testing BananaEA.

info

Location: View β†’ Strategy Tester (or press Ctrl+R)


Strategy Tester Interface​

Main Window Components​

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Strategy Tester β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ [Settings] [Inputs] [Optimization] [Results] β”‚ ← Tabs
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Expert Advisor: [BananaEA v3.13.x β–Ό] β”‚
β”‚ Symbol: [GER40.r β–Ό] β”‚
β”‚ Period: [H1 β–Ό] β”‚
β”‚ Model: [Every tick β–Ό] β”‚
β”‚ Spread: [10 points β–Ό] β”‚
β”‚ Date Range: [2024.01.01] to [2025.10.20] β”‚
β”‚ Visual Mode: [β–‘] Optimization: [β–‘] β”‚
β”‚ β”‚
β”‚ [Start] [Stop] [Open Chart] β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Settings Tab​

Expert Advisor Selection​

Field: Expert Advisor dropdown
Action: Select BananaEA-vX.XX.X-Production.ex4 or development version
Note: Only compiled (.ex4) files appear in the list

warning

Compilation Required: You must compile your .mq4 file to .ex4 before it appears in Strategy Tester. Use MetaEditor β†’ F7 (Compile).


Symbol Configuration​

Field: Symbol dropdown
Options:

  • GER40.r (DAX - recommended for BananaEA)
  • US30.r (Dow Jones)
  • NAS100.r (NASDAQ)
  • Any other symbol your broker offers

Recommendation: Test on the symbol you intend to trade live. BananaEA is optimized for DAX (GER40.r) on H1 timeframe.


Period (Timeframe)​

Field: Period dropdown
Options: M1, M5, M15, M30, H1, H4, D1, W1, MN

BananaEA Defaults:

  • Primary: H1 (1-hour) - Most tested and reliable
  • Alternative: M5 (5-minute) - Faster signals, more trades
  • Alternative: M15 (15-minute) - Balanced approach
tip

Multi-Timeframe Feature: BananaEA can run on any chart timeframe but execute trades on a different strategy timeframe (configurable via StrategyTimeframe parameter).


Modeling Quality​

Field: Model dropdown

  • Quality: 90% accuracy
  • Speed: Slower (minutes to hours)
  • Use For: Final validation, detailed analysis
  • Requirement: Tick data downloaded

Every Tick Based on Real Ticks (Best)​

  • Quality: 99% accuracy
  • Speed: Slowest
  • Use For: structured-grade validation
  • Requirement: Real tick data from broker

Open Prices Only (Fast)​

  • Quality: ~10% accuracy
  • Speed: Fastest (seconds to minutes)
  • Use For: Quick parameter screening, optimization
  • Limitation: Not suitable for final validation

Control Points​

  • Quality: ~25% accuracy
  • Speed: Fast
  • Use For: Preliminary tests only
  • Limitation: Highly inaccurate for intrabar execution
danger

Critical: NEVER trust final results from "Open Prices Only" or "Control Points" modes. These are screening tools only. Always validate with "Every Tick" mode.


Spread Configuration​

Field: Spread dropdown or input
Options:

  • Current (uses live spread at test start)
  • Fixed spread in points (e.g., 10 points = 1 pip for 5-digit brokers)

How to Set:

  1. Check your broker's typical spread for the symbol
  2. For DAX (GER40): Usually 10-20 points (1-2 pips)
  3. Add buffer for peak times: Use average spread + 50%

Example:

  • Average DAX spread: 1.5 pips (15 points)
  • Set to: 20 points (2.0 pips) for conservative testing
warning

Realistic Spreads: Using spread=0 or spread=1 gives unrealistic results. Always use your broker's actual spread or higher.


Date Range​

Fields: From (start date) and To (end date)

Recommendations:

Minimum Test Period: 6 months
Standard Test Period: 1-2 years
Comprehensive Test: 3-5 years

Best Practice:

Test Period Selection:
β”œβ”€ Include Different Market Conditions
β”‚ β”œβ”€ Trending markets
β”‚ β”œβ”€ Ranging markets
β”‚ β”œβ”€ High volatility periods
β”‚ └─ Low volatility periods
β”‚
β”œβ”€ Include Different Seasons
β”‚ β”œβ”€ Q1: January-March
β”‚ β”œβ”€ Q2: April-June
β”‚ β”œβ”€ Q3: July-September (low volume)
β”‚ └─ Q4: October-December
β”‚
└─ Avoid Cherry-Picking
└─ Don't test only "good" periods

Visual Mode​

Checkbox: Visual mode
Purpose: Watch the backtest execute trade-by-trade on a chart

When to Use:

  • βœ… Verifying signal detection
  • βœ… Checking SL/TP placement
  • βœ… Debugging EA behavior
  • βœ… Understanding entry/exit logic
  • βœ… Confirming visual indicators work

When NOT to Use:

  • ❌ Full backtest runs (too slow)
  • ❌ Optimization (disabled automatically)
  • ❌ Final performance testing

Controls During Visual Mode:

[<< Previous] [Pause] [Play] [Next >>] ← Control buttons
Speed Slider: [______|_________] ← Playback speed

Optimization Mode​

Checkbox: Optimization
Purpose: Test multiple parameter combinations systematically

When Enabled:

  • Inputs tab shows parameter ranges (Start, Step, Stop)
  • Optimization tab becomes active
  • Visual mode is disabled
  • MT4 tests all parameter combinations

Details: See Running Optimizations for complete guide


Inputs Tab​

Configuring EA Parameters​

Purpose: Set input parameters for the EA before backtesting

Access: Click "Inputs" tab in Strategy Tester

Interface:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Parameter Name β”‚ Value β”‚ β–Ό β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Magic β”‚ 12345 β”‚
β”‚ RiskPercent β”‚ 2.0 β”‚
β”‚ UseSLtoBE β”‚ true β”‚
β”‚ BreakEvenMethod β”‚ 2 β”‚
β”‚ ... β”‚ ... β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Best Practices:

  1. Start with Defaults: Use EA's default parameters first
  2. Use Presets: Load .set files from MQL4/Presets/ folder
  3. Document Changes: Keep notes on parameter modifications
  4. Test One Change: Modify one parameter at a time to understand impact

Loading Preset Files:

Right-click in inputs area β†’ Load
β†’ Navigate to MQL4/Presets/
β†’ Select preset file (e.g., BananaEA-DAX-H1-Conservative.set)
β†’ Click Open

Results Tab​

Understanding Backtest Results​

Tabs Within Results:

  1. Results - Trade-by-trade list
  2. Graph - Equity curve and balance visualization
  3. Report - Detailed statistics and metrics

Results List​

Shows every trade executed during backtest:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Time β”‚Type β”‚Order β”‚Sizeβ”‚Price β”‚S/L β”‚T/P β”‚Profitβ”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 10:00:00 β”‚buy β”‚1 β”‚1.0 β”‚19000.0β”‚18950.0β”‚19100.0β”‚+100.0β”‚
β”‚ 11:30:00 β”‚sell β”‚2 β”‚1.0 β”‚19050.0β”‚19100.0β”‚18950.0β”‚+100.0β”‚
β”‚ 14:00:00 β”‚buy β”‚3 β”‚1.0 β”‚18980.0β”‚18930.0β”‚19080.0β”‚-50.0 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Columns:

  • Time: When trade was opened/closed
  • Type: Buy, Sell, Close, Modify
  • Order: Ticket number
  • Size: Lot size
  • Price: Execution price
  • S/L: Stop Loss level
  • T/P: Take Profit level
  • Profit: Profit/loss for that trade

Right-Click Options:

  • Save as Report (HTML)
  • Save as Detailed Report (HTML with graphs)
  • Copy trade data

Graph Tab​

Visual representation of trading performance:

Equity Curve (Green/Red Line):

  • Shows account balance + floating P&L over time
  • Green = growing equity
  • Red = drawdown periods
  • Smooth curve = consistent performance
  • Jagged curve = high volatility

Balance Line (Grey Line):

  • Shows closed trade balance only
  • Steps up/down with each trade close
  • No floating P&L included

Key Visual Indicators:

  • βœ… Upward Trend: Strategy is profitable
  • ⚠️ Flat Periods: Consolidation or no trades
  • πŸ›‘ Sharp Drops: Significant drawdowns
  • βœ… Recovery: Ability to bounce back from losses

Report Tab​

Comprehensive statistics summary:

Key Metrics Explained​

Profit & Loss:

  • Total Net Profit: Final profit after all trades
  • Gross Profit: Sum of all winning trades
  • Gross Loss: Sum of all losing trades
  • Profit Factor: Gross Profit divided by Gross Loss. Review it together with drawdown, trade count, and the equity curve.

Trade Statistics:

  • Total Trades: Number of completed trades
  • Win Rate: (Winning Trades Γ· Total Trades) Γ— 100%
  • Loss Rate: (Losing Trades Γ· Total Trades) Γ— 100%
  • Average Trade: Total Profit Γ· Total Trades

Drawdown:

  • Maximal Drawdown: Largest peak-to-trough decline
  • Absolute Drawdown: Largest drop from starting balance
  • Relative Drawdown: Max DD as % of peak balance

Trade Duration:

  • Average Win: Average duration of winning trades
  • Average Loss: Average duration of losing trades
  • Longest Trade: Maximum time in a single position

Consecutive Results:

  • Maximum Consecutive Wins: Longest winning streak
  • Maximum Consecutive Losses: Longest losing streak (risk assessment)

Save Report:

Right-click in Report tab
β†’ Save as Report (basic HTML)
β†’ OR Save as Detailed Report (includes graphs and trade list)

Backtest Execution​

Starting a Backtest​

Step-by-Step:

  1. Configure all settings (EA, symbol, period, model, spread, dates)
  2. Set input parameters or load preset
  3. Click [Start] button
  4. Monitor progress bar at bottom of Strategy Tester
  5. Wait for completion message: "Tester: stop testing"

Progress Indicators:

Testing: 2024.03.15 14:00 [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘] 67%
Bars: 8,234 | Ticks: 1,234,567 | Trades: 45

During Test:

  • Progress bar shows current date and completion %
  • Can click [Stop] to abort test
  • Visual mode shows live chart if enabled
  • Journal tab shows EA log messages

Opening Backtest Chart​

After Completion: Click [Open Chart] button to see:

  • Tested price history
  • Trade arrows (entry/exit points)
  • Indicator overlays
  • Visual representation of strategy execution

Chart Features:

  • 🟒 Green arrows = Buy entries
  • πŸ”΄ Red arrows = Sell entries
  • πŸ“Š Indicators visible (if enabled)
  • πŸ’Ή Trade lines showing SL/TP levels

Troubleshooting​

Common Issues​

"No History Data"​

Problem: MT4 doesn't have historical data for selected symbol/timeframe
Solution:

  1. Open chart for that symbol/timeframe
  2. Scroll back to load more history
  3. Tools β†’ History Center β†’ Download data

"Testing Failed"​

Problem: EA compilation error or missing resources
Solution:

  1. Check Experts tab for error messages
  2. Recompile EA (F7 in MetaEditor)
  3. Verify all dependencies (.mqh files, indicators) exist

"Tester Agent Stopped Unexpectedly"​

Problem: EA crashed during test
Solution:

  1. Check for infinite loops in code
  2. Reduce test period or use faster model
  3. Update MT4 to latest version

Backtest Runs Forever​

Problem: Stuck in infinite loop or waiting for data
Solution:

  1. Click [Stop]
  2. Check date range is reasonable
  3. Verify sufficient historical data exists

Tips for Efficient Backtesting​

Speed Optimization​

  1. Use Appropriate Models:
    • Quick screening: Open Prices Only
    • Final validation: Every Tick
  2. Limit Date Range:
    • Start with 6 months for initial tests
    • Expand to 2+ years for validation
  3. Disable Visual Elements:
    • Turn off Visual Mode for faster execution
    • Disable chart indicators during testing
  4. Close Unnecessary Charts:
    • Reduces MT4 memory usage
    • Speeds up testing

Next Steps​

Now that you understand the Strategy Tester interface:

  1. Set Up Your First Backtest β†’ Backtesting Setup
  2. Run Complete Backtests β†’ Running Backtests
  3. Learn Optimization β†’ Running Optimizations
tip

Practice Makes Perfect: The best way to master Strategy Tester is hands-on practice. Start with a short date range and work your way up to comprehensive tests.