Services, neue Funktionen in der MT5-Architektur, die Beerdigung von MT4 steht vor der Tür. - Seite 7

 
Und Sie haben noch nie ein Multithread-Computerspiel in Visual C++ geschrieben, wo natürlich eine Thread-Synchronisierung erforderlich ist.
 
Alexey Kozitsyn:
Auch OnCalculate() überspringt Ticks.
Das ist nicht der Fall.
 
Petros Shatakhtsyan:
Das Problem wird gelöst, indem der Indikator für jedes Instrument ausgeführt und ein "Tick"-Ereignis abgerufen wird. Suchen Sie auf der Website, es wurde bereits in den frühen Tagen des MT5 diskutiert.
 
Andrey Khatimlianskii:
Das ist es nicht.
Wenn es sich um COPY_TICKS_INFO-Ticks handelt, ist das, soweit ich mich erinnere, der Fall. Wenn Sie OnCalculate() und OnBookEvent() parallel ausführen und SymbolInfoTick() anfordern, zeigt OnBookEvent() mehr Ticks als OnCalculate().
 
Andrey Khatimlianskii:
Das Problem wird gelöst, indem der Indikator für jedes Instrument ausgeführt und das "Tick"-Ereignis abgerufen wird. Suchen Sie auf der Website, es wurde bereits in den frühen Tagen des MT5 diskutiert.


Ist das die Lösung? Der Expert Advisor wird dort installiert, wo Sie es wünschen, und sie arbeiten alle parallel.

Wenn er auf verschiedenen Charts eingestellt ist und unabhängig voneinander funktioniert, bedeutet das nicht, dass der EA Multi-Currency ist.

Die Frage ist, was man auf einem Chart einstellen und mit den Paaren arbeiten soll, die in der Marktübersicht stehen. Und die Tick-Daten können direkt von ihnen schneller und effizienter abgerufen werden als vom Timer oder ChartEvent.

 
Petros Shatakhtsyan:


Ist das eine Lösung? Der Expert Advisor wird an einem beliebigen Ort installiert und alle arbeiten parallel.

Wenn er auf verschiedenen Charts eingestellt ist und unabhängig voneinander funktioniert, bedeutet das nicht, dass der EA Multi-Currency ist.

Die Frage ist, was man auf einem Chart einstellen und mit den Paaren arbeiten soll, die in der Marktübersicht stehen. Und die Tickdaten können schneller und effizienter direkt von ihnen bezogen werden als von Timer oder ChartEvent.

Indikatoren können automatisch von einem EA ausgeführt werden, der Ticks benötigt. Ich schlug vor - suchen Sie danach, es gibt fertige Lösungen.

Die Geschwindigkeit der Kartenereignisse reicht aus, man kann nicht einmal die Verzögerung messen.

 
Alexey Kozitsyn:
Wenn wir über COPY_TICKS_INFO-Ticks sprechen, ist es, soweit ich mich erinnere, so. Wenn Sie OnCalculate() und OnBookEvent() parallel ausführen und SymbolInfoTick() anfordern, zeigt OnBookEvent() mehr Ticks als OnCalculate().

Es gibt keinen Link zu einer Diskussion, einem Fehlerbericht oder ähnlichem? Oder haben Sie nur das Gefühl, dass es eine gab, aber Sie haben es nicht überprüft?

Soweit ich mich erinnere, entsprachen die in OnCalculate gesammelten Ticks denen, die über CopyTicks angefordert wurden.

 
Vladimir Pastushak:

Freunde, ich versuche herauszufinden, was ein Date-Feed ist, und ich kann es nicht herausfinden. Wenn ihr so freundlich und sachkundig seid, erklärt mir, einem alten Mann, was das ist.

Datumseinzug?

Wozu ist es gut?


erklärte Rinat, wie im letzten Herbst. Dies ist die Art von Programmen, die ohne Bezug auf den Zeitplan funktionieren. Wie Dienste in Windows. So habe ich es in Erinnerung.
 
Andrey Khatimlianskii:

Indikatoren können automatisch von einem EA ausgeführt werden, der Ticks benötigt. Ich schlug vor - suchen Sie danach, es gibt fertige Lösungen.

Auf Multicore-EAs wird das nützlich sein. Wenn Sie auf den Muwings sitzen, brauchen Sie natürlich keine Dienste.
 
Alexey Kozitsyn:
Hier gibt es nichts mehr zu retten. Man kann nicht jeden Tick verarbeiten.

Auf jeden Fall alle, und das ist auch nicht nötig, denn es sind auch unnötige dabei. Zumindest aus zwei Gründen kann der Zeitstempel des Servers auf dem Tick beim nächsten Tick kleiner sein als beim vorherigen:

1. Der Weg eines Pakets mit diesem Häkchen erwies sich als wesentlich länger als üblich.

2. Der Server schiebt die Zeit mit den üblichen Synchronisationsprotokollen, NTP oder sogar SNTP(Sekundengenauigkeit), ohne besondere Glättungsmittel zurück.

In beiden Fällen sollten Ticks mit vorheriger Zeit ignoriert werden. Im Grunde sollte diese Filterung vom Terminal selbst vorgenommen werden, ich weiß aber nicht, ob dies der Fall ist. Ich habe es erst 2007 überprüft, da gab es noch keine solche Filterung.


Über Datafeeds. Solange ich diesen Begriff kenne, hatte ich das Gefühl, dass es sich um eine Datenquelle (Zitate) handelt. Wörtlich "Datenfüller". Wenn wir über benutzerdefinierte Instrumente sprechen, verstehe ich, dass wir die Notierungen für z.B. MXNRUB, die von niemandem notiert werden, mit den bekannten Kursen MXNUSD und USDRUB, die vom Terminal in das .csv-Format entladen werden, berechnen und neue Notierungen für das Terminal legalisieren können, indem wir die .csv-Datei als neue Datendatei angeben. Vielleicht gibt es eine elegantere Lösung, ohne Hochladen in Dateien, durch Online-Operationen */ über Ticks (MXNRUB = MXNUSD * USDRUB). Und das wäre ein neuer Datafeed.

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