How do I enable or disable DCA in MagicTradeBot?

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.

📎 Related Topics