HFT and can we reduce spreads by trying to place orders at midpoint?

 

Hi,

1) I'm finding that it typically takes about 0.5 to 1.0 seconds to execute a market order on MT4. I don't want to turn this into a review of brokers but am asking if anyone else has been able to achieve anything approaching HFT (eg perhaps sub 0.1s) using MQL4 and MT4?

2) I have a trading system which is very sensitive to trading costs. I have a (not so new) idea. Consider the following example. I am trading an instrument with a bid and an ask of 1.0000 and 1.0004 respectively. If I wanted to buy, I could place a market order at 1.0000 and then to sell a market order at 1.0004 (assuming the market hadn't moved). In that way my transaction costs is 0.0004. However if my broker was ECN, I could have attempted a buy with a limit order or 1.0002 (say). The idea being that hopefully a seller would have reached down and taken my 1.0004 rather than the 1.0000 below it. This is by no means a new idea and is actually the way the spread is often determined. The critical part is that you need to be able to adjust the level of the limit order quickly enough from 1.0002 as the market moves to keep it near the midpoint. This clearly only works if you have a good connection and very up to date prices. Has anyone ever tried to successfully do this in MQL4 with an ECN broker?

Stewart

PS. Please don't mention brokers. I'm interested in hearing from MQL4 programmers to see if they have ever had success doing this, rather than who with.

 

ping the server. Find out how long it takes round trip and one way. total time - round trip time is the time the broker takes. You can't open faster than that with a pending order. I suspect that the majority of your 1.0 seconds it on the broker's machine.

Either use a VPS with faster connection or buy a co-located machine ($$$) or use pending order the fastest possible.

As for trying to open at the mid point, all you are doing is setting a open price half the spread lower. If you want to open at X, the Ask must reach X+spread.

 

Many thanks.

If you maintained a limit order half way between the buy and sell, do you think another customer could meet it and complete the trade (assuming ECN), or does the bid/ask actually need to touch your limit order?

 
stewart: If you maintained a limit order half way between the buy and sell, do you think another customer could meet it and complete the trade (assuming ECN), or does the bid/ask actually need to touch your limit order?

You're still missing the point, you will still be opening at the Ask and paying the full spread., you're just opening lower.

Until the Ask reaches your open price - NOTHING happens because there are no sellers at that price.

 
I think I am getting your point now. I am used to the DMA world with shares where if you put a limit buy order there somewhere between the bid and ask then a seller will see it and hopefully pick it off. I think the way most FX brokers with MT4 operate though is that no-one else sees your limit orders but you ;)
Reason: