Latency Explained 
Ok so since everyone is moving to the EA, there is now an extra layer of connection involved and I think its important that we all understand how your VPS location is going to effect the execution.
Obviously everyone wants the best execution possible, and we totally understand that, however since the EA has become the norm, we are getting constant support blaming us for slower execution vs Direct Connect. Before we start, let me assure you that the EA executes as quick as direct connect as a program, however this does not mean that the execution of the trade will be quite as quick as there are more variables in the equation.
Our servers are hosted in Manchester UK.
Latency from Manchester:
Manchester -> London = 10ms
Manchester -> New York = 50-80ms
Manchester -> West Coast US = 80-100ms
Manchester -> Amsterdam = 15ms
Manchester -> Sydney = 150-200ms
We are on one of the most advanced networks in the UK. This is what I used to do before moving into the forex world.
So lets look at the process of the EA:
1. The EA is in an infinite loop - each loop is 400ms
2. The EA changes which server it connects with on each loop (currently we have 4 EA servers serving approx 1000 people)
3. Upon each loop it is checking for new trades and existing trades
4. The further away your server is from our network, the more overhead there is on each loop.
5. We pass as little data as possible. When there are no trades, there is NO data being passed back and forth between our servers and the EA. If there is 1 trade, there is a few bytes of data being passed, so the further away your server, the slower that this data will pass back to your VPS
Lets look at 2 examples. 1. Using our VPS - 2. Using a server in NY. We will assume that the brokers server is in NY and they do NOT offer a UK server.
Please note this is not trying to sell our VPS platform. We honestly don't mind where people host, and have only offered this for people who wish to use our platform (even though we are the best 8) )
We are working on worst case numbers here to show how it works
SimpleTrader VPS:
1. EA Looping 400ms (so worst case scenario 400ms delay finding trade)
2. Connection from ST VPS = 1ms
3. Trade data is found, so 1ms to ask for data, 1ms to retrieve
(Execution so far 402ms)
4. The EA now knows to execute a trade, so it works through the code (check if its valid, work out suffix, other stuffs
) - This takes pretty much 0 time, as long as the VPS is not under load
5. Trade is now executed on MT4 - Now this is where REAL slippage occurs... As we know, when we place a trade on MT4 there is sometimes a delay, this is because the order hasn't yet been filled by the broker. This could take anywhere from 100ms > ~ -
6. In this example, lets say the broker has 0 slippage. Your VPS (in MAnchester) has to tell the server in NY to trade - so data is sent (this takes approx 80ms) - The trade has been placed
(Execution time = 482ms)
NY VPS
1. EA is looping 400ms (worst case)
2. Connection from NY VPS to ST Platform = 80ms
3. Trade data is found, so 80ms to ask for data, 80ms to retrieve
(execution so far 560ms)
4. The EA now knows to execute a trade
5. We assume 0 slippage on broker
6. VPS tells Broker server to trade = 1ms
(Execution time = 561ms)
Things to remember:
- The brokers server WILL NEVER execute in 0ms - there will always be slippage... A server cannot react in 0 time. There are a number of things which effect a broker being able to fill your order. You will be able to check how your broker is reacting vs all other brokers when we release our analytics package (should be soon if metaquotes stop throwing us curve balls!
)
- In the examples above, our VPS is the better scenario - Why? Because we execute first... your MT4 platform in the ST VPS example physically has the trade sooner, so will be telling the brokers server to execute the trade sooner. The sooner you ask the broker to execute the less likely you will be slipped.
- Networking isn't simple, take an example, when you browse around the web - every now and again your connection might seem slow, this is probably a packet being lost and resent. The same applies here, it is possible that packets are lost, or connections dropped which can cause extra time for things to be sent back and forth. Having your VPS with us eliminates that (or drastically reduces it).
I constantly trade on a test platform running the Master on my home pc, and the slave on my home pc. I am approx 30-40ms away from Manchester, and I normally recieve execution in around 1-1.2s on Pepperstone. On Direct connect the same trade would take around 800ms.
Any questions please ask, but hopefully I've covered most angles.
In terms of VPS - Obviously I'm going to say our VPS platform is the best
But in all seriousness, if you are using someone like Beeks or CNS then you should be fine if the VPS is within the UK. They are in London, so you will still have approx 10ms increase over our VPS, but it's up to you if you wish to move to us.
Hope this helps.

