12 KiB
Quantum Forex Trader - Testing & Validation Guide
Purpose
This guide helps you systematically test and validate the Quantum Forex Trader EA before using it in live trading.
Testing Phases
Phase 1: Compilation Testing (5 minutes)
Objective: Ensure EA compiles without errors
Steps:
- Open MetaEditor (F4 in MT5)
- Open QuantumForexTrader_Scalper.mq5
- Click Compile (F7)
- Check results
Expected Results:
Compiling 'QuantumForexTrader_Scalper.mq5'...
Including: QuantumSignals.mqh
Including: QuantumAnalysis.mqh
Including: BinaryEncoder.mqh
Including: QuantumRiskManager.mqh
Result: 0 error(s), 0 warning(s)
Successfully compiled in XXX ms
Pass Criteria:
- ✅ 0 errors
- ✅ 0 warnings
- ✅ .ex5 file generated
If Failed:
- Check all .mqh files are present
- Verify file paths in #include statements
- Review error messages and fix syntax issues
Phase 2: Initialization Testing (10 minutes)
Objective: Verify EA initializes correctly
Setup:
- Symbol: EUR/USD
- Timeframe: H1
- Account: Demo with $10,000
- Settings: Default (conservative)
Steps:
- Attach EA to EUR/USD H1 chart
- Use default settings
- Check for smiley face ☺
- Review Experts log
Expected Log Output:
=== Quantum Forex Trader Initializing ===
Symbol: EURUSD
Timeframe: H1
Account Balance: 10000.00
Account Equity: 10000.00
Account Leverage: 100
=== Configuration ===
History Bars: 256
Confidence Threshold: 3.0%
Momentum Threshold: 0.1
Risk Per Trade: 1.0%
Max Drawdown: 20.0%
Stop Loss: 50.0 pips
Take Profit: 100.0 pips
=== Quantum Forex Trader Initialized Successfully ===
Pass Criteria:
- ✅ Smiley face appears on chart
- ✅ Initialization success message in log
- ✅ No error messages
- ✅ All parameters displayed correctly
If Failed:
- Check "Allow Algo Trading" is enabled
- Verify account has sufficient balance
- Check symbol is available and tradeable
Phase 3: Signal Generation Testing (1-2 hours)
Objective: Verify EA generates signals
Setup:
- Symbol: EUR/USD
- Timeframe: H1
- Settings: Moderate (more signals)
- InpConfidenceThreshold: 0.02
- InpMomentumThreshold: 0.08
Monitoring: Watch Experts log for signal messages:
=== BUY SIGNAL DETECTED ===
Signal Type: BUY
Confidence: 3.50%
Momentum: 0.12
Trend: BULL
Time: 2025.01.15 10:30
Pass Criteria:
- ✅ Signals generated within 1-2 hours
- ✅ Signal info displays correctly
- ✅ Confidence and momentum values reasonable
- ✅ No error messages during signal generation
Notes:
- If no signals after 2 hours, this may be normal (market conditions)
- Check different pairs or timeframes
- Lower thresholds if needed for testing
Phase 4: Trade Execution Testing (Demo Account, 1 week)
Objective: Verify EA opens and manages trades correctly
Setup:
- Account: Demo $10,000
- Symbol: EUR/USD
- Timeframe: H1
- Settings: Conservative
- InpRiskPercent: 0.5%
- InpMaxPositions: 1
What to Check:
A. Position Opening
- ✅ Positions open automatically when signals generated
- ✅ Lot size calculated correctly (~0.01-0.05 for $10k, 0.5% risk)
- ✅ Stop loss set correctly (50 pips from entry)
- ✅ Take profit set correctly (100 pips from entry)
- ✅ Magic number matches setting (777777)
B. Risk Management
- ✅ Only opens positions when conditions met
- ✅ Respects max position limit
- ✅ Doesn't exceed risk per trade
- ✅ Stops trading if drawdown exceeds limit
- ✅ Checks spread before opening
C. Trade Logging
Expected log messages:
Opening BUY position with lot size: 0.03
Buy position opened: EURUSD Lot: 0.03 SL: 1.08500 TP: 1.09500
=== Trade Transaction ===
Deal: 12345678
Symbol: EURUSD
Type: DEAL_TYPE_BUY
Volume: 0.03
Price: 1.09000
Pass Criteria:
- ✅ All trades logged with details
- ✅ SL/TP values correct
- ✅ Position sizes appropriate for risk setting
- ✅ No unexpected errors
- ✅ Risk limits enforced
Phase 5: Strategy Tester Validation (2-3 hours)
Objective: Backtest EA on historical data
Setup:
- Open Strategy Tester (Ctrl+R)
- Select: QuantumForexTrader_Scalper
- Settings:
- Symbol: EURUSD
- Period: H1
- Model: Every tick (most accurate)
- Date: 2024.01.01 to 2024.12.31 (1 year)
- Deposit: 10000
- Leverage: 100
- Optimization: Disabled (for now)
Parameters: Conservative
- InpRiskPercent: 1.0
- InpMaxPositions: 1
- InpStopLossPips: 50
- InpTakeProfitPips: 100
Expected Results (Approximate):
- Total Trades: 50-200
- Win Rate: 45-60%
- Profit Factor: 1.2-2.0
- Max Drawdown: 5-15%
- Sharpe Ratio: 0.5-1.5
Pass Criteria:
- ✅ Backtest completes without errors
- ✅ Reasonable number of trades
- ✅ Win rate > 40%
- ✅ Profit factor > 1.0
- ✅ Max drawdown < 20%
- ✅ No abnormal behavior (e.g., 100+ concurrent positions)
Red Flags (Investigate if you see):
- ❌ Win rate < 30%
- ❌ Profit factor < 0.8
- ❌ Max drawdown > 30%
- ❌ Hundreds of trades per day
- ❌ Very large losses on single trades
Phase 6: Multi-Symbol Testing (1 week)
Objective: Test EA on multiple currency pairs
Symbols to Test:
- EUR/USD (primary)
- GBP/USD (high volatility)
- USD/JPY (stable)
Setup:
- One chart per symbol
- Attach EA to each
- Use same conservative settings
- Monitor for 1 week
Pass Criteria:
- ✅ EA functions correctly on all pairs
- ✅ Different results per pair (expected)
- ✅ No correlation issues
- ✅ Total risk managed properly
- ✅ No unexpected interactions between instances
Phase 7: Parameter Sensitivity Testing (Optional, 2-3 hours)
Objective: Understand how parameters affect performance
Method: Change one parameter at a time in Strategy Tester
Test A: Confidence Threshold
Test values: 0.01, 0.03, 0.05, 0.07
- Lower = more signals, possibly lower quality
- Higher = fewer signals, possibly higher quality
Test B: Risk Percent
Test values: 0.5%, 1.0%, 2.0%
- Lower = safer but slower growth
- Higher = faster growth but more risk
Test C: Stop Loss/Take Profit
Test combinations:
- 40/80 pips (tighter)
- 50/100 pips (default)
- 60/120 pips (wider)
Document Results: Create a table comparing performance metrics for each setting.
Phase 8: Stress Testing (1 week)
Objective: Test EA under adverse conditions
Test A: High Volatility Period
- Use backtest data during major news events
- Example: NFP release, FOMC meetings
- Check how EA handles spread widening
- Verify risk management holds
Test B: Low Volatility Period
- Use backtest data during quiet periods
- Example: Holiday periods, Asian sessions
- Check if EA trades (or correctly doesn't)
- Verify no false signals
Test C: Trend Reversal
- Find period with major trend change
- Check EA adapts correctly
- Verify signals change appropriately
Pass Criteria:
- ✅ EA doesn't overtrade during volatility
- ✅ Risk management prevents large losses
- ✅ EA adapts to market changes
- ✅ No crashes or hangs
Testing Checklist
Use this checklist to track your testing progress:
Compilation
- EA compiles without errors
- All include files found
- .ex5 file generated
- No warnings
Initialization
- EA attaches to chart successfully
- Smiley face appears
- Initialization messages correct
- All parameters loaded
Signal Generation
- Signals generated appropriately
- Signal details logged
- Confidence/momentum calculated
- No signal generation errors
Trade Execution
- Trades open automatically
- Lot sizes correct
- SL/TP set properly
- Magic number correct
- Trade logging works
Risk Management
- Risk per trade enforced
- Max positions enforced
- Drawdown protection works
- Spread filter active
- Position sizing accurate
Strategy Tester
- Backtest runs completely
- Results reasonable
- No abnormal behavior
- Performance metrics acceptable
- Report generated
Multi-Symbol
- Works on EUR/USD
- Works on GBP/USD
- Works on USD/JPY
- No interaction issues
- Total risk managed
Documentation
- User manual reviewed
- Quick start followed
- All parameters understood
- Troubleshooting guide referenced
- FAQ consulted
Performance Benchmarks
Minimum Acceptable Performance
- Win Rate: > 40%
- Profit Factor: > 1.0
- Max Drawdown: < 25%
- Recovery Factor: > 2.0
- Sharpe Ratio: > 0.3
Good Performance
- Win Rate: > 50%
- Profit Factor: > 1.3
- Max Drawdown: < 15%
- Recovery Factor: > 3.0
- Sharpe Ratio: > 0.8
Excellent Performance
- Win Rate: > 60%
- Profit Factor: > 1.8
- Max Drawdown: < 10%
- Recovery Factor: > 5.0
- Sharpe Ratio: > 1.2
Common Issues During Testing
Issue: No signals generated
Possible Causes:
- Market conditions don't meet criteria
- Thresholds too high
- Not enough historical data
Solutions:
- Wait longer (signals may be infrequent)
- Lower confidence/momentum thresholds
- Check sufficient bars available
- Try different timeframe
Issue: Too many trades
Possible Causes:
- Thresholds too low
- High market volatility
- Short signal interval
Solutions:
- Increase confidence threshold
- Increase momentum threshold
- Enable time filter
- Increase signal check interval
Issue: Large losses
Possible Causes:
- Risk per trade too high
- Stop loss too wide
- Market conditions very adverse
Solutions:
- Reduce risk to 0.5%
- Review stop loss distance
- Check backtest period
- Ensure spread filter working
Issue: EA stops trading
Possible Causes:
- Drawdown limit reached
- Max positions reached
- Account equity insufficient
Solutions:
- Check drawdown percentage
- Review position count
- Verify account balance
- Check for error messages
Final Validation Checklist
Before going live, verify:
- Tested on demo for minimum 2 weeks
- Backtest shows positive results over 6+ months
- All testing phases completed successfully
- Understanding of all parameters
- Risk management validated
- No unexpected behavior observed
- Documentation reviewed thoroughly
- Emergency procedures understood
- Demo results meet expectations
- Starting with conservative settings
Post-Testing Recommendations
If All Tests Pass:
- ✅ Consider live trading with small account
- ✅ Start with same conservative settings
- ✅ Monitor closely for first week
- ✅ Keep detailed trading log
- ✅ Review weekly performance
- ✅ Adjust parameters gradually based on results
If Tests Show Issues:
- ⚠️ DO NOT go live
- ⚠️ Review failed tests
- ⚠️ Adjust parameters
- ⚠️ Re-test thoroughly
- ⚠️ Seek help if needed
- ⚠️ Consider different approach
Testing Log Template
Use this template to document your testing:
QUANTUM FOREX TRADER - TESTING LOG
Test Date: ___________
Tester Name: ___________
Account Type: Demo / Live
Initial Balance: $___________
PHASE 1: COMPILATION
Status: Pass / Fail
Errors: ___________
Notes: ___________
PHASE 2: INITIALIZATION
Status: Pass / Fail
Issues: ___________
Notes: ___________
PHASE 3: SIGNAL GENERATION
Duration: ___ hours
Signals Generated: ___
Status: Pass / Fail
Notes: ___________
PHASE 4: TRADE EXECUTION
Duration: ___ days
Trades Opened: ___
Trades Closed: ___
Win Rate: ___%
Max Drawdown: ___%
Status: Pass / Fail
Notes: ___________
PHASE 5: STRATEGY TESTER
Period Tested: ___________
Total Trades: ___
Win Rate: ___%
Profit Factor: ___
Max Drawdown: ___%
Sharpe Ratio: ___
Status: Pass / Fail
Notes: ___________
OVERALL ASSESSMENT:
Ready for Live: Yes / No
Recommended Settings: ___________
Action Items: ___________
Additional Notes: ___________
Summary
Thorough testing is essential before live trading. Follow all phases systematically, document results, and only proceed to live trading when confident in EA performance. Remember:
- Testing takes time - don't rush
- Demo results don't guarantee live results
- Start conservatively
- Monitor continuously
- Adjust based on real performance
Good luck with your testing!