DCA Troubleshooting

Common issues and solutions for Dollar Cost Averaging (DCA) in Signal Bots, Trading Bots, and Manual Trading Bots.

DCA Entries Not Triggering

Signal Bots

Symptom: Webhook signals are sent but DCA entries aren't executing.

Possible Causes:

  1. DCA not enabled

    • Go to bot settings and verify DCA is toggled on
    • Check that DCA was enabled before sending signals
  2. Max levels reached

    • Check current DCA level in bot dashboard
    • If at max, no more entries will be added
    • Increase max levels or close position to reset
  3. Invalid signal format

    // Wrong - missing dca field
    {"action": "buy", "symbol": "BTCUSDT"}
    
    // Correct
    {"action": "buy", "symbol": "BTCUSDT", "dca": true}
    
  4. Bot is paused or disabled

    • Check bot status in dashboard
    • Resume or enable the bot

Solution:

  • Verify DCA is enabled in bot settings
  • Check current level vs max levels
  • Validate webhook payload format
  • Ensure bot is active

Trading Bots

Symptom: Strategy should be adding DCA entries but isn't.

Possible Causes:

  1. DCA disabled by user

    • Even if strategy supports DCA, user can disable it
    • Check DCA settings in bot configuration
  2. Strategy conditions not met

    • Review strategy logs for DCA trigger conditions
    • Price may not have moved enough to trigger
  3. Max levels reached

    • Strategy respects max level limits
    • Check current level in bot dashboard
  4. Insufficient balance

    • Not enough margin for additional entry
    • Check available balance on exchange

Solution:

  • Enable DCA in bot settings
  • Review strategy spin logs
  • Check balance and margin requirements
  • Wait for strategy conditions to be met

Manual Trading Bots

Symptom: DCA tracking not working for manual trades.

Possible Causes:

  1. DCA not enabled for bot

    • Manual bots have optional DCA settings
    • Go to bot settings and enable DCA
  2. Trading without bot selected

    • If you trade with "Direct Trade (No Bot)", DCA isn't tracked
    • Ensure your Manual Bot is selected in the bot dropdown
  3. Wrong symbol

    • DCA tracks entries per symbol
    • Verify you're trading the same symbol as previous entries
  4. Max levels reached

    • Check current DCA level in bot dashboard
    • Increase max levels or close position to reset

Solution:

  • Select your Manual Bot before trading
  • Enable DCA in bot's settings
  • Trade the same symbol for DCA to track properly
  • Check current level vs max levels

Incorrect Average Entry Price

Symptom

Average entry price doesn't match expected calculation.

Possible Causes

  1. Partial fills

    • Some entries may have partially filled
    • Check actual fill amounts vs requested
  2. Fee impact

    • Trading fees affect actual entry prices
    • Average may include fee adjustments
  3. Price slippage

    • Market orders may fill at different prices
    • Check actual execution price vs signal price
  4. Missing entries

    • An entry may have failed to execute
    • Review trade history for all DCA entries

How to Verify

Calculate manually:

Average = (Price1 * Size1 + Price2 * Size2 + ...) / (Size1 + Size2 + ...)

Example:
Entry 1: $50,000 x 0.1 BTC = $5,000
Entry 2: $48,000 x 0.1 BTC = $4,800
Entry 3: $46,000 x 0.1 BTC = $4,600

Total Cost: $14,400
Total Size: 0.3 BTC
Average: $14,400 / 0.3 = $48,000

Solution

  • Review trade history for actual fill prices and sizes
  • Account for fees in calculations
  • Verify all entries executed successfully

Stop-Loss Not Updating

Symptom

Stop-loss stays at original price despite new DCA entries.

Possible Causes

  1. Stop-loss mode is "Static" or "None"

    • Static mode intentionally keeps original stop
    • None mode doesn't manage stops automatically
  2. Strategy doesn't support dynamic stops

    • Check strategy documentation
    • Verify dcaConfig includes stop-loss management
  3. Exchange limitations

    • Some exchanges have stop-loss update restrictions
    • Check exchange API status
  4. Error during update

    • Stop update may have failed silently
    • Check bot logs for errors

Solution

  1. Check stop-loss mode:

    • Go to bot settings or strategy configuration
    • Verify mode is Average, Breakeven, Trailing, or ATR
  2. Review logs:

    • Look for stop-loss update attempts
    • Check for exchange errors
  3. Manual override:

    • If automatic updates fail, set stop manually
    • Update through exchange interface

ATR Stop-Loss Issues

Symptom

ATR-based stop-loss is at unexpected price level.

Possible Causes

  1. ATR calculation period

    • ATR uses historical volatility
    • Value changes with market conditions
  2. Wrong ATR period

    • Period may be set differently than expected
    • Check strategy configuration
  3. Multiplier setting

    • Higher multiplier = wider stop
    • Verify multiplier matches expectations
  4. Market volatility spike

    • ATR increases during volatile periods
    • Stop may be wider than usual

Understanding ATR Stops

Current ATR (14-period): $1,200
Multiplier: 2.0
Average Entry: $50,000

Stop for Long = $50,000 - ($1,200 * 2) = $47,600
Stop for Short = $50,000 + ($1,200 * 2) = $52,400

Solution

  • Review ATR settings in strategy configuration
  • Check current ATR value in market data
  • Adjust multiplier if stops are too wide/tight
  • Consider market conditions

Position Size Growing Too Large

Symptom

Total position size exceeds risk tolerance after multiple DCA entries.

Cause

Each DCA level adds to position, compounding exposure.

Prevention

  1. Set appropriate max levels

    • Limit number of DCA entries
    • Calculate total exposure: Sum of all level sizes
  2. Use smaller per-level sizes

    • Reduce percentage per entry
    • Example: 10% per level x 5 levels = 50% max
  3. Enable stop-loss

    • Protect against unlimited losses
    • Use appropriate stop-loss mode
  4. Monitor actively

    • Check position sizes regularly
    • Close positions that exceed tolerance

Calculation Example

Level 1: 20% of $10,000 = $2,000
Level 2: 20% of $10,000 = $2,000
Level 3: 20% of $10,000 = $2,000
Level 4: 20% of $10,000 = $2,000
Level 5: 20% of $10,000 = $2,000

Total Position: $10,000 (100% of balance!)

DCA Level Counter Not Resetting

Symptom

After closing a position, DCA counter stays at previous level.

Cause

"Reset on Close" setting may be disabled.

Solution

  1. Check reset setting:

    • Signal Bot: Check DCA settings
    • Trading Bot: Set by strategy, check dcaConfig
  2. Manual reset:

    • Close and recreate the bot
    • Or wait for admin reset (contact support)
  3. Verify position is fully closed:

    • Partial closes don't reset counter
    • Check for remaining position size

Webhook DCA Signals Rejected

Symptom

Webhook returns error when sending DCA signals.

Common Errors

"DCA not enabled"

{
  "success": false,
  "error": "DCA is not enabled for this bot",
  "code": "DCA_DISABLED"
}

Solution: Enable DCA in bot settings before sending signals.

"Max DCA levels reached"

{
  "success": false,
  "error": "Maximum DCA levels reached",
  "code": "DCA_MAX_LEVELS"
}

Solution: Close position to reset, or increase max levels.

"Invalid DCA level"

{
  "success": false,
  "error": "DCA level must be sequential",
  "code": "DCA_INVALID_LEVEL"
}

Solution: Send levels in order (1, 2, 3...), don't skip levels.

"No open position for DCA"

{
  "success": false,
  "error": "Cannot add DCA entry without existing position",
  "code": "DCA_NO_POSITION"
}

Solution: Open initial position (Level 1) before sending DCA entries.

Performance Issues

Symptom

DCA strategy underperforming expectations.

Analysis Steps

  1. Review entry timing

    • Were DCA entries at good prices?
    • Did price continue falling after all entries?
  2. Check level spacing

    • Was spacing too tight or too wide?
    • Did entries capture significant dips?
  3. Evaluate stop-loss hits

    • Did stops trigger before recovery?
    • Was stop-loss mode appropriate?
  4. Compare to single entry

    • Would single entry have performed better?
    • DCA isn't always optimal

Optimization Tips

  • Backtest different configurations - Test various level counts and spacings
  • Adjust to market conditions - Wider spacing in volatile markets
  • Review stop-loss mode - Match mode to strategy style
  • Set reasonable max levels - Don't over-leverage

Getting Help

If issues persist:

  1. Check bot logs - Detailed execution information
  2. Review trade history - Verify all entries and exits
  3. Contact support - Include bot ID and timestamps
  4. Join community - Discord for peer assistance

Related Documentation