Ok so since everyone is moving to the EA, there is now an extra layer of connection involved and I think its important that we all understand how your VPS location is going to effect the execution.
Obviously everyone wants the best execution possible, and we totally understand that, however since the EA has become the norm, we are getting constant support blaming us for slower execution vs Direct Connect. Before we start, let me assure you that the EA executes as quick as direct connect as a program, however this does not mean that the execution of the trade will be quite as quick as there are more variables in the equation.
Our servers are hosted in Manchester UK.
Latency from Manchester:
Manchester -> London = 10ms
Manchester -> New York = 50-80ms
Manchester -> West Coast US = 80-100ms
Manchester -> Amsterdam = 15ms
Manchester -> Sydney = 150-200ms
We are on one of the most advanced networks in the UK. This is what I used to do before moving into the forex world.
So lets look at the process of the EA:
1. The EA is in an infinite loop - each loop is 400ms
2. The EA changes which server it connects with on each loop (currently we have 4 EA servers serving approx 1000 people)
3. Upon each loop it is checking for new trades and existing trades
4. The further away your server is from our network, the more overhead there is on each loop.
5. We pass as little data as possible. When there are no trades, there is NO data being passed back and forth between our servers and the EA. If there is 1 trade, there is a few bytes of data being passed, so the further away your server, the slower that this data will pass back to your VPS
Lets look at 2 examples. 1. Using our VPS - 2. Using a server in NY. We will assume that the brokers server is in NY and they do NOT offer a UK server.
Please note this is not trying to sell our VPS platform. We honestly don't mind where people host, and have only offered this for people who wish to use our platform (even though we are the best 8) )
We are working on worst case numbers here to show how it works
SimpleTrader VPS:
1. EA Looping 400ms (so worst case scenario 400ms delay finding trade)
2. Connection from ST VPS = 1ms
3. Trade data is found, so 1ms to ask for data, 1ms to retrieve
(Execution so far 402ms)
4. The EA now knows to execute a trade, so it works through the code (check if its valid, work out suffix, other stuffs

5. Trade is now executed on MT4 - Now this is where REAL slippage occurs... As we know, when we place a trade on MT4 there is sometimes a delay, this is because the order hasn't yet been filled by the broker. This could take anywhere from 100ms > ~ -
6. In this example, lets say the broker has 0 slippage. Your VPS (in MAnchester) has to tell the server in NY to trade - so data is sent (this takes approx 80ms) - The trade has been placed
(Execution time = 482ms)
NY VPS
1. EA is looping 400ms (worst case)
2. Connection from NY VPS to ST Platform = 80ms
3. Trade data is found, so 80ms to ask for data, 80ms to retrieve
(execution so far 560ms)
4. The EA now knows to execute a trade
5. We assume 0 slippage on broker
6. VPS tells Broker server to trade = 1ms
(Execution time = 561ms)
Things to remember:
- The brokers server WILL NEVER execute in 0ms - there will always be slippage... A server cannot react in 0 time. There are a number of things which effect a broker being able to fill your order. You will be able to check how your broker is reacting vs all other brokers when we release our analytics package (should be soon if metaquotes stop throwing us curve balls!

- In the examples above, our VPS is the better scenario - Why? Because we execute first... your MT4 platform in the ST VPS example physically has the trade sooner, so will be telling the brokers server to execute the trade sooner. The sooner you ask the broker to execute the less likely you will be slipped.
- Networking isn't simple, take an example, when you browse around the web - every now and again your connection might seem slow, this is probably a packet being lost and resent. The same applies here, it is possible that packets are lost, or connections dropped which can cause extra time for things to be sent back and forth. Having your VPS with us eliminates that (or drastically reduces it).
I constantly trade on a test platform running the Master on my home pc, and the slave on my home pc. I am approx 30-40ms away from Manchester, and I normally recieve execution in around 1-1.2s on Pepperstone. On Direct connect the same trade would take around 800ms.
Any questions please ask, but hopefully I've covered most angles.
In terms of VPS - Obviously I'm going to say our VPS platform is the best

Hope this helps.
Comment