I have a VPS in NY (6ms latency to IC Markets) and a VPS in london (90ms latency to IC Markets). When I run my EA at the same time on my NY vps & my London VPS, they take trades in different directions from time to time. Does this make any sense and can someone shed some light on this issue?
yes that is correct. i have a demo ic markets account on a new york vps, then also a different ic markets demo account running on a london vps for testing purposed. Many times throughout the day, they take different trades and the ONLY thing different is the obvious difference in latency. (6ms in new york and 90ms in london) because IC Markets servers are in New York.
Latency has always been a big factor when trading with EA. EA doesn’t work well in all location because of the speed. With some EA’s they have settings in the parameter so that the EAs adapt to the speed. Also, before you buy an EA be sure the seller specify the latency requirements to avoid losing money.
I have used several readymade EAs but frankly, none of them really suited my trading strategy. It felt like they are made for ideal situations that we can hardly be in. It’s always better to build your own EA if you want to be on the safer side.
Why go ahead with EA in the first place if there’s so much confusion? As a matter of fact, it’s always better to trade on your own rather than depending on an EA to trade on your place. You’d be in a better place to make better decisions and in case any problem crops up, you’ll be able to find the root cause.
Scalping EAs require the lowest latency possible and can have different results depending on how fast the broker’s data feed arrives to the terminal.
Does it open trades only following the close of a candle or right away?
If trades are based on the closing of candles, I would question the broker. It would mean that the broker has different price feeds for different accounts, adapting them in their favour depending on the trader. But if trades are opened right away instead, the problem could effectively be the latency difference. Depending of when the data feed arrives to the terminal, the price can already have changed, affecting the EA’s decision process. In this case I would definitely go with the lower latency VPS.
I have attached a tick counter EA for you to experiment with. What it does is counts each tick as it is received and the compare it with the volume on M15 and H1 timeframes. As you may know, MT4 does not have true volume but rather volume of ticks, so the volume is an absolute number of ticks sent out. If we compare the count of ticks received to the volume, you will have an indication of how much data is lost along the way.
Now, I haven’t studied the effect of latency but I can tell you that the number of symbols running in the marketwatch window has a dramatic effect on the tick count. Running on Pepperstone, with all symbols displayed produced a score of 83% so 17% of data was ‘lost’. When I had ONLY EURUSD displayed in marketwatch window, the score was 100%
Try out the EA - it show tick count/tick volume = x% in the top left as a comment. It show M15 and H1 and obviously resets on every new bar.
As Kevin in the post above said, if you consider that the data an EA uses calculated data to 5 decimal places, it is not surprising that an EA that takes orders on a tick (rather than a new bar) is going to trade differently.