Zenith-FX/MQL5/Experts/QuantumForexTrader/docs/TESTING_GUIDE.md
copilot-swe-agent[bot] 43b875366c Reorganize Quantum EA into proper MT5 directory structure
Co-authored-by: simonokwundue-ops <243668919+simonokwundue-ops@users.noreply.github.com>
2025-11-14 16:05:58 +00:00

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:

  1. Open MetaEditor (F4 in MT5)
  2. Open QuantumForexTrader_Scalper.mq5
  3. Click Compile (F7)
  4. 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:

  1. Attach EA to EUR/USD H1 chart
  2. Use default settings
  3. Check for smiley face ☺
  4. 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:

  1. Open Strategy Tester (Ctrl+R)
  2. Select: QuantumForexTrader_Scalper
  3. 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:

  1. EUR/USD (primary)
  2. GBP/USD (high volatility)
  3. 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:

  1. Consider live trading with small account
  2. Start with same conservative settings
  3. Monitor closely for first week
  4. Keep detailed trading log
  5. Review weekly performance
  6. Adjust parameters gradually based on results

If Tests Show Issues:

  1. ⚠️ DO NOT go live
  2. ⚠️ Review failed tests
  3. ⚠️ Adjust parameters
  4. ⚠️ Re-test thoroughly
  5. ⚠️ Seek help if needed
  6. ⚠️ 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!