This guide addresses common issues where the Portfolio Bot fails to properly balance positions according to the configured allocation percentages. Users may notice that some positions remain significantly above or below their target percentages without being rebalanced.
Common Symptoms
Positions consistently remain above their allocated percentage (e.g., 330 EUR when target is 300 EUR)
Some positions never get rebalanced despite being clearly over/under the target
Bot trades some currencies frequently while completely ignoring others
Uneven rebalancing behavior across different positions
Root Causes and Solutions
1. Unsynced Positions
Problem: The bot owns more of a particular cryptocurrency than allowed based on the configured percentage rule, but these positions are not synced with Cryptohopper.
Impact: When positions aren't synced, they're not taken into account during rebalancing calculations, causing the bot to miscalculate available funds and target allocations.
Solution:
Go to your Dashboard and check for unsynced positions under "Current Assets"
Ensure all positions are properly synced before running the Portfolio Bot or consider converting all funds to your quote currency, for example USDT and then rebalance.
2. Incorrect Maximum Allocated USDT Amount
Problem: The Maximum Allocated USDT amount is set higher than the actual account balance.
Impact: This causes the bot to think it has insufficient funds for rebalancing, preventing the "Only buy/sell the difference" feature from working correctly.
Solution:
Set the Maximum Allocated USDT to slightly below your actual available balance
For example, if you have 3000 EUR, set it to 2900 EUR to ensure funds are always available
This ensures the bot can always execute necessary trades for rebalancing
3. "Only Buy/Sell the Difference" Not Working Properly
Problem: When unsynced positions exist or Maximum USDT is set incorrectly, the difference-based rebalancing doesn't function as intended.
How it Should Work:
With 3000 EUR and 10 currencies at 10% each, target per position = 300 EUR
Position above 330 EUR should sell excess (only 30 EUR worth)
Position below 270 EUR should buy more (only 30 EUR worth)
This minimizes trading fees compared to selling entire positions
Solution:
Fix unsynced positions (see point 1)
Correct Maximum Allocated USDT (see point 2)
Ensure minimum buy amount requirements are met for your exchange
4. Minimum Buy Amount Requirements
Problem: The bot can only buy/sell the difference if the minimum buy amount of the exchange is met.
Solution:
Check your exchange's minimum order requirements
Ensure your rebalancing differences meet these minimums
Consider adjusting your total portfolio size or allocation percentages if needed
Step-by-Step Resolution Process
Step 1: Clean Up Your Portfolio
Convert all cryptocurrencies to USDT
Ensure there are no unsynced positions in "Current Assets"
Set appropriate Maximum Allocated USDT amount (slightly below total balance)
Step 2: Reconfigure Allocation
Adjust allocation percentages if needed (e.g., give BTC a higher percentage if you want to maintain a larger position)
Ensure total allocations equal 100%
Step 3: Restart Portfolio Bot
Click "Rebalance" to perform initial allocation
Let the bot run and monitor its behavior
Check that "Only buy/sell the difference" is now working correctly
Prevention Tips
Regularly check for unsynced positions, especially after manual trades
Keep Maximum Allocated USDT updated when your account balance changes significantly
Monitor the bot's trading logs to ensure even rebalancing across all positions
Avoid manual trading while the Portfolio Bot is active to prevent sync issues