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:
-
DCA not enabled
- Go to bot settings and verify DCA is toggled on
- Check that DCA was enabled before sending signals
-
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
-
Invalid signal format
// Wrong - missing dca field {"action": "buy", "symbol": "BTCUSDT"} // Correct {"action": "buy", "symbol": "BTCUSDT", "dca": true} -
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:
-
DCA disabled by user
- Even if strategy supports DCA, user can disable it
- Check DCA settings in bot configuration
-
Strategy conditions not met
- Review strategy logs for DCA trigger conditions
- Price may not have moved enough to trigger
-
Max levels reached
- Strategy respects max level limits
- Check current level in bot dashboard
-
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:
-
DCA not enabled for bot
- Manual bots have optional DCA settings
- Go to bot settings and enable DCA
-
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
-
Wrong symbol
- DCA tracks entries per symbol
- Verify you're trading the same symbol as previous entries
-
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
-
Partial fills
- Some entries may have partially filled
- Check actual fill amounts vs requested
-
Fee impact
- Trading fees affect actual entry prices
- Average may include fee adjustments
-
Price slippage
- Market orders may fill at different prices
- Check actual execution price vs signal price
-
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
-
Stop-loss mode is "Static" or "None"
- Static mode intentionally keeps original stop
- None mode doesn't manage stops automatically
-
Strategy doesn't support dynamic stops
- Check strategy documentation
- Verify dcaConfig includes stop-loss management
-
Exchange limitations
- Some exchanges have stop-loss update restrictions
- Check exchange API status
-
Error during update
- Stop update may have failed silently
- Check bot logs for errors
Solution
-
Check stop-loss mode:
- Go to bot settings or strategy configuration
- Verify mode is Average, Breakeven, Trailing, or ATR
-
Review logs:
- Look for stop-loss update attempts
- Check for exchange errors
-
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
-
ATR calculation period
- ATR uses historical volatility
- Value changes with market conditions
-
Wrong ATR period
- Period may be set differently than expected
- Check strategy configuration
-
Multiplier setting
- Higher multiplier = wider stop
- Verify multiplier matches expectations
-
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
-
Set appropriate max levels
- Limit number of DCA entries
- Calculate total exposure:
Sum of all level sizes
-
Use smaller per-level sizes
- Reduce percentage per entry
- Example: 10% per level x 5 levels = 50% max
-
Enable stop-loss
- Protect against unlimited losses
- Use appropriate stop-loss mode
-
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
-
Check reset setting:
- Signal Bot: Check DCA settings
- Trading Bot: Set by strategy, check dcaConfig
-
Manual reset:
- Close and recreate the bot
- Or wait for admin reset (contact support)
-
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
-
Review entry timing
- Were DCA entries at good prices?
- Did price continue falling after all entries?
-
Check level spacing
- Was spacing too tight or too wide?
- Did entries capture significant dips?
-
Evaluate stop-loss hits
- Did stops trigger before recovery?
- Was stop-loss mode appropriate?
-
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:
- Check bot logs - Detailed execution information
- Review trade history - Verify all entries and exits
- Contact support - Include bot ID and timestamps
- Join community - Discord for peer assistance
Related Documentation
- Signal Bot DCA - DCA setup for Signal Bots
- Trading Bot DCA - DCA for Trading Bots
- Manual Trading Overview - Manual Trading Bots with DCA
- Risk Management - Position sizing
- Common Errors - General troubleshooting