Max order amount is not so important IMO because if trigger conditions will remain bot will perform second trade, third and so on and in fact will do the same as without this parameter (only longer). It is only a parameter to set if you don't trust bot (what is understandable) and you are scared that bot will do losing trade with whole wallet because of delay in api communication (hmm... it makes it important than
).
If I was doing it for me I would set it like that:
(BTC/USDT arbitrage example)
conditions on one of exchanges - spread parameter
95% of wallet in BTC, 5% in USDT - perform trde if spread >5x%
80% of wallet in BTC, 20% in USDT - perform trade if spread >2x%
50 % of wallet in BTC, 50% in USDT - perform trade with spread >x%
20% of wallet in BTC, 80% in USDT - perform trade if spread >2x%
5% of wallet in BTC, 95% in USDT - perform trde if spread >5x%
Or I would put it in parabolic/linear function to achieve better performance (better adaptation of the bot to the conditions) with less code.
This should help optimate profit because of limited wallet supply and no withdrawals. You will not sell all BTC on one exchange for 1% profit when few seconds after there is 2% profit conditions. This will somehow work as max order parameter because if spread>x% bot will perform trade and wait for bigger spread or wallet rebalance (it will not go all in one trade).
Thanks for the ideas. I hadn't thought of allowing different conditions depending on current wallet balances. And yes the "max order amount" is mostly about user confidence, if users don't want to fully trust an automated system with all of their funds they can set a max order amount and see how it goes.
I would also code "inside 1 exchange arbitrage system" (doing instant circles f.e. USDT-BTC-ETH-USDT).
We're currently exploring triangular arbitrage (inside 1 exchange), it's definitely on the radar for a future release! "Deep" arbitrage analysis is something we're exploring as well, where you look at more than just the top of the book. Sometimes incurring slippage and filling the top 2 or 3 orders can lead to a profitable spread if your order is large enough, when just the top ask/bids wouldn't be profitable.
There is a bitter fact about making use of arbitrage things, are you sure how effective your tools will be?
Price gaps are short living. Only profitable to early finders. So, if you sell your tool to some 100 traders, only 2 or 3 may get profits.
If a whale find the gap in price levels across exchanges, I am sure only that whale could make use of that arbitrage opportunity.
Simply, arbitrage opportunity is based on TIME and VOLUME unlike spotting a trend which works for all the traders who find and join. So, if your tools works perfect to spot a price gap, almost 90% of your subscribers will blame you for INEFFICIENT SIGNAL as the more they take to trade, the faster the prices to converge.
After all this, some or more exchanges are not processing withdraw instantly.
You'll never make money off arbitrage if you're trying to withdraw between exchanges, this is about submitting parallel buy/sell orders on two exchanges simultaneously while holding balances on both.
There are actually a TON of arbitrage opportunities every day if you can be fast enough to act on them. We could have 1,000 traders using our platform, but we also support 10+ exchanges and 400+ trading pairs. There's plenty of room between combinations of exchanges and trade pairs for a number of traders to compete and make a profit. It's a great tool when the candlesticks aren't moving much for the day and you still want to day trade.