docs: Add comprehensive configuration guide
- Complete guide for centralized TRADING_CONFIG - Step-by-step instructions for changing settings - Common configuration examples - Safety warnings and best practices - Verification checklist 🎯 Generated with Claude Code Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,347 @@
|
||||
# 📋 Trading Bot Configuration Guide
|
||||
|
||||
**Version:** 1.6 Adaptive Complete
|
||||
**Last Updated:** 2026-01-14
|
||||
**Status:** ✅ Centralized Configuration Active
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Overview
|
||||
|
||||
All trading bot settings are now centralized in **Cell 6** of the Jupyter Notebook (`TRADING_CONFIG` dictionary). This eliminates scattered hardcoded values and provides a single source of truth for all configuration.
|
||||
|
||||
---
|
||||
|
||||
## 📍 Configuration Location
|
||||
|
||||
**File:** `TradingBot_V1.6_Adaptive_Complete_CORRECTED.ipynb`
|
||||
**Cell:** Cell 6 (Code Cell after "CENTRALIZED TRADING CONFIGURATION" markdown)
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Configuration Structure
|
||||
|
||||
### 1. **Lot Sizing & Position Management**
|
||||
|
||||
```python
|
||||
'lot_sizing': {
|
||||
'min_lot': 0.10, # Minimum lot size
|
||||
'max_lot': 0.20, # Maximum lot size
|
||||
'default_lot': 0.10, # Fallback lot size
|
||||
'use_adaptive': True, # Use adaptive position sizing
|
||||
}
|
||||
```
|
||||
|
||||
**What it controls:**
|
||||
- All volume calculations in `execute_trade_v2_adaptive()`
|
||||
- Position sizing in `calculate_position_size()`
|
||||
- Fallback values when calculations fail
|
||||
|
||||
**How to change:**
|
||||
1. Edit values in Cell 6
|
||||
2. Restart kernel
|
||||
3. Run all cells
|
||||
|
||||
---
|
||||
|
||||
### 2. **Risk Management**
|
||||
|
||||
```python
|
||||
'risk': {
|
||||
'max_risk_per_trade': 0.02, # 2% max risk per trade
|
||||
'max_positions': 1, # Maximum concurrent positions
|
||||
'max_daily_loss': 0.05, # 5% max daily loss
|
||||
}
|
||||
```
|
||||
|
||||
**What it controls:**
|
||||
- Maximum risk amount per trade
|
||||
- How many positions can be open simultaneously
|
||||
- Daily loss limits
|
||||
|
||||
**Recommended values:**
|
||||
- Conservative: `max_risk_per_trade: 0.01` (1%)
|
||||
- Moderate: `max_risk_per_trade: 0.02` (2%)
|
||||
- Aggressive: `max_risk_per_trade: 0.03` (3%)
|
||||
|
||||
---
|
||||
|
||||
### 3. **Confidence Thresholds**
|
||||
|
||||
```python
|
||||
'confidence': {
|
||||
'base_threshold': 70, # Base confidence threshold (all sessions)
|
||||
'ny_threshold': 70, # NY session threshold
|
||||
'asian_threshold': 70, # Asian session threshold
|
||||
'london_threshold': 70, # London session threshold
|
||||
}
|
||||
```
|
||||
|
||||
**What it controls:**
|
||||
- Minimum confidence required to open trades
|
||||
- Session-specific fine-tuning
|
||||
- Signal quality filtering
|
||||
|
||||
**Current settings:**
|
||||
- All sessions: 70% (relaxed for more trading opportunities)
|
||||
- Previously NY was 97% (too strict, reduced trade volume)
|
||||
|
||||
---
|
||||
|
||||
### 4. **ATR & Stop Loss**
|
||||
|
||||
```python
|
||||
'atr': {
|
||||
'base_multiplier': 1.5, # Base ATR multiplier for SL/TP
|
||||
'period': 14, # ATR calculation period
|
||||
}
|
||||
```
|
||||
|
||||
**What it controls:**
|
||||
- Stop loss distance (price ± ATR * multiplier)
|
||||
- Take profit distance (price ± ATR * multiplier * 2.5)
|
||||
- Dynamic adjustment based on market regime
|
||||
|
||||
---
|
||||
|
||||
### 5. **News Filter**
|
||||
|
||||
```python
|
||||
'news_filter': {
|
||||
'enabled': True, # Enable/disable news filter
|
||||
'minutes_before': 30, # Minutes before event to block
|
||||
'minutes_after': 30, # Minutes after event to block
|
||||
}
|
||||
```
|
||||
|
||||
**What it controls:**
|
||||
- Trading blocks around high-impact news events
|
||||
- Protection from volatile news-driven price spikes
|
||||
|
||||
**Status:** ✅ Active and working (blocked NFP on 09.01.2026)
|
||||
|
||||
---
|
||||
|
||||
### 6. **Session Settings**
|
||||
|
||||
```python
|
||||
'sessions': {
|
||||
'asian_enabled': True,
|
||||
'london_enabled': False, # Currently disabled
|
||||
'ny_enabled': True,
|
||||
'overlap_enabled': False, # Currently disabled
|
||||
}
|
||||
```
|
||||
|
||||
**What it controls:**
|
||||
- Which trading sessions are active
|
||||
- Asian: Best performance (93.09% avg confidence)
|
||||
- NY: Good performance (92.49% avg confidence)
|
||||
- London/Overlap: Disabled due to lower performance
|
||||
|
||||
---
|
||||
|
||||
### 7. **Trading Symbols**
|
||||
|
||||
```python
|
||||
'symbols': {
|
||||
'primary': 'XAUUSD', # Primary trading symbol (Gold)
|
||||
'alternative': [], # Alternative symbols (if needed)
|
||||
}
|
||||
```
|
||||
|
||||
**What it controls:**
|
||||
- Default trading symbol
|
||||
- Can be extended for multi-symbol trading
|
||||
|
||||
---
|
||||
|
||||
## 🔄 How to Change Settings
|
||||
|
||||
### Step-by-Step Process:
|
||||
|
||||
1. **Open Jupyter Notebook**
|
||||
```
|
||||
jupyter notebook TradingBot_V1.6_Adaptive_Complete_CORRECTED.ipynb
|
||||
```
|
||||
|
||||
2. **Locate Cell 6**
|
||||
- Look for "CENTRALIZED TRADING CONFIGURATION" markdown
|
||||
- Next cell contains `TRADING_CONFIG` dictionary
|
||||
|
||||
3. **Edit Values**
|
||||
- Example: Change lot size
|
||||
```python
|
||||
'min_lot': 0.20, # Changed from 0.10
|
||||
'max_lot': 0.30, # Changed from 0.20
|
||||
```
|
||||
|
||||
4. **Restart Kernel**
|
||||
- Menu: Kernel → Restart
|
||||
- Or keyboard shortcut: `00` (press 0 twice)
|
||||
|
||||
5. **Run All Cells**
|
||||
- Menu: Cell → Run All
|
||||
- Or run cells sequentially
|
||||
|
||||
6. **Verify Changes**
|
||||
- Check output: "Lot Sizing: 0.20 - 0.30 lots"
|
||||
- Monitor next trade to confirm new lot size
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Important Notes
|
||||
|
||||
### DO NOT Edit These Cells Directly:
|
||||
- **Cell 25:** `calculate_position_size()` - now reads from config
|
||||
- **Cell 27:** `execute_trade_v2_adaptive()` - now reads from config
|
||||
- **Cell 49:** `ADAPTIVE_COMPLETE_CONFIG` - deprecated, references config
|
||||
|
||||
### If You See Hardcoded Values:
|
||||
These are **OUTDATED** and should be ignored:
|
||||
- `volume = 0.10` → Now uses `TRADING_CONFIG['lot_sizing']['default_lot']`
|
||||
- `max_risk = 0.01` → Now uses `TRADING_CONFIG['risk']['max_risk_per_trade']`
|
||||
|
||||
---
|
||||
|
||||
## 📊 Current Configuration Status
|
||||
|
||||
**As of 2026-01-14:**
|
||||
|
||||
| Setting | Value | Status |
|
||||
|---------|-------|--------|
|
||||
| Min Lot | 0.10 | ✅ Active |
|
||||
| Max Lot | 0.20 | ✅ Active |
|
||||
| Default Lot | 0.10 | ✅ Active |
|
||||
| Max Risk | 2% | ✅ Active |
|
||||
| Max Positions | 1 | ✅ Active |
|
||||
| Confidence Threshold | 70% | ✅ Active |
|
||||
| News Filter | Enabled | ✅ Active |
|
||||
| Asian Session | Enabled | ✅ Active |
|
||||
| NY Session | Enabled | ✅ Active |
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Common Configuration Changes
|
||||
|
||||
### Increase Lot Size to 0.20:
|
||||
```python
|
||||
'lot_sizing': {
|
||||
'min_lot': 0.20,
|
||||
'max_lot': 0.30,
|
||||
'default_lot': 0.20,
|
||||
}
|
||||
```
|
||||
|
||||
### More Conservative Risk (1%):
|
||||
```python
|
||||
'risk': {
|
||||
'max_risk_per_trade': 0.01, # Changed from 0.02
|
||||
}
|
||||
```
|
||||
|
||||
### Stricter Confidence (95%+):
|
||||
```python
|
||||
'confidence': {
|
||||
'base_threshold': 95, # Changed from 70
|
||||
}
|
||||
```
|
||||
|
||||
### Disable News Filter (NOT RECOMMENDED):
|
||||
```python
|
||||
'news_filter': {
|
||||
'enabled': False, # Changed from True
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📈 Performance Impact
|
||||
|
||||
### Current Settings (0.10 lot, 2% risk):
|
||||
- **Daily Trades:** ~14.8 trades/day
|
||||
- **Win Rate:** TBD (need P&L data)
|
||||
- **Avg Confidence:** 92.90%
|
||||
- **Sessions:** 67.6% Asian, 32.4% NY
|
||||
|
||||
### If Increased to 0.20 lot:
|
||||
- Profit/Loss will **double**
|
||||
- Risk will **double**
|
||||
- Same number of trades
|
||||
- Same win rate
|
||||
|
||||
---
|
||||
|
||||
## 🚨 Safety Warnings
|
||||
|
||||
### NEVER Change During Active Trading:
|
||||
- Wait for all positions to close
|
||||
- Changes take effect after kernel restart
|
||||
- Old positions use old settings
|
||||
|
||||
### Test Before Live Trading:
|
||||
- Change settings
|
||||
- Restart kernel
|
||||
- Run all cells
|
||||
- Verify output
|
||||
- Monitor first trade carefully
|
||||
|
||||
### Backup Before Major Changes:
|
||||
```bash
|
||||
git add -A
|
||||
git commit -m "backup before config change"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Helper Functions
|
||||
|
||||
### Get Configuration Value:
|
||||
```python
|
||||
get_config('lot_sizing', 'min_lot') # Returns: 0.10
|
||||
get_config('risk') # Returns entire risk section
|
||||
```
|
||||
|
||||
### Update Configuration (Runtime Only):
|
||||
```python
|
||||
update_config('lot_sizing', 'min_lot', 0.15)
|
||||
# ✅ Updated: lot_sizing.min_lot = 0.15
|
||||
# NOTE: Does not save to notebook, only runtime change
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📞 Support & Documentation
|
||||
|
||||
**Related Files:**
|
||||
- `PERFORMANCE_REPORT_JAN_2026.md` - Performance analysis
|
||||
- `BOT_ANALYSIS_2026-01-10.md` - Trading gap analysis
|
||||
- `NY_SESSION_FINETUNING.md` - Session optimization
|
||||
|
||||
**Scripts:**
|
||||
- `centralize_config.py` - Created centralized config
|
||||
- `update_cells_to_use_config.py` - Updated cells to use config
|
||||
- `update_lot_size.py` - Old lot size updater (DEPRECATED)
|
||||
|
||||
---
|
||||
|
||||
## ✅ Verification Checklist
|
||||
|
||||
After changing configuration:
|
||||
|
||||
- [ ] Edited `TRADING_CONFIG` in Cell 6
|
||||
- [ ] Restarted kernel
|
||||
- [ ] Ran Cell 6 (config cell)
|
||||
- [ ] Ran all other cells
|
||||
- [ ] Verified output shows new settings
|
||||
- [ ] Checked no error messages
|
||||
- [ ] Monitored first trade with new settings
|
||||
- [ ] Committed changes to Git
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** 2026-01-14
|
||||
**Author:** Trading Bot V1.6 Adaptive Complete
|
||||
**Status:** ✅ Production Ready
|
||||
|
||||
🎯 Generated with [Claude Code](https://claude.com/claude-code)
|
||||
Reference in New Issue
Block a user