MagicTradeBot allows you to control DCA (Dollar Cost Averaging) separately for:
1️⃣ Normal signal-based trades 2️⃣ Market volatility-based auto trades (Market Watcher)
This gives you full flexibility to apply DCA only where it makes strategic sense.
1️⃣ Enable / Disable DCA for Normal Trades (Signal-Based)
For trades created through strategy signal detection, DCA is controlled via:
settings/dca.yaml
Inside this file, you will find the master switch:
# Master switch to enable or disable the DCA engine
enabled: false # true = enable DCA, false = disable DCA entirely
✅ If set to true
enabled: true
- DCA engine becomes active
- Additional DCA orders are placed according to your configuration
- Max Orders and multipliers are applied
- Automatic budget distribution logic is used
- Average entry recalculation becomes active
❌ If set to false
enabled: false
- DCA is completely disabled
- Only the initial trade order is placed
- No averaging will occur
- Trade behaves as a single-entry position
This is useful for:
- Strong trending markets
- Conservative strategies
- Testing new signal logic
2️⃣ Enable / Disable DCA for Market Volatility-Based Auto Trades
For trades automatically triggered by the Market Watcher during high volatility, DCA is controlled separately.
Open:
settings/market_watch.yaml
Locate the built-in DCA configuration section:
# --------------------------------------------------------
# Built-in DCA Configuration for Auto-Trading
# --------------------------------------------------------
# Applies only to auto-trades triggered by volatility.
# --------------------------------------------------------
DCASettings:
enabled: false
🔄 How This Works
This DCA configuration applies only to auto-trades created when:
- Volatility threshold is reached
- Market Watcher detects opportunity
- Auto-trading conditions are satisfied
✅ If set to true
DCASettings:
enabled: true
- DCA will apply to auto-trades
- Volatility-driven entries will scale positions if price moves against them
- Recovery logic becomes active during pullbacks
❌ If set to false
DCASettings:
enabled: false
- Auto-trades will execute as single-entry positions
- No averaging logic will be used
- Exposure remains limited to initial auto-trade size
🧠 Why Separate Controls Exist
MagicTradeBot separates DCA controls because:
- Signal-based trades are strategy-driven
- Auto-trades are volatility-driven
- Risk profiles may differ between the two
- Some traders prefer DCA for signals but not for volatility spikes (or vice versa)
This provides advanced flexibility and professional-level trade management.
🔐 Important Risk Reminder
Before enabling DCA (in either file), ensure:
- Max Orders are defined properly
- Multiplier is reasonable
- Capital allocation per trade is safe
- MaxLossPerTrade rule is configured
- Strategy has been backtested
Even small misconfiguration can significantly increase exposure during strong trends.
🏁 Final Summary
To control DCA in MagicTradeBot:
🔹 For Normal Signal Trades:
Edit:
settings/dca.yaml
enabled: true / false
🔹 For Market Volatility Auto Trades:
Edit:
settings/market_watch.yaml
DCASettings:
enabled: true / false
This dual-control architecture allows you to precisely define where and how DCA is applied within your trading system.