> for some very small coins it can takes ages to transfer
Why do you need to transfer between exchange?
Writing an arbitraging bot is in my bucket list of projects I'll one day work on, and to avoid trasfer times, which are ridiculous with some cryptocurrencies, the plan is to keep a balance of both sides on both exchanges.
Example: if you're arbitraging ETH/USD between exchanges A and B, you have an ETH balance on A, and a USD balance on B, and you concurrently buy/sell on both.
Then you have the problem of managing dozens of balances across as many exchanges, which is left as an exercise for the reader :)