11 KiB
Strategy Tester .ini Files Guide
Overview
This repository now includes .ini configuration files for each EA variant to facilitate comprehensive testing in the MetaTrader 5 Strategy Tester. These files enable:
- Multi-pair testing: Test the EA across multiple currency pairs simultaneously
- Multi-timeframe testing: Evaluate performance across different timeframes
- Optimization setup: Pre-configured optimization parameters for each EA
- Consistent testing: Standardized test configurations for reproducible results
Available .ini Files
| File | EA Version | Description |
|---|---|---|
ForexTrader_EA_Base_Version.ini |
Base Version | Original EA with basic MA strategy |
ForexTrader_v1.2_Tuned_By_User.ini |
v1.2 | User-tuned improvements |
ForexTrader_v2_MultiStrategy.ini |
v2 | Multi-strategy implementation |
ForexTrader_v3_Production.ini |
v3 Production | Recommended - Production-ready single-pair |
ForexTrader_v3_MultiStrategy_Production.ini |
v3 Multi | Recommended - Production-ready multi-strategy |
How to Use .ini Files in MT5 Strategy Tester
Method 1: Quick Testing (Single Symbol)
- Open Strategy Tester (Ctrl+R in MT5)
- Select Expert Advisor from the dropdown
- Choose Symbol (e.g., EURUSD)
- Select Timeframe (e.g., M30 or H1)
- Set Test Period (From date and To date)
- Load Settings:
- Click "Expert Properties" button
- In the "Inputs" tab, click "Load"
- Navigate to the
.setfile in the Config folder (e.g.,ForexTrader_v3_Conservative.set)
- Start Test - Click "Start"
Method 2: Multi-Symbol Testing (Using .ini Files)
Unfortunately, MT5's Strategy Tester does not directly load .ini files. The .ini files in this repository serve as:
- Reference configurations - Showing recommended test setups
- Optimization templates - Defining parameter ranges for optimization
- Multi-pair testing guides - Listing which symbols to test
To test multiple symbols, you need to:
Option A: Manual Multi-Symbol Testing
- Run the tester for each symbol individually
- Use the same settings (.set file) for each symbol
- Compare results across all tests
- Track results in a spreadsheet
Option B: Automated Multi-Symbol Testing (Advanced)
- Use MT5's built-in "Optimization" feature
- Set up custom scripts to iterate through symbols
- Use the MT5 API to automate testing
Method 3: Optimization Testing
- Open Strategy Tester (Ctrl+R)
- Select Expert Advisor
- Choose Symbol and Timeframe
- Enable Optimization:
- Check "Optimization" checkbox
- Select "Slow complete algorithm" or "Fast genetic algorithm"
- Configure Parameters:
- Click "Expert Properties"
- In the "Inputs" tab, enable checkboxes next to parameters you want to optimize
- Set Start, Stop, and Step values (refer to the .ini file for recommended ranges)
- Set Optimization Criteria:
- Choose "Balance", "Profit Factor", "Sharpe Ratio", etc.
- Start Optimization
- Review Results:
- Check the "Optimization Results" tab
- Sort by your chosen criteria
- Select best parameter combinations
.ini File Structure Explained
Each .ini file contains these sections:
[Tester]
- Model: Testing model (0=Every tick, 1=1 min OHLC, 2=Open prices)
- FromDate/ToDate: Testing period
- ForwardMode/ForwardDate: Forward testing configuration
- Deposit: Initial balance
- Leverage: Account leverage
[Symbols]
- Symbol1-N: List of symbols to test
- Example: EURUSD, GBPUSD, USDJPY, etc.
[Timeframes]
- Period1-N: List of timeframes to test
- Values: 1=M1, 5=M5, 15=M15, 30=M30, 60=H1, 240=H4, 1440=D1
[Parameters]
- All EA input parameters with default values
- Use these as reference when setting up tests
[Optimization]
- Parameter ranges for optimization
- Format:
ParamName_Start,ParamName_Stop,ParamName_Step
[Genetic]
- Genetic algorithm settings for optimization
- Generations and Population size
Recommended Testing Workflow
Step 1: Initial Single-Pair Testing
EA: ForexTrader_v3_Production.mq5
Symbol: EURUSD
Timeframe: M30
Period: 6 months
Settings: Config/ForexTrader_v3_Conservative.set
Model: Every tick
Step 2: Multi-Pair Validation
Test the same settings on different pairs:
- GBPUSD
- USDJPY
- AUDUSD
- USDCHF
Document which pairs perform best with your settings.
Step 3: Timeframe Optimization
For the best-performing pairs, test across timeframes:
- M15
- M30
- H1
- H4
Identify optimal timeframe for each pair.
Step 4: Parameter Optimization
Use the optimization ranges from the .ini files:
- Start with conservative ranges
- Optimize one parameter category at a time:
- MA periods
- Risk parameters (SL/TP)
- Filter thresholds (ADX, ATR)
- Use forward testing to validate
Step 5: Forward Testing
- Use the "Forward Mode" settings from .ini files
- Split your test period: 70% backtest, 30% forward test
- Ensure forward test results are consistent with backtest
Step 6: Demo Testing
Before live trading:
- Run optimized settings on demo account for minimum 1 month
- Monitor performance daily
- Adjust if necessary
Symbol Lists in .ini Files
Major Pairs (Best liquidity and spreads)
- EURUSD
- GBPUSD
- USDJPY
- AUDUSD
- USDCHF
- NZDUSD
- USDCAD
Cross Pairs (Higher spreads but good opportunities)
- EURJPY
- GBPJPY
- EURGBP
- AUDJPY
- CHFJPY
Timeframe Recommendations by EA Version
Base Version & v1.2
- Best: M30, H1
- Moderate: M15, H4
- Not Recommended: M1, M5 (too noisy)
v2 MultiStrategy
- Best: M15, M30 (multiple strategies benefit from more signals)
- Moderate: H1
- Experimental: H4
v3 Production
- Best: M30, H1 (optimal balance)
- Moderate: M15, H4
- Conservative: H4, D1
v3 MultiStrategy Production
- Best: M15, M30 (multi-timeframe analysis built-in)
- Moderate: H1
- Advanced: Simultaneous M15+M30+H1
Performance Targets by Test Type
Backtesting Targets
- Win Rate: >50%
- Profit Factor: >1.3
- Sharpe Ratio: >0.5
- Max Drawdown: <30%
- Recovery Factor: >2.0
Forward Testing Targets
- Results should match backtest within: ±20%
- Max Drawdown: Should not exceed backtest max
- Win Rate: Should be within ±10% of backtest
Optimization Best Practices
Do's
✅ Optimize one parameter group at a time ✅ Use conservative parameter ranges ✅ Validate with forward testing ✅ Test on multiple symbols ✅ Use "Every tick" model for accuracy ✅ Allow sufficient test period (6+ months)
Don'ts
❌ Don't over-optimize (curve fitting) ❌ Don't use too many parameters at once ❌ Don't ignore forward test results ❌ Don't optimize on short periods (<3 months) ❌ Don't skip demo testing after optimization
Common Issues and Solutions
Issue: EA Not Opening Positions in Tester
Possible Causes:
- ADX filter too strict (increase ADX_Minimum)
- Spread filter too strict (increase MaxSpreadPips)
- ATR filter blocking trades (adjust ATR range)
- Cooldown period too long
Solution:
- Check the Journal tab for filter messages
- Adjust filter parameters gradually
- Verify symbol data quality
Issue: Too Many Losses in Testing
Possible Causes:
- SL too tight for the timeframe
- Market conditions don't suit strategy
- Spread too high for short-term trades
Solution:
- Increase StopLossPips
- Enable UseDynamicSLTP for ATR-based SL
- Test on different time periods
- Try different symbols
Issue: Optimization Takes Too Long
Possible Causes:
- Too many parameters selected
- Test period too long
- "Slow complete" algorithm selected
Solution:
- Use "Fast genetic algorithm"
- Reduce test period to 3-6 months
- Optimize fewer parameters at once
- Use "Open prices only" model for initial screening
Testing Checklist
Before considering EA ready for demo/live:
- Backtested for minimum 6 months
- Forward tested for minimum 3 months
- Tested on minimum 3 major pairs
- Tested on recommended timeframes
- Win rate >50% achieved
- Profit factor >1.3 achieved
- Max drawdown <30%
- Optimization completed and validated
- Demo tested for minimum 1 month
- All parameters documented
- Risk per trade configured (1-2%)
- Max drawdown limit set
Advanced: Creating Custom Test Suites
You can modify the .ini files to create custom test configurations:
- Copy an existing .ini file
- Modify the [Symbols] section to test specific pairs
- Adjust [Timeframes] for your preferred trading style
- Update [Parameters] with your custom settings
- Modify [Optimization] ranges based on your findings
- Save with a descriptive name (e.g.,
ForexTrader_v3_MySetup.ini)
Support Resources
- Full EA Documentation: README_v3.md
- Quick Start Guide: QUICKSTART_v3.md
- Implementation Details: IMPLEMENTATION_V3.md
- Preset Configurations: Config/ folder (.set files)
Notes
- Production EAs (v3.0) are recommended for all serious testing and live trading
- Legacy versions (Base, v1.2, v2) have known flaws - use for reference only
- Always test on demo before live trading
- Start with conservative settings and gradually optimize
- Monitor drawdown carefully during all testing phases
Version-Specific Testing Notes
ForexTrader_EA Base Version
⚠️ Not Recommended for Live Trading
- Has critical flaws (10x SL/TP error)
- Use only for educational/comparison purposes
- Test with small amounts if testing at all
ForexTrader_v1.2 Tuned By User
⚠️ Not Recommended for Live Trading
- Still has underlying flaws from base version
- User tuning improved some aspects but core issues remain
ForexTrader_v2 MultiStrategy
⚠️ Not Recommended for Live Trading
- Multi-strategy concept good but implementation flawed
- Same core issues as earlier versions
ForexTrader_v3_Production
✅ Production Ready
- All critical flaws fixed
- Comprehensive testing recommended
- Start with Conservative settings
- Best for beginners to intermediate traders
ForexTrader_v3_MultiStrategy_Production
✅ Production Ready
- Advanced multi-strategy with all fixes
- More complex but higher potential
- Requires understanding of multiple strategies
- Best for experienced traders
Quick Reference: Testing Commands
Load .set File in Tester
1. Strategy Tester → Expert Properties → Inputs → Load
2. Navigate to: Config/ForexTrader_v3_Conservative.set
3. Click Open
Run Single Symbol Test
1. Select EA
2. Choose Symbol (e.g., EURUSD)
3. Set Period (2023.01.01 - 2024.01.01)
4. Select Timeframe (M30)
5. Load Settings (.set file)
6. Model: Every tick
7. Start
Run Optimization
1. Select EA and Symbol
2. Check "Optimization"
3. Expert Properties → Enable parameters to optimize
4. Set ranges (refer to .ini file)
5. Choose algorithm (Fast genetic)
6. Set criteria (Balance or Profit Factor)
7. Start
Ready to test? Start with ForexTrader_v3_Production.ini and the Conservative .set file!
For questions or issues, please open a GitHub issue with:
- EA version
- Symbol and timeframe tested
- Test period
- Settings used
- Results or errors encountered