Sie müssen beide EAs ausführen, um die Ergebnisse zu vergleichen.
Aber ich weiß schon, dass es dasselbe sein wird, ABER
nur wenn es sich um OnTick() handelt, kommt es zu einer Verzögerung der Ergebnisse,
d.h. nicht in Echtzeit.
Es wird keine Verzögerung geben. Im Gegenteil, wenn Sie viele Instrumente abonnieren, um den Stack zu aktualisieren, kann OnTick schneller arbeiten. Seien Sie nicht zu faul zum Vergleichen.
Es wird keine Verzögerung geben. Im Gegenteil, wenn Sie die Aktienaktualisierungen für viele Instrumente abonnieren, kann OnTick schneller arbeiten. Seien Sie nicht zu faul zum Vergleichen.
Und warum sollte man nicht alle möglichen Einsätze abonnieren?
Sie könnten sich etwas anderes einfallen lassen.
Bei einem einzelnen Werkzeug mit einem einzigen Tick-Abonnement wird OnBookEvent() häufiger ausgelöst als OnTick().
2020.01.23 16:56:53.226 Ticks_test (GOLD-3.20,M1) OnTick Tick is done!
2020.01.23 16:56:53.226 Ticks_test (GOLD-3.20,M1) OnBookEvent Tick is done!
2020.01.23 16:56:53.712 Ticks_test (GOLD-3.20,M1) OnTick Tick is done!
2020.01.23 16:56:53.712 Ticks_test (GOLD-3.20,M1) OnBookEvent Tick is done!
2020.01.23 16:56:53.930 Ticks_test (GOLD-3.20,M1) OnBookEvent Tick is done!
2020.01.23 16:56:53.996 Ticks_test (GOLD-3.20,M1) OnTick Tick is done!
2020.01.23 16:56:53.996 Ticks_test (GOLD-3.20,M1) OnBookEvent Tick is done!
2020.01.23 16:56:54.016 Ticks_test (GOLD-3.20,M1) OnBookEvent Tick is done!
2020.01.23 16:56:54.280 Ticks_test (GOLD-3.20,M1) OnBookEvent Tick is done!
2020.01.23 16:56:54.392 Ticks_test (GOLD-3.20,M1) OnBookEvent Tick is done!
Ein neues Paket von Zecken kommt an - OnBookEvent() wird ausgelöst.
Wenn Sie meine Version nicht mögen, schreiben Sie Ihre eigene.
Übrigens, das Ergebnis ist höher, mit 84 Bechern auf der realen unterzeichnet!
Главным преимуществом торговых терминалов MetaTrader является возможность создания автоматических торговых систем, способных совершать торговые операции без вмешательства трейдера, что позволяет исключить влияние психологии на результаты торговли. Для этого нужно сформулировать торговую стратегию и реализовать ее в виде программы на языке MQL...
Warum melden Sie sich nicht für alle möglichen Zuhaltungen an, die möglich sind?
Sie könnten sich etwas anderes einfallen lassen.
Bei einem Werkzeug mit einem einzigen Glasabonnement wird OnBookEvent() häufiger ausgelöst als OnTick()
Welchen Unterschied macht es, wie viele OnBookEvent-Ereignisse eintreffen? Sie haben angegeben, dass der Empfang von Ticks früher als OnTick erfolgen soll. Und ich schlug vor, dies zu überprüfen, um die Zeit des Empfangs eines Ticks dort und dort auszugeben (nur nicht im selben EA).
Prostotrader:
Und das war's dann auch schon!
Sie haben nur Fantasien und Annahmen, und
Und ich habe 7 Jahre Erfahrung im Schreiben von Robotern und erfolgreichen Handel auf FORTS +
Ich habe einen speziellen Arbeitscode.
Sie haben die Souveränität, die in all Ihren Botschaften widerhallt. Warum Sie beschlossen haben, dass FORTS nur mit OnBookEvent funktionieren kann, wissen nur Sie.
Aber Respekt vor dem Kodex. Wenn ich die Zeit finde, werde ich meinen Beitrag veröffentlichen. Dies ist keine vorrangige Aufgabe.
Welchen Unterschied macht es, wie viele OnBookEvent-Ereignisse eintreffen? Sie haben angegeben, dass der Empfang eines Tick früher als bei OnTick erfolgt. Und ich schlug vor, dass Sie es überprüfen, geben Sie die Zeit des Empfangs einer Zecke dort und dort (nur nicht in der gleichen EA).
Sie haben eine Souveränität, die in jedem Beitrag widerhallt. Warum Sie beschlossen haben, dass FORTS nur mit OnBookEvent funktionieren kann, wissen nur Sie.
Aber Respekt vor dem Kodex. Wenn ich Zeit finde, werde ich meinen Beitrag veröffentlichen. Dies ist keine vorrangige Aufgabe.
Sie können durcharbeiten, was Sie wollen!
Ich habe meine Lösung veröffentlicht, die auf meiner Erfahrung mit FORTS beruht.
Ich würde Ihnen zustimmen, wenn ich sagen würde, dass ichin meinem Verhalten, in meiner Rede zuselbstsicher war.
Ich würde Ihnen zustimmen, wenn ich keine Erfahrung hätte.
2020.01.3019:31:11.112 Test_freeze (BR-3.20,M1) OnTick Tick is done!
2020.01.3019:31:11.113 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.132 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.192 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.199 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.219 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.249 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.261 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.309 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.323 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.414 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.433 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.539 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.667 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.703 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.789 Test_freeze (BR-3.20,M1) OnBookEvent Tick is done!
2020.01.3019:31:11.802 Test_freeze (BR-3.20,M1) OnTick Tick is done!
Zeitpunkt des ersten OnTick()2020.01.3019:31:11.112
Zeit der Sekunde OnTick()2020.01.3019:31:11.802
Das heißt, zwischen dem OnTick() dieser 690 ms sind inzwischen 690 ms vergangen
OnBookEvent() wurde 15 Mal ausgelöst
Glauben Sie, dass diese Auslöser nichts mit Zecken zu tun haben?
Nun, lesen Sie die OnBookEvent()-Hilfe.
События BookEvent никогда не пропускаются и всегда ставятся в очередь, даже если в данный момент еще не закончена обработка предыдущего события BookEvent.
При этом необходимо иметь в виду, что события BookEvent доставляются сами по себе и не несут с собой состояния стакана заявок.
Это означает, что вызов MarketBookGet() из обработчика OnBookEvent() позволяет получить текущее актуальное состояние стакана на момент вызова,
а не то состояние стакана, которое вызвало отправку события BookEvent.
Для гарантированного получения всех уникальных состояний стакана функция OnBookEvent() должна быть максимально быстрой.
Ein neuer Tick-Stapel trifft ein - OnBookEvent() wird garantiert ausgelöst - dies bietet die Möglichkeit, die Ticks in Echtzeit mit CopyTicks() zu erhalten.
Mit OnTick() können Sie hingegen nur Ticks aus der Historie abrufen.
Sie erhalten sie alle und es fehlt an nichts, aber nicht in Echtzeit.
Es ist sehr seltsam, dass ich das alles jemandem, der viel Erfahrung hat, so detailliert erklären muss.
Auch hier steht es jedem frei, die Programmierung und die Handelsmethoden zu wählen , die ihm gefallen!
Hinzugefügt
Es gibt einen weiteren wichtigen Punkt, den viele Menschen vergessen.
Dies ist die Geschwindigkeit, mit der der EA durch Analyse der Eingabedaten eine Entscheidung trifft.
Wenn Sie OnBookEvent() anstelle von OnTick() verwenden, wird mein EA schneller sein als Ihrer.
Zeitpunkt des ersten OnTick()2020.01.3019:31:11.112
Zeit der Sekunde OnTick()2020.01.3019:31:11.802
Das heißt, zwischen dem OnTick() dieser 690 ms sind inzwischen 690 ms vergangen
OnBookEvent() wurde 15 Mal ausgelöst
Glauben Sie, dass diese Auslöser nichts mit Zecken zu tun haben?
Bitte drucken Sie auch die Werte der Häkchen aus. Aus dem obigen Protokoll ist nicht ersichtlich, dass OnBookEvent eine Änderung in der MqlTick-Struktur erfasst hat.
Wenn Sie SellLimit außerhalb der Spanne setzen, wird ein OnBookEvent-Ereignis ausgelöst, aber es wird kein Handel oder keine Änderung von BestBid/BestAsk/BestVolume erzeugt. D.h. INFO und LAST tick Bänder (CopyTicks Geschichte) werden nicht aktualisiert.
Drucken Sie bitte auch die Häkchenwerte aus. Aus dem obigen Protokoll geht nicht hervor, dass OnBookEvent die Änderung der MqlTick-Struktur erfasst hat.
Wenn SellLimit außerhalb des Spreads gesetzt wird, wird ein OnBookEvent-Ereignis erzeugt, aber es wird kein Handel oder keine BestBid/BestAsk/BestVolume-Änderung erzeugt. D.h. INFO und LAST tick Bänder (CopyTicks Geschichte) werden nicht aktualisiert.
Warum drucken Sie es aus?
In der ersten Zeile der OnBookEvent()-Beschreibung steht
Вызывается в индикаторах и экспертах при наступлении события BookEvent.
Функция предназначена для обработки изменений стакана цен (Depth of Market).
In der ersten Zeile der OnBookEvent()-Beschreibung steht
Wenn Sie messen, wie viele BookEvent-Ereignisse in einer Stunde stattfinden und wie viele Einträge in CopyTicks, können Sie eine Schlussfolgerung ziehen.
Ersetzen Sie OnBookEvent in Ihrem Code durch OnTick, und vergleichen Sie das Ergebnis.
Man kann die Ergebnisse nicht vergleichen :)
Sie müssen beide EAs gleichzeitig ausführen, um die Ergebnisse zu vergleichen.
Aber ich weiß schon, dass es dasselbe sein wird, ABER
aber wenn ich OnTick() ausführe, kommt es manchmal zu einer Verzögerung der Ergebnisse,
d.h. nicht in Echtzeit.
Man kann die Ergebnisse nicht vergleichen :)
Sie müssen beide EAs ausführen, um die Ergebnisse zu vergleichen.
Aber ich weiß schon, dass es dasselbe sein wird, ABER
nur wenn es sich um OnTick() handelt, kommt es zu einer Verzögerung der Ergebnisse,
d.h. nicht in Echtzeit.
Es wird keine Verzögerung geben. Im Gegenteil, wenn Sie viele Instrumente abonnieren, um den Stack zu aktualisieren, kann OnTick schneller arbeiten. Seien Sie nicht zu faul zum Vergleichen.
Es wird keine Verzögerung geben. Im Gegenteil, wenn Sie die Aktienaktualisierungen für viele Instrumente abonnieren, kann OnTick schneller arbeiten. Seien Sie nicht zu faul zum Vergleichen.
Und warum sollte man nicht alle möglichen Einsätze abonnieren?
Sie könnten sich etwas anderes einfallen lassen.
Bei einem einzelnen Werkzeug mit einem einzigen Tick-Abonnement wird OnBookEvent() häufiger ausgelöst als OnTick().
Ein neues Paket von Zecken kommt an - OnBookEvent() wird ausgelöst.
Wenn Sie meine Version nicht mögen, schreiben Sie Ihre eigene.
Übrigens, das Ergebnis ist höher, mit 84 Bechern auf der realen unterzeichnet!
Hinzugefügt
Hier ist mehr
Hinzugefügt
Und das war's für heute!
Sie haben nur Fantasien und Annahmen, und
Ich habe 7 Jahre Erfahrung im Schreiben von Robotern und erfolgreichem Handel auf FORTS +
Ich habe einen konkreten Arbeitscode.
Es gab einen Fehler im Code.
Mit Korrekturen auf Seite 5 veröffentlicht
https://www.mql5.com/ru/forum/331060/page5#comment_14783678
Warum melden Sie sich nicht für alle möglichen Zuhaltungen an, die möglich sind?
Sie könnten sich etwas anderes einfallen lassen.
Bei einem Werkzeug mit einem einzigen Glasabonnement wird OnBookEvent() häufiger ausgelöst als OnTick()
Welchen Unterschied macht es, wie viele OnBookEvent-Ereignisse eintreffen? Sie haben angegeben, dass der Empfang von Ticks früher als OnTick erfolgen soll. Und ich schlug vor, dies zu überprüfen, um die Zeit des Empfangs eines Ticks dort und dort auszugeben (nur nicht im selben EA).
Und das war's dann auch schon!
Sie haben nur Fantasien und Annahmen, und
Und ich habe 7 Jahre Erfahrung im Schreiben von Robotern und erfolgreichen Handel auf FORTS +
Ich habe einen speziellen Arbeitscode.
Sie haben die Souveränität, die in all Ihren Botschaften widerhallt. Warum Sie beschlossen haben, dass FORTS nur mit OnBookEvent funktionieren kann, wissen nur Sie.
Aber Respekt vor dem Kodex. Wenn ich die Zeit finde, werde ich meinen Beitrag veröffentlichen. Dies ist keine vorrangige Aufgabe.
Welchen Unterschied macht es, wie viele OnBookEvent-Ereignisse eintreffen? Sie haben angegeben, dass der Empfang eines Tick früher als bei OnTick erfolgt. Und ich schlug vor, dass Sie es überprüfen, geben Sie die Zeit des Empfangs einer Zecke dort und dort (nur nicht in der gleichen EA).
Sie haben eine Souveränität, die in jedem Beitrag widerhallt. Warum Sie beschlossen haben, dass FORTS nur mit OnBookEvent funktionieren kann, wissen nur Sie.
Aber Respekt vor dem Kodex. Wenn ich Zeit finde, werde ich meinen Beitrag veröffentlichen. Dies ist keine vorrangige Aufgabe.
Sie können durcharbeiten, was Sie wollen!
Ich habe meine Lösung veröffentlicht, die auf meiner Erfahrung mit FORTS beruht.
Ich würde Ihnen zustimmen, wenn ich sagen würde, dass ichin meinem Verhalten, in meiner Rede zuselbstsicher war.
Ich würde Ihnen zustimmen, wenn ich keine Erfahrung hätte.
Zeitpunkt des ersten OnTick()2020.01.30 19:31:11.112
Zeit der Sekunde OnTick()2020.01.30 19:31:11.802
Das heißt, zwischen dem OnTick() dieser 690 ms sind inzwischen 690 ms vergangen
OnBookEvent() wurde 15 Mal ausgelöst
Glauben Sie, dass diese Auslöser nichts mit Zecken zu tun haben?
Nun, lesen Sie die OnBookEvent()-Hilfe.
Ein neuer Tick-Stapel trifft ein - OnBookEvent() wird garantiert ausgelöst - dies bietet die Möglichkeit, die Ticks in Echtzeit mit CopyTicks() zu erhalten.
Mit OnTick() können Sie hingegen nur Ticks aus der Historie abrufen.
Sie erhalten sie alle und es fehlt an nichts, aber nicht in Echtzeit.
Es ist sehr seltsam, dass ich das alles jemandem, der viel Erfahrung hat, so detailliert erklären muss.
Auch hier steht es jedem frei, die Programmierung und die Handelsmethoden zu wählen , die ihm gefallen!
Hinzugefügt
Es gibt einen weiteren wichtigen Punkt, den viele Menschen vergessen.
Dies ist die Geschwindigkeit, mit der der EA durch Analyse der Eingabedaten eine Entscheidung trifft.
Wenn Sie OnBookEvent() anstelle von OnTick() verwenden, wird mein EA schneller sein als Ihrer.
Zeitpunkt des ersten OnTick()2020.01.30 19:31:11.112
Zeit der Sekunde OnTick()2020.01.30 19:31:11.802
Das heißt, zwischen dem OnTick() dieser 690 ms sind inzwischen 690 ms vergangen
OnBookEvent() wurde 15 Mal ausgelöst
Glauben Sie, dass diese Auslöser nichts mit Zecken zu tun haben?
Bitte drucken Sie auch die Werte der Häkchen aus. Aus dem obigen Protokoll ist nicht ersichtlich, dass OnBookEvent eine Änderung in der MqlTick-Struktur erfasst hat.
Wenn Sie SellLimit außerhalb der Spanne setzen, wird ein OnBookEvent-Ereignis ausgelöst, aber es wird kein Handel oder keine Änderung von BestBid/BestAsk/BestVolume erzeugt. D.h. INFO und LAST tick Bänder (CopyTicks Geschichte) werden nicht aktualisiert.
Drucken Sie bitte auch die Häkchenwerte aus. Aus dem obigen Protokoll geht nicht hervor, dass OnBookEvent die Änderung der MqlTick-Struktur erfasst hat.
Wenn SellLimit außerhalb des Spreads gesetzt wird, wird ein OnBookEvent-Ereignis erzeugt, aber es wird kein Handel oder keine BestBid/BestAsk/BestVolume-Änderung erzeugt. D.h. INFO und LAST tick Bänder (CopyTicks Geschichte) werden nicht aktualisiert.
Warum drucken Sie es aus?
In der ersten Zeile der OnBookEvent()-Beschreibung steht
Warum drucken Sie es aus?
In der ersten Zeile der OnBookEvent()-Beschreibung steht
Wenn Sie messen, wie viele BookEvent-Ereignisse in einer Stunde stattfinden und wie viele Einträge in CopyTicks, können Sie eine Schlussfolgerung ziehen.
Wenn Sie messen, wie viele BookEvent-Ereignisse pro Stunde auftreten und wie viele Einträge in CopyTicks, können Sie daraus schließen.
Oben finden Sie den Code, überprüfen Sie ihn selbst.
Es gibt einen funktionierenden Code.
Ich glaube, es funktioniert in Echtzeit und sicherlich schneller,
als OnTick().
Was ist das Problem? Tu dies, tu das...
Sie müssen Ihren funktionierenden Code veröffentlichen, um etwas zu beweisen oder zu widerlegen!