Using BA pair selection (lunar crush, altrank, etc) with a futures composite bot is more tricky than just using a spot account.
The problem
There are two variables to consider:
- Leverage: not all pairs support same level of leverage. If you setup a bot initially with 3 pairs that support 100x leverage and then BA selects automatically pairs that do not support 100x, let’s say only 25x, then BA will fail saving the new pairs.
- order size: not all pairs have the same minimum order size. If you setup a bot with a minimum order size of 10 USDT and then BA picks up a token that has a minimum size of 200 USDT then BA will fail to save the new tokens.
This will happen “silently” which means there won’t be ANY self service warning or error. The reason is because 3commas API does not return currently any error when this scenario happens.
The workaround
What I personally do to circumvent this problem is
- Whenever I create a new futures composite bot I initially select ALL available pairs for the futures account
- Pick a minimum SO and BO that is at least 20% above the minimum order size for all pairs. You can find what’s the minimum order size by just using a very small number for order, like 1 USDT. Then you will see a warning message with something like “minimum exchange order size is 125 USDT”. Bear in mind that this value is managed by the exchange and can fluctuate very often: it can get higher or lower. It varies on each token. Some tokens are only 30 USDT some are over 200 USDT for periods of time.
- Select a cross leverage value that is supported by all pairs. If you still have all pairs in the composite bot, select a leverage value that does not prompt any error in the bot. For binance I never use more than 25X if I’m planing to use BA pair selection.
- Enable BA pair selection in the bot name and wait for the first pair updates BEFORE switching on the bot. You can save the bot but leave it off until the first updates select the actual pairs according to your selected pair criteria: top 10 altrank, top 10 galaxy score, etc.
Troubleshooting
Unfortunately, until the 3commas API can support reporting these errors troubleshooting can be tricky and that’s why I stay on the safe side following the workaround steps above always.
But if you needed to troubleshoot a BA problem always use self service:
- Wait for the next BA pair updates schedule. Find your bot in the bot assistant area of self service and wait for it to report which tokens were supposed to be added to your bot.
- Confirm those are the ones in your bot. I personally leave the bot page open before the run and after the next run to see they actually change in the bot. Then I compared them to the ones reported on self service.
- If they match it’s all good.
- IMPORTANT: Remember that even if a run succeeded, a future run could still fail if you are not fully respecting the workaround steps. Example: the next BA batch might pick 3 tokens that support your order size of 30 USDT and leverage selection of 100X only because the tokens that were recently selected happen to be within those limits, but then that doesn’t guarantee that later BA might pick some that don’t and then still fail to update your bot.