I want add one thing.
Don't leave any cpyptos in an exchange.
There is a real danger that cryptos can be stolen by an hacker when exchange is attacked.
But what if i want to use them for lets say sell high to buy lower again.
Would you recommend moving between wallets then?
But isn't it a waste to do this for the transaction costs?
I would always recommend to move your crypto from the exchange to your wallet .Yes, It's very practical as you said to leave cryptos on exchange but you have to consider that:
1)If you leave your cryptos in exchange , they can be stolen by someone else so, if someone steals them, you won't get them back again.
2)I think it's necessary spend that little commission for security reason . Remember that in the moment that your cryptos return back to your wallet, then, your funds are safe and protected.
3)The exchange can close in a future and you will lose all your crypto that you leave there.
For the question of moving funds between wallet:
This is a necessary action when you use an Exchange that asks to you the private key of the wallet in which you have funds to sell (Etherdelta for example).