I am using a CFD broker and the MT4 software to do this. I am not 100% sure, but I know that there a lot of countries where "contracts for difference" are prohibited by law like for example USA. But not so in germany.
I have only 2 Points spread and can open and close every position within a split second. No lag, no delay.