Please share indicator stats on VPS with min. network ping.
I have spikes of up to half a second on the indicator on the local machine, which I do not go to.
I haven't monitored EAs for a long time, but ten milliseconds is common.
In general, a spoonful of tar in a barrel of MT5(MT4 is no better).
ZY Those who trade via pending orders (limit orders on the stock exchange, for example) are much less affected by this disease than market trading (especially scalping).
Exchange symbol Si-12.17 MetaQuotes-Demo
The lag reached two seconds at network ping < 0.1 seconds. Probably, this is due to mixing of quote and trade streams retroactively. Bad, in short.
And for some reason, the middle one is very small.
that's the second it came out.
And the average is very small for some reason
It's actually not small ~5 ms. That's a stone to the zero ping sufferers.
Here's an outburst in a second.
Against the background of such outbursts, the average, of course, unnoticeable.
The history of the issue is that there were some confusions when trading on MT4 ECN, where my own limits affect pricing and the stack is visible. Tick history cannot be viewed in MT4, but good thing there is MT5 with the same data. That's why I stupidly recorded several hours on video the terminal itself with all the stacks during active trading. I started to analyse the video, MT5+ZoomPrice and the results of MQL4 script on redactions and peculiarities of execution.
As a result, I found out that MT4 shows some nonsense - either these prices were not present in the history (MT5+ZoomPrice and glasses in the video), or they were, but some of them were missed, and some of them lasted much longer than in the history. At the end I realised that MT4 itself is slowing down. In the MT5 history everything was perfect. But doubts crept in, the indicator confirmed it.
Now I realise that I cannot fully trust the relevance of current prices in MT5. Third-party applications (vintage, recorded on video), show real-time prices much more accurately than MT4, and apparently MT5. I don't know yet how to compare them to confirm, as I can't pull data directly from third-party stakes via MQL. But the obtained result is enough to see a really serious problem of platform lag. And all the statements about high speed simply collapse when you observe such a situation.
Yes, OrderSendAsync is fast, but before sending it, you need to orientate on current prices, and they slow down.
Yes, OrderSendAsync is fast, but before sending it, you have to orientate to the current prices, and they slow down.
Maybe it makes sense to remove all unnecessary pairs from the market overview, though I don't think anything will change significantly
I remember one broker recommended this to me :)))
Maybe it makes sense to remove all unnecessary pairs from the market overview, although I don't think anything will change significantly
I left only traded pairs and 5000 bars per chart. Now we can say for sure that Expert Advisors based on indicators (standard or iCustom) are slow, because the fact of lag spikes in indicators is proven. Therefore, it is advisable to abandon iCustom in favour of building it into an Expert Advisor via OOP.
And, in fact, it was initially stated that indicators in Expert Advisors are a bottleneck, because all indicators are executed in one thread, unlike Expert Advisors. Lags in Expert Advisors require a separate study. The function of getting lags is in the description, so it is not difficult.
For self-checking there is such a line in the code (uncommented):
Print(TickToString(Tick) + TOSTRING(Ping));
It outputs the received fresh tick and its ping. Let's take an example of such a log
2017.11.16 20:08:19.602 Ping (EURUSD,M1) time = 2017.11.16 20:07:58.215 bid = 1.17711 ask = 1.17714 last = 0.0 volume = 0 TICK_FLAG_ASK 2017.11.16 20:08:19.602 Ping (EURUSD,M1) Ping = 2.425000000000182 2017.11.16 20:08:23.142 Ping (EURUSD,M1) time = 2017.11.16 20:08:01.212 bid = 1.17712 ask = 1.17714 last = 0.0 volume = 0 TICK_FLAG_BID 2017.11.16 20:08:23.142 Ping (EURUSD,M1) Ping = 541.3899999999999 2017.11.16 20:08:23.603 Ping (EURUSD,M1) time = 2017.11.16 20:08:02.215 bid = 1.17711 ask = 1.17714 last = 0.0 volume = 0 TICK_FLAG_BID 2017.11.16 20:08:23.603 Ping (EURUSD,M1) Ping = 543.261
The terminal time column, when the tick was received, is markedyellow (the terminal itself writes, not the indicator). And red is the time of a fresh tick.
You can notice that the difference between the neighbouring red records differs by ~540 ms compared to the difference between the neighbouring yellow records. This is a live example of terminal lags, when you see the supposedly actual price, but it has not existed for half a second.
if (SymbolInfoTick(_Symbol, Tick, Ping))// && // (!IsIndicator || (Count++ > 1))) // SymbolInfoTick in indicators requires "warming up" in the form of several first Calculate-events
then immediately after startup you will get this result
2017.11.17 12:00:55.879 Ping (EURUSD,M1) time = 2017.11.17 12:00:32.418 bid = 1.17925 ask = 1.17928 last = 0.0 volume = 0 TICK_FLAG_BID 2017.11.17 12:00:55.879 Ping (EURUSD,M1) Ping = 0.0 2017.11.17 12:00:56.399 Ping (EURUSD,M1) time = 2017.11.17 12:00:35.720 bid = 1.17923 ask = 1.17925 last = 0.0 volume = 0 TICK_FLAG_BID TICK_FLAG_ASK 2017.11.17 12:00:56.399 Ping (EURUSD,M1) Ping = 2781.549
Almost three seconds of "lag"! The reason is simple - when launching any indicator, the first OnCalculate call is forced and the old tick is taken. This is the same as pressing "Update" on the chart.
There is no mistake in this behaviour of indicators, you just need to be aware of what the first OnCalculate call is. In Expert Advisors, there is no forced call of OnTick, so everything is unambiguous there.
It seems to me that we should not exclude the delay of quotation by the broker itself, those notorious "filters", and the history is already given unfiltered
But we will never know it without the developers' comments or possessing the server part.
On the other hand, I put 2 EAs in different terminal windows of the same symbol, and compared the values through RAM, the deviations were also decent, more than several spreads on strong fluctuations. I don't know how to interpret such a phenomenon.
It seems to me that we should not exclude the quote delay by the broker itself, those very notorious "filters", and the history is already given unfiltered
Exchange symbols on MetaQuotes-Demo with a 15-minute delay definitely do not have any filter.
On the other hand, I put 2 EAs in different terminal windows of one symbol, and compared the values through RAM, the deviations were also decent, more than several spreads on strong fluctuations. I do not know how to interpret such a phenomenon.
Forum on trading, automated trading systems and testing trading strategies
Is it true that some brokers have lagging quotes?
fxsaber, 2017.11.17 11:20 pm.
In MT4/5 you need to be careful about the concept of price relevance.
Two terminals on the same machine connected to the same account will be unsynchronised over quite a large range.

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Ping:
A real-time indicator showing the lag of quotes inside the terminal.
Author: fxsaber