There was a guy who had fast connection and still having some problems. I don't remember what was the problem exactly, but it was something that is impossible to be fixed, because of the way MT4 works 🙂
Commissions does not depend on the speed, they exists when the spread is low. They advertise low spread, but there there are commissions, so at the end it's like you have bigger spread 🙂
Swap is what happens when you have slow connection. When you send a request to put a new trade, there is a new price on the server already and the open price is different. Even more problems can come from this when you also have small stops. The thing is that in the request the Open Price is a price level, SL is a price level and TP is a price level. The trade can be opened at different Open Price, but the server does not touch SL and TP, so eventually one of them can be found on the wrong side of the open price.
For example, you want to open a new trade at 1.0000 with SL = 0.9997 and TP = 1.0003. But until your request reaches the server the price is already different and the trade can be opened at 1.0003. The Open Price is modified, but TP not and now it appears wrong because it's at the same price as the Open Price. The result - no trade, only error message.
Unfortunately MT4 does not send SL and TP as a relative values, like 0.0003 from the Open Price. It sends them as an absolute values and the problem comes from this.
And there are other problems like this 🙂