Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
War am Computer, hat keine Berechnungen gemacht. Die CPU wurde nicht mit irgendetwas belastet.
19 ms und 48 ms für die Ausführung von SymbolInfoTick. Es gab mehrere Dutzend Fälle, in denen die Dauer Hunderte von Mikrosekunden betrug. Aber ich habe sie nicht zitiert.
Offenbar müssen wir, um es zu reproduzieren, die Kampfberater 24 Stunden lang laufen lassen und dann nur noch beobachten. Meiner Meinung nach ist es unrealistisch, herauszufinden, was solche Verzögerungen auslöst.
Manchmal pumpt der Computer auch Updates oder führt Serviceaufgaben aus. Auch Schwankungen der Netzspannung können sie beeinflussen. Auf diese Weise kann man zu programmierbaren Netzwerkkarten gelangen, bei denen die gesamte Bot-Logik fest verdrahtet ist :) aber auch dort wird es aufgrund von Quantenfeldfluktuationen Verzögerungen geben
Die Entwickler haben ihr Möglichstes getan. Außerdem hat die Branche einen Code zur Verfügung gestellt, der zeigt, wie die Zecke der Market Watch hinterherhinkt und umgekehrt. Die Reihenfolge, in der die Zecken ankommen, ist gestört und wahrscheinlich noch etwas anderes. Alles in allem wird ein böser gültiger Code veröffentlicht, um andere Situationen zu reproduzieren.
SymbolInfoTick sendet die vom Server des Brokers empfangenen Daten. Was der Server sendet, ist das, was Sie bekommen.
WirdSymbolInfoTick() im blockierenden Modus oder im nicht blockierenden Modus ausgeführt?
Zum Beispiel, es ist in den Körper der while-Schleife und es gibt keine Verbindung oder Markt ist geschlossen für Wochenende,
dann wird es durch Anhalten der Schleife blockiert werden oder es wird asynchron ausgeführt werden?
wie die Marktbeobachtung der Marktbeobachtung hinterherhinkt und vice versa.
D.h. SymbolInfoTick fängt einen neuen Tick ab und wir erhalten einen anderen Ask und Bid durch das Polling des Market Watch (ohne auf ein Market Watch Change Event zu warten)? Vor einem Jahr oder so war das noch nicht möglich. SymbolInfoTick und CopyTick und vintage führen immer zum gleichen Tick. Wenn Sie Ticks durch verschiedene OnXXX-Funktionen erhalten, werden Sie natürlich etwas durch eine Funktion und etwas durch eine andere erhalten...
d.h. SymbolInfoTick fängt einen neuen Tick auf und wir erhalten einen anderen Ask und Bid durch das Polling des Cups (ohne auf das Cup Change Event zu warten) ?
Hier.
Hier.
Wie ich dachte, testen Sie OnBookEvent und OnTick, nicht MarketBookGet und SymbolInfoTick. Wenn Sie nach diesem Schema testen würden, würde alles übereinstimmen:
p.s. Lesen Sie Ihre Beiträge unten. Sie verstehen es auch. Warum brauchen Sie OnBookEvent und OnTick überhaupt ? In meinem Beispiel dauert Sleep(1) 1-2 Millisekunden, Request und Tick mit SymbloInfoTick dauert weniger als eine Mikrosekunde. Der Prozessor befindet sich bereits in 99,9 % der Zeit im Ruhezustand, wenn es keine Ticks gibt. Was ist der Vorteil der Verwendung von OnBookEvent und OnTick?
Wie ich dachte, testen Sie OnBookEvent und OnTick, nicht MarketBookGet und SymbolInfoTick. Wenn Sie nach diesem Schema testen würden, würde alles übereinstimmen:
p.s. Lesen Sie Ihre Beiträge unten. Sie verstehen es auch. Warum brauchen Sie OnBookEvent und OnTick überhaupt ? In meinem Beispiel dauert Sleep(1) 1-2 Millisekunden, Request und Tick mit SymbloInfoTick dauert weniger als eine Mikrosekunde. Der Prozessor befindet sich bereits in 99,9 % der Zeit im Ruhezustand, wenn es keine Ticks gibt. Was ist der Vorteil der Verwendung von OnBookEvent und OnTick?
Ohne einen Hauch von Diplomatie reden Sie nur Unsinn. Sleep(1) ist eine Zehntel Millisekunde. Ich sehe nur eine Theorie.
Die Benutzer von OnTick wollen eine frische Zecke sehen und nicht diejenige, die schon vor einiger Zeit im Terminal angekommen ist. Sie können SymbolInfoTick direkt nach MarketBookGet in den Quellcode einfügen.
Die Entwickler haben zwei Probleme mit ihrem Schweigen voll und ganz zugegeben.
Ohne einen Hauch von Diplomatie reden Sie nur Unsinn. Sleep(1) ist ein Dutzend Millisekunden lang. Ich sehe nur eine Theorie.
Die Benutzer wollen in OnTick einen frischen Tick sehen und nicht einen Tick, der schon vor einiger Zeit im Terminal angekommen ist. Sie können SymbolInfoTick direkt nach MarketBookGet in den Quellcode einfügen.
Die Entwickler haben durch ihr Schweigen zwei Probleme vollständig anerkannt.
Nicht immer und nicht jede Zehntelmillisekunde. Überprüft mit einem einfachen Skript
Hier ist mein Protokoll
OnTick-Benutzer sehen immer die frischeste Zecke.
OnBookEvent-Benutzer sehen immer den neuesten Tick.
Wenn Sie jedoch die mit OnTick und OnBookEvent empfangenen Ticks vergleichen wollen, werden Sie enttäuscht sein, da die Ereignisse nicht parallel, sondern nacheinander verarbeitet werden. Das wollte der Benutzer pivomoe Ihnen sagen
Nicht immer und nicht überall eine Zehntelmillisekunde. Überprüft mit einem einfachen Skript
Hier ist mein Protokoll.
Und hier ist mein Protokoll.
Ergebnis.
OnTick-Benutzer sehen immer die frischeste Zecke.
OnBookEvent-Benutzer sehen immer den neuesten Tick.
Das Ergebnis der Ausführung des EA auf einem einzelnen Chart von einem Rechner aus, der in keiner Weise ausgelastet ist.
Markiert identische Ticks, die in verschiedenen On-Funktionen durch entsprechende Methoden empfangen werden. Die Verzögerung kann bis zu zehn Millisekunden betragen, wenn sie auf sechs statt auf einer Karte ausgeführt wird.
Wenn Sie jedoch die in OnTick empfangenen Ticks mit den in OnBookEvent empfangenen vergleichen wollen, werden Sie enttäuscht sein, da die Ereignisse nicht parallel, sondern nacheinander verarbeitet werden. Was Benutzer pivomoe Ihnen zu sagen versuchte
Wenn ein fast leeres OnBookEvent/OnTick 20 Millisekunden später ausgelöst wird als das entsprechende fast leere OnTick/OnBookEvent, ist das OK?
ZS Wenn Sie schon auf das Thema achten, hier gibt es einen weiteren Reproduktionscode. In Market Watch kommen die Ticks mit einer früheren Zeit als die Market Watch Zeit davor herein.
Wenn ein fast leeres OnBookEvent/OnTick 20 Millisekunden später ausgelöst wird als das entsprechende fast leere OnTick/OnBookEvent, ist das OK?
Die EA-Warteschlange ist eine sperrbare Ressource. Wenn ein Ereignis in die Warteschlange geschrieben wird, wartet der Expert Advisor (es sei denn, der Expert Advisor verarbeitet gerade ein Ereignis)
Ereignisse für den Expert Advisor kommen aus der Ereigniswarteschlange des entsprechenden Charts, die wiederum aus dem Verarbeitungszyklus des entsprechenden Symbols stammt. Und diese Verarbeitungsschleife verteilt nicht nur Ereignisse auf ihre eigenen Diagramme, sondern erledigt auch eine Menge anderer Dinge.
Ich habe Ihnen bereits gesagt, dass Windows kein Echtzeitbetriebssystem ist.