- 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>
7.9 KiB
📋 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
'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:
- Edit values in Cell 6
- Restart kernel
- Run all cells
2. Risk Management
'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
'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
'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
'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
'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
'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:
-
Open Jupyter Notebook
jupyter notebook TradingBot_V1.6_Adaptive_Complete_CORRECTED.ipynb -
Locate Cell 6
- Look for "CENTRALIZED TRADING CONFIGURATION" markdown
- Next cell contains
TRADING_CONFIGdictionary
-
Edit Values
- Example: Change lot size
'min_lot': 0.20, # Changed from 0.10 'max_lot': 0.30, # Changed from 0.20 -
Restart Kernel
- Menu: Kernel → Restart
- Or keyboard shortcut:
00(press 0 twice)
-
Run All Cells
- Menu: Cell → Run All
- Or run cells sequentially
-
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 usesTRADING_CONFIG['lot_sizing']['default_lot']max_risk = 0.01→ Now usesTRADING_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:
'lot_sizing': {
'min_lot': 0.20,
'max_lot': 0.30,
'default_lot': 0.20,
}
More Conservative Risk (1%):
'risk': {
'max_risk_per_trade': 0.01, # Changed from 0.02
}
Stricter Confidence (95%+):
'confidence': {
'base_threshold': 95, # Changed from 70
}
Disable News Filter (NOT RECOMMENDED):
'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:
git add -A
git commit -m "backup before config change"
🛠️ Helper Functions
Get Configuration Value:
get_config('lot_sizing', 'min_lot') # Returns: 0.10
get_config('risk') # Returns entire risk section
Update Configuration (Runtime Only):
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 analysisBOT_ANALYSIS_2026-01-10.md- Trading gap analysisNY_SESSION_FINETUNING.md- Session optimization
Scripts:
centralize_config.py- Created centralized configupdate_cells_to_use_config.py- Updated cells to use configupdate_lot_size.py- Old lot size updater (DEPRECATED)
✅ Verification Checklist
After changing configuration:
- Edited
TRADING_CONFIGin 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