Files
dbasket-EA/[agent]docs/QUICK_START.md
T

351 lines
7.9 KiB
Markdown
Raw Normal View History

2025-12-28 03:37:48 +05:30
# D-Basket EA - Quick Start Guide
## Installation
### 1. Copy Files to MT5
Copy the entire `MQL5` folder structure to your MetaTrader 5 data directory:
**Windows**: `C:\Users\[YourName]\AppData\Roaming\MetaQuotes\Terminal\[Instance]\MQL5\`
**File Structure**:
```
MQL5/
├── Experts/
│ └── DBasketEA.mq5
└── Include/
└── DBasket/
├── DBasket_Defines.mqh
├── DBasket_Structures.mqh
├── DBasket_Logger.mqh
├── DBasket_CorrelationEngine.mqh
├── DBasket_SignalEngine.mqh
├── DBasket_TradeWrapper.mqh
├── DBasket_PositionManager.mqh
└── DBasket_RiskManager.mqh
```
### 2. Compile in MetaEditor
1. Open MetaEditor (F4 in MT5)
2. Navigate to `Experts/DBasketEA.mq5`
3. Click Compile (F7)
4. Verify: **0 errors, 0 warnings**
### 3. Attach to Chart
1. Open AUDCAD chart (any timeframe, M15 or H1 recommended)
2. Drag `DBasketEA` from Navigator onto chart
3. Configure parameters (see below)
4. Enable AutoTrading (Ctrl+E)
---
## Essential Parameters
### Minimum Configuration
```
Symbol Suffix: [leave blank or enter broker suffix like ".m"]
Entry Z-Score: 2.5
Exit Z-Score: 0.5
Min Correlation: 0.75
Fixed Lot Size: 0.01
Max Drawdown: 15.0
Daily Loss Limit: 100.0
```
### Critical Settings
> ⚠️ **MUST CONFIGURE**
>
> - **Symbol Suffix**: If your broker uses suffixes (e.g., AUDCAD.m), enter it here
> - **Magic Number**: Change if running multiple EAs
> - **Max Drawdown**: Set according to your risk tolerance
---
## Pre-Flight Checklist
Before running the EA, verify:
- [ ]**Hedging account** (not netting) - EA will fail on netting accounts
- [ ] ✅ All 3 symbols available: AUDCAD, NZDCAD, AUDNZD
- [ ] ✅ AutoTrading enabled in MT5 (Ctrl+E)
- [ ] ✅ EA allowed to trade (Tools → Options → Expert Advisors)
- [ ] ✅ Sufficient margin for 3 positions
- [ ] ✅ Spreads reasonable (< 3 pips per symbol)
---
## First Backtest
### Strategy Tester Setup
1. **Symbol**: AUDCAD
2. **Timeframe**: M15 or H1
3. **Period**: 2023.01.01 - 2025.01.01 (1 year minimum)
4. **Model**: Every tick based on real ticks
5. **Deposit**: 10,000 (or your account size)
6. **Leverage**: 1:100 (or your broker's leverage)
### Expected Results
- **Trade Count**: 50-200 baskets per year (depends on parameters)
- **Win Rate**: Target > 65%
- **Profit Factor**: Target > 1.3
- **Max Drawdown**: Should stay below configured limit
### Visual Mode
Enable visual mode to see:
- When baskets open/close
- Z-score values in real-time
- Circuit breaker status
- Performance metrics on chart
---
## Understanding the Display
The EA shows real-time metrics on the chart:
```
=== D-Basket EA Risk Monitor ===
Status: NORMAL
Net P/L: $125.50 (1.3%)
Daily P/L: $45.20
Drawdown: 3.2% (Max: 5.8%)
Baskets: 12 | Win Rate: 75.0%
Consecutive Losses: 0
```
### Status Indicators
- **NORMAL**: Trading allowed, all systems operational
- **WARNING**: Risk levels elevated, warnings logged
- **HALTED**: Circuit breaker tripped, trading stopped
---
## Common Scenarios
### Scenario 1: EA Opens a Basket
**What happens**:
1. Z-score exceeds entry threshold (e.g., -2.7)
2. All 8 filters pass
3. EA opens 3 positions simultaneously:
- AUDNZD: BUY 0.01 lots
- AUDCAD: SELL 0.01 lots
- NZDCAD: BUY 0.01 lots
**What to check**:
- All 3 positions opened successfully
- Magic number matches on all positions
- Comment shows basket ID (e.g., "DBasket_1")
### Scenario 2: EA Closes a Basket
**What happens**:
1. Z-score returns to exit threshold (e.g., -0.3)
2. EA closes all 3 positions
3. P&L is recorded and metrics updated
**What to check**:
- All 3 positions closed
- Win/loss recorded correctly
- Metrics updated on chart
### Scenario 3: Circuit Breaker Trips
**What happens**:
1. Drawdown reaches 15% (or configured limit)
2. EA status changes to "HALTED"
3. No new baskets will open
4. Existing basket may be closed (emergency exit)
**What to do**:
- Review what caused the drawdown
- Check if parameters need adjustment
- Manually reset circuit breaker if appropriate
- Consider reducing risk parameters
---
## Troubleshooting
### EA Not Opening Trades
**Check**:
1. Circuit breaker status (should be NORMAL)
2. Current z-score (use visual mode to see)
3. Correlation level (must be > min threshold)
4. Spreads (must be < max threshold)
5. Trading hours (must be within configured window)
6. Logs for filter rejection reasons
### Partial Basket Opened
**What happened**:
- One or two legs opened, but not all three
- EA automatically rolled back (closed opened positions)
**Check**:
- Logs for error messages
- Broker execution quality
- Margin availability
- Symbol tradability
### High Drawdown
**Actions**:
1. Stop EA immediately
2. Review recent trades
3. Check if correlation broke down
4. Consider more conservative parameters:
- Increase entry z-score (e.g., 3.0)
- Increase min correlation (e.g., 0.80)
- Reduce lot size
- Lower max drawdown limit
---
## Parameter Optimization
### Optimization Ranges
Use Strategy Tester's optimization feature:
| Parameter | Min | Max | Step |
|-----------|-----|-----|------|
| Entry Z-Score | 2.0 | 3.5 | 0.25 |
| Exit Z-Score | 0.3 | 1.0 | 0.1 |
| Min Correlation | 0.70 | 0.85 | 0.05 |
| Lookback Period | 150 | 350 | 50 |
### Optimization Criterion
The EA's `OnTester()` function returns a custom score:
```
score = (profit / drawdown) × profit_factor × win_rate
```
This prioritizes:
- Risk-adjusted returns
- Consistent profitability
- High win rate
---
## Risk Management
### Circuit Breaker Triggers
| Condition | Warning | Trip |
|-----------|---------|------|
| Drawdown | 8% | 15% |
| Daily Loss | - | $100 or 5% |
| Margin Level | 500% | 200% |
| Consecutive Losses | - | 6 |
### Manual Intervention
**When to intervene**:
- Circuit breaker trips repeatedly
- Win rate drops below 50%
- Correlation between pairs breaks down
- Broker execution quality degrades
**How to intervene**:
1. Stop EA
2. Close any open baskets manually
3. Review parameters
4. Restart with adjusted settings
---
## Best Practices
### 1. Start Small
- Begin with minimum lot size (0.01)
- Test on demo account for 1+ month
- Gradually increase lot size after validation
### 2. Monitor Daily
- Check circuit breaker status
- Review daily P&L
- Verify correlation remains stable
- Check for error logs
### 3. Regular Optimization
- Reoptimize parameters quarterly
- Use walk-forward analysis
- Compare live results to backtest
### 4. Broker Selection
- Choose broker with tight spreads
- Ensure hedging is allowed
- Verify fast execution (< 500ms)
- Check commission structure
---
## Support
### Log Files
Enable file logging for detailed records:
```
Log Level: INFO (or DEBUG for troubleshooting)
Log to File: true
```
Logs saved to: `MQL5/Files/DBasket_[date].log`
### Documentation
- **README.md** - User guide and installation
- **TECHNICAL_DOCUMENTATION.md** - Architecture and diagrams
- **DEVELOPMENT_SUMMARY.md** - Project overview
### Common Questions
**Q: Can I run this on a netting account?**
A: No, hedging account is mandatory. The EA will fail initialization on netting accounts.
**Q: How many trades per week?**
A: Typically 2-10 signals per week at default parameters. Depends on market volatility.
**Q: What's the minimum account size?**
A: Recommended minimum $1,000 for 0.01 lot size with proper risk management.
**Q: Can I run multiple instances?**
A: Yes, but use different magic numbers for each instance.
---
## Next Steps
1. ✅ Install and compile EA
2. ⏳ Run backtest on 1 year of data
3. ⏳ Optimize parameters
4. ⏳ Deploy to demo account
5. ⏳ Monitor for 1+ month
6. ⏳ Consider live deployment
---
## 📄 License & Copyright
**Copyright © 2025 Dineth Pramodya**
**Website**: [www.dineth.lk](https://www.dineth.lk)
**All rights reserved.**
---
*Last Updated: December 28, 2025*
*Developed by: Dineth Pramodya*
*For detailed technical information, see TECHNICAL_DOCUMENTATION.md*