From 8ebdf24ab00723b60c766d7d52dc8c01e7361de5 Mon Sep 17 00:00:00 2001 From: cbazza Date: Wed, 14 Jan 2026 13:32:42 +0100 Subject: [PATCH] docs: Add comprehensive configuration guide MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- CONFIGURATION_GUIDE.md | 347 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 347 insertions(+) create mode 100644 CONFIGURATION_GUIDE.md diff --git a/CONFIGURATION_GUIDE.md b/CONFIGURATION_GUIDE.md new file mode 100644 index 0000000..d650579 --- /dev/null +++ b/CONFIGURATION_GUIDE.md @@ -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)