Services , new functionality in the MT5 architech, the funeral of MT4 is just around the corner. - page 7

 
And you've never written a multi-threaded computer game in Visual C++, where of course thread synchronisation is required.
 
Alexey Kozitsyn:
Even OnCalculate() skips ticks.
It doesn't.
 
Petros Shatakhtsyan:
The issue is solved by running the indicator on each instrument and getting a "tick" event from it. Search the website, it was discussed back in the early days of MT5.
 
Andrey Khatimlianskii:
It isn't.
If we're talking about COPY_TICKS_INFO ticks, as far as I remember, it is. If you run OnCalculate() and OnBookEvent() in parallel, and request SymbolInfoTick(), OnBookEvent() will show more ticks than OnCalculate().
 
Andrey Khatimlianskii:
The issue is solved by running the indicator on each instrument and getting the "tick" event from it. Search the website, it was discussed back in the early days of MT5.


Is it the solution? The Expert Advisor is installed wherever you want and they all work in parallel.

If it is set on different charts and works independently of each other, it does not mean that the EA is multi-currency.

The question is what to set it on one chart and work with those pairs that are in the market overview. And the tick data can be obtained directly from them more quickly and efficiently than the Timer or ChartEvent.

 
Petros Shatakhtsyan:


Is this a solution? The Expert Advisor is installed in any place and they all work in parallel.

If it is set on different charts and works independently of each other, it does not mean that the EA is multi-currency.

The question is what to set it on one chart and work with those pairs that are in the market overview. And the tick data can be obtained directly from them more quickly and efficiently than Timer or ChartEvent.

Indicators can run automatically from an EA that needs ticks. I suggested - look for it, there are ready-made solutions.

The speed of chart events is enough, you can't even measure the delay.

 
Alexey Kozitsyn:
If we're talking about COPY_TICKS_INFO ticks, as far as I remember, it's so. If you run OnCalculate() and OnBookEvent() in parallel, and request SymbolInfoTick(), OnBookEvent() will show more ticks than OnCalculate().

No link left to a discussion, bug report or anything like that? Or just a feeling that there was one, but haven't checked it now?

As far as I remember, the collected ticks in OnCalculate matched those requested via CopyTicks.

 
Vladimir Pastushak:

Friends, I'm trying to figure out what a date feed is and I can't figure it out, if you're so kind and knowledgeable, explain to me an old man what it is

Date feed?

What is it good for?


Rinat explained, like last fall. This is the type of programs that will work without reference to the schedule. Like services in Windows. That's how I remember it.
 
Andrey Khatimlianskii:

Indicators can be run automatically from an EA that needs ticks. I suggested - look for it, there are ready-made solutions.

On multi-core EAs will be useful. Of course, if you sit on the muwings, services are not needed.
 
Alexey Kozitsyn:
There's nothing to be saved here. You can't process absolutely every tick.

Absolutely everyone and you don't need to, there are unnecessary ones among them. At least for two reasons, the server's time stamped on the tick may be less on the next tick than on the previous one:

1. Route of passing of a packet with this tick turned out to be considerably longer than usual.

2. The server moved backward time by usual synchronization protocols, NTP or even SNTP(second precision), without special smoothing means.

In both cases, ticks with previous time should be ignored. Basically, this filtering should be done by terminal itself, I don't know if it does. I checked it only in 2007, there was no such filtering.


About datafeeds. As long as I've encountered this term, I had a feeling that this word means a source of data (quotes). Literally "data filler". When we speak about custom instruments, I understand that we may calculate the quotes for, for example, MXNRUB quoted by no one using the known rates MXNUSD and USDRUB unloaded from the terminal into .csv format and legalize new quotes for the terminal by specifying the .csv file as a new datafile. Perhaps there will be a more elegant solution, without uploading to files, by online operations */ over ticks (MXNRUB = MXNUSD * USDRUB). And that would be a new datafeed.

SNTP — Википедия
  • ru.wikipedia.org
SNTP Название: Уровень (по модели OSI): Семейство: Порт/ID: Назначение протокола: Спецификация: SNTP (англ.  ) — протокол синхронизации времени по компьютерной сети. Является упрощённой реализацией протокола NTP. Используется во встраиваемых системах и устройствах, не требующих высокой точности, а также в пользовательских программах...