![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Es ist ratsam, die Computerzeit genau einzuhalten, damit die Wahrscheinlichkeit, dass die Protokolle falsch sind, geringer ist.
Danke für das Skript: hier sind die Ergebnisse dieses Skripts in 1 Minute 17:36
Die Besonderheit von OnTick ist, dass es sowohl auf Bid/Ask-Änderungen (Informationsfluss) als auch auf Last (Handelsfluss) reagiert.
Infolgedessen ist die Zahl der OnTick-Aufrufe für börsengehandelte Instrumente bewusst größer als die Zahl der Handelsgeschäfte.
Warum wird das so gemacht?
es ist unmöglich, in der Live-Marktübersicht Null Last und Last_Volume anzugeben, da einige Händler explodieren werden
Ein weiterer Punkt ist die Tatsache, dass bei Batch-Updates, wenn zwei oder mehr Ticks auf einem Instrument gleichzeitig eintreffen, OnTick einmal aufgerufen wird. Dies ermöglicht es uns, den Fluss der eingehenden Kurse nicht zu verlangsamen und keine riesige Warteschlange von Ticks für die verlangsamenden Expert Advisors zu bilden.
In Kürze werden wir den Zeit- und Umsatzfluss aktivieren, was uns eine genaue Analyse der Handelsdaten ermöglichen wird.
Es ist ratsam, die Computerzeit genau einzuhalten, damit die Wahrscheinlichkeit, dass die Protokolle falsch sind, geringer ist.
Danke für das Skript: hier sind die Ergebnisse dieses Skripts in 1 Minute 17:36
Die Besonderheit von OnTick ist, dass es sowohl auf Bid/Ask-Änderungen (Informationsfluss) als auch auf Last (Handelsfluss) reagiert.
Infolgedessen ist die Zahl der OnTick-Aufrufe für börsengehandelte Instrumente bewusst größer als die Zahl der Handelsgeschäfte.
Warum wird das so gemacht?
es ist unmöglich, in der Live-Marktübersicht Null Last und Last_Volume anzugeben, da einige Händler explodieren würden
Ein weiterer Punkt ist die Tatsache, dass bei Batch-Updates, wenn zwei oder mehr Ticks gleichzeitig eintreffen, OnTick einmal aufgerufen wird. Dadurch wird der Fluss der eingehenden Kurse nicht verlangsamt und es entsteht keine riesige Warteschlange von Ticks, die EAs verlangsamen.
In Kürze werden wir einen Time & Sales Stream einbinden, der uns die Möglichkeit gibt, das Tape der Trades genau zu analysieren.
Das ist natürlich alles toll, aber für FORTS, wo es Stapel gibt, hätte ein Quote-Flag zur MqlTick-Struktur hinzugefügt werden sollen.
Die "Vervielfältigung" von Geschäften ist nicht schlimm - das Schlimmste ist, dass die echten Geschäfte verloren gehen.
P.S. Mein BAN hängt mit meiner IP-Adresse zusammen, bitte entfernen Sie sie, sonst muss ich jedes Mal meinen Browser neu installieren, um Ihnen zu antworten.
Есть еще один момент с тем, что на пакетных обновлениях, когда одновременно приходят два и более тика по инструменту, то OnTick вызывается однократно. Это позволяет не тормозить поток входящих котировок и не делать огромную очередь тиков для тормозящих экспертов.
Dieser Ansatz führt zu folgendem Ergebnis:
So sollte es auch sein:
Papier Zeit(mcs) Preis Menge
317922.000000 RTS-12.14 [FORTS] 18:44:54 199000.000000 104140.000000 1.000000317923.000000 RTS-12.14 [FORTS] 18:44:54 261000.000000 104130.000000 1.000000
317924.000000 RTS-12.14 [FORTS] 18:44:54 587000.000000 104140.000000 1.000000
317925.000000 RTS-12.14 [FORTS] 18:44:54 589000.000000 104140.000000 1.000000
317926.000000 RTS-12.14 [FORTS] 18:44:54 691000.000000 104140.000000 1.000000
317927.000000 RTS-12.14 [FORTS] 18:44:54 691000.000000 104140.000000 1.000000
317928.000000 RTS-12.14 [FORTS] 18:44:54 842000.000000 104130.000000 2.000000
317929.000000 RTS-12.14 [FORTS] 18:44:54 919000.000000 104150.000000 1.000000
317930.000000 RTS-12.14 [FORTS] 18:44:55 337000.000000 104150.000000 1.000000
317931.000000 RTS-12.14 [FORTS] 18:44:55 337000.000000 104150.000000 1.000000
317932.000000 RTS-12.14 [FORTS] 18:44:55 337000.000000 104160.000000 1.000000
317933.000000 RTS-12.14 [FORTS] 18:44:55 337000.000000 104160.000000 1.000000
317934.000000 RTS-12.14 [FORTS] 18:44:55 337000.000000 104160.000000 3.000000
317935.000000 RTS-12.14 [FORTS] 18:44:55 375000.000000 104140.000000 1.000000
317936.000000 RTS-12.14 [FORTS] 18:44:55 375000.000000 104130.000000 5.000000
317937.000000 RTS-12.14 [FORTS] 18:44:55 796000.000000 104130.000000 1.000000
317938.000000 RTS-12.14 [FORTS] 18:44:55 799000.000000 104130.000000 2.000000
317939.000000 RTS-12.14 [FORTS] 18:44:56 54000.000000 104160.000000 1.000000
317940.000000 RTS-12.14 [FORTS] 18:44:57 235000.000000 104160.000000 1.000000
317941.000000 RTS-12.14 [FORTS] 18:44:57 451000.000000 104140.000000 2.000000
317942.000000 RTS-12.14 [FORTS] 18:44:57 487000.000000 104140.000000 6.000000
317943.000000 RTS-12.14 [FORTS] 18:44:57 521000.000000 104160.000000 1.000000
317944.000000 RTS-12.14 [FORTS] 18:44:57 621000.000000 104160.000000 1.000000
317945.000000 RTS-12.14 [FORTS] 18:44:58 38000.000000 104160.000000 3.000000
317946.000000 RTS-12.14 [FORTS] 18:44:58 695000.000000 104160.000000 13.000000
317947.000000 RTS-12.14 [FESTUNGEN] 18:44:58 883000.000000 104140.000000 2.000000
317948.000000 RTS-12.14 [FORTS] 18:44:58 986000.000000 104160.000000 1.000000
317949.000000 RTS-12.14 [FORTS] 18:44:58 993000.000000 104160.000000 5.000000
317950.000000 RTS-12.14 [FORTS] 18:44:58 993000.000000 104160.000000 5.000000
317951.000000 RTS-12.14 [FORTS] 18:44:58 995000.000000 104160.000000 5.000000
317952.000000 RTS-12.14 [FORTS] 18:44:58 996000.000000 104160.000000 1.000000
317953.000000 RTS-12.14 [FORTS] 18:44:59 56000.000000 104160.000000 1.000000
317954.000000 RTS-12.14 [FORTS] 18:44:59 560000.000000 104140.000000 1.000000
317955.000000 RTS-12.14 [FORTS] 18:44:59 604000.000000 104140.000000 1.000000
317956.000000 RTS-12.14 [FORTS] 18:44:59 647000.000000 104160.000000 1.000000
Wie in MT5:
NE 0 18:44:54.483 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:54 Bid = 104130 Ask = 104150 Last = 104140 Vol = 1
ES 0 18:44:54.639 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:54 Bid = 104130 Ask = 104150 Last = 104130 Vol = 2
OR 0 18:44:54.720 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:54 Bid = 104130 Ask = 104150 Last = 104150 Vol = 1
NQ 0 18:44:54.983 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:55 Bid = 104140 Ask = 104150 Last = 104150 Vol = 1
FP 0 18:44:55.139 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:55 Bid = 104140 Ask = 104160 Last = 104160 Vol = 3
JO 0 18:44:55.174 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:55 Bid = 104140 Ask = 104160 Last = 104130 Vol = 5
GN 0 18:44:55.206 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:55 Bid = 104130 Ask = 104160 Last = 104130 Vol = 5
RM 0 18:44:55.592 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:55 Bid = 104130 Ask = 104160 Last = 104130 Vol = 2
IL 0 18:44:55.891 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:56 Bid = 104130 Ask = 104160 Last = 104160 Vol = 1
HJ 0 18:44:55.921 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:56 Bid = 104140 Ask = 104160 Last = 104160 Vol = 1
RI 0 18:44:57.032 FORTSTicksAction (RTS-12.14,M1) Uhrzeit = 18:44:57 Bid = 104140 Ask = 104160 Last = 104160 Vol = 1
PH 0 18:44:57.242 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:57 Bid = 104140 Ask = 104160 Last = 104140 Vol = 2
FG 0 18:44:57.297 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:57 Bid = 104140 Ask = 104160 Last = 104140 Vol = 6
PF 0 18:44:57.328 FORTSTicksAction (RTS-12.14,M1) Uhrzeit = 18:44:57 Bid = 104140 Ask = 104160 Last = 104160 Vol = 1
JE 0 18:44:57.436 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:57 Bid = 104140 Ask = 104160 Last = 104160 Vol = 1
QD 0 18:44:57.838 FORTSTicksAction (RTS-12.14,M1) Time = 18:44:58 Bid = 104140 Ask = 104160 Last = 104160 Vol = 3
DP 0 18:44:58.514 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:58 Bid = 104140 Ask = 104160 Last = 104160 Vol = 13
RR 0 18:44:58693 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:58 Bid = 104140 Ask = 104160 Last = 104140 Vol = 2
JP 0 18:44:58795 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:58 Bid = 104140 Ask = 104160 Last = 104160 Vol = 1
CO 0 18:44:58.852 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:59 Bid = 104140 Ask = 104160 Last = 104160 Vol = 1
GN 0 18:44:59.358 FORTSTicksAction (RTS-12.14,M1) Uhrzeit = 18:44:59 Bid = 104140 Ask = 104160 Last = 104140 Vol = 1
MM 0 18:44:59.406 FORTSTicksAction (RTS-12.14,M1) Uhrzeit = 18:44:59 Bid = 104140 Ask = 104160 Last = 104140 Vol = 1
IL 0 18:44:59.453 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:44:59 Bid = 104140 Ask = 104160 Last = 104160 Vol = 1
CK 0 18:50:31.437 FORTSTicksAction (RTS-12.14,M1) Time = 18:50:24 Bid = 0 Ask = 0 Last = 104160 Vol = 1
KH 0 18:50:33.357 FORTSTicksAction (RTS-12.14,M1) Zeit = 18:50:24 Bid = 104080 Ask = 104180 Last = 104160 Vol = 1
Diese sind alle kurz vor Abschluss der Sitzung (d.h. es gibt keine niedrigeren Kurse bis zum Ende des Clearings).
Nehmen wir als Ausgangspunkt die drei schwarz markierten Linien. Es gibt zwei Fragen:
1. wo sind die rot markierten Personen geblieben?
2. Woher stammt die blaue Markierung?
Eine weitere Frage (fakultativ): Welches Zeitintervall bedeutet "gleichzeitige Ankunft"?
Dieser Ansatz führt zu folgendem Ergebnis:
317945.000000 RTS-12.14 [FORTS] 18:44:58 38000.000000 104160.000000 3.000000317946.000000 RTS-12.14 [FORTS] 18:44:58 695000.000000 104160.000000 13.000000
317947.000000 RTS-12.14 [FESTUNGEN] 18:44:58 883000.000000 104140.000000 2.000000
317948.000000 RTS-12.14 [FORTS] 18:44:58 986000.000000 104160.000000 1.000000
317949.000000 RTS-12.14 [FORTS] 18:44:58 993000.000000 104160.000000 5.000000
317950.000000 RTS-12.14 [FORTS] 18:44:58 993000.000000 104160.000000 5.000000
317951.000000 RTS-12.14 [FORTS] 18:44:58 995000.000000 104160.000000 5.000000
317952.000000 RTS-12.14 [FORTS] 18:44:58 996000.000000 104160.000000 1.000000
Es handelt sich dabei um die letzten Kurse kurz vor Sitzungsschluss (d. h. keine niedrigeren Kurse bis zum Ende des Clearings).
Nehmen wir die drei schwarz markierten Zeilen als Ausgangspunkt. Es gibt zwei Fragen:
1. wo sind die rot markierten Personen geblieben?
2. Woher kommt die blaue Markierung?
Eine weitere Frage (fakultativ): Welches Zeitintervall ist mit "gleichzeitiger Ankunft" gemeint?
Es handelt sich nicht um ein Intervall, sondern um ein physisches Netzwerkpaket. Ein Paket kommt bei 2-3-4 Ticks an, die alle in der Basis überlagert werden, aber der OnTick-Aufruf erfolgt einmal.
Es besteht auch die Möglichkeit, dass der Expert Advisor verlangsamt wird (beschäftigt ist) und ein neuer Kurs zur Datenbank hinzugefügt wird, aber OnTick nicht aufgerufen wird, da der Expert Advisor arbeitet. Gäbe es keinen solchen Mechanismus, würden wir die eingehenden Warteschlangen für den Expert Advisor leicht überlaufen lassen und anfangen, die alten Kurse an ihn zu senden.
Renat!
Vielen Dank für die ausführliche Erklärung, aber...
Meines Erachtens ist ein solcher Ansatz für den FORTS nicht akzeptabel.
Sie sollte lauten: Zitat - Lautstärke, und sonst nichts.
Es gab 11 Zitate, also sollte es 11 davon in OnTick geben.
Ist es nicht so?
Falsch.
Verwechseln Sie die Übermittlung korrekter und genauer Datenströme an das Terminal nicht mit dem Anrufen/Benachrichtigen von Experten.
Alle Daten werden genau und korrekt an das Terminal, seine Basis, geliefert. Vergleichen Sie einfach die Tabellen.
Der Start des Expert Advisors hingegen ist eine unabhängige und asynchrone Meldung. Eingehende Datenpakete können nicht auf langsame Experten warten, sondern müssen sofort auf die Marktumgebung angewendet werden und nur optional (wenn der Experte den vorherigen Aufruf beendet hat) den Experten ausführen.
Denken Sie über die Situation: ein Fluss von Zitaten 2 pro Sekunde und Arbeits-Expert Advisor, die Bremsen, macht Trades, aber es erfordert, dass die neuen wartenden Zitate in der Warteschlange nicht auf dem Markt Umwelt des Terminals auferlegt werden, bis der EA seine Arbeit beendet.
Können Sie sich vorstellen, wohin das führen würde? Das gesamte Terminal wird beginnen, alle Vorgänge zu verzögern, nur um der albernen Idee willen, einen Marktüberblick über den Stand der bearbeiteten Notierung zu behalten. Und wenn du an andere Instrumente denkst, erschießt du dich einfach.
Deshalb hat das Overlay für Marktaktualisierungen immer Priorität, es ist sofort und unabhängig von anderen Prozessen. Alle anderen müssen asynchron mit dem Markt mithalten.
Falsch.
Verwechseln Sie die Übermittlung korrekter und genauer Datenströme an das Terminal nicht mit dem Anrufen/Benachrichtigen von Experten.
Alle Daten werden genau und korrekt an das Terminal, seine Basis, geliefert. Vergleichen Sie einfach die Tabellen.
Der Start des Expert Advisors hingegen ist eine unabhängige und asynchrone Meldung. Eingehende Datenpakete können nicht auf langsame Experten warten, sondern müssen sofort auf die Marktumgebung angewendet werden und nur optional (wenn der Experte den vorherigen Aufruf beendet hat) den Experten ausführen.
Denken Sie über die Situation: ein Fluss von Zitaten 2 pro Sekunde und Arbeits-Expert Advisor, die Bremsen, macht Trades, aber es erfordert, dass die neuen wartenden Zitate in der Warteschlange nicht auf dem Markt Umwelt des Terminals auferlegt werden, bis der EA seine Arbeit beendet.
Können Sie sich vorstellen, wohin das führen würde? Das gesamte Terminal wird beginnen, alle Vorgänge zu verzögern, nur um der albernen Idee willen, einen Marktüberblick über den Stand der bearbeiteten Notierung zu behalten. Und wenn du an andere Instrumente denkst, erschießt du dich einfach.
Deshalb hat das Overlay für Marktaktualisierungen immer Priorität, es ist sofort und unabhängig von anderen Prozessen. Alle anderen müssen asynchron mit dem Markt mithalten.
Sie sind nicht einverstanden.
Angenommen, ich verwende die Tasse nicht (Geld- und Briefkurs sind im Tick)
Wie kann ich (ein Experte) die Situation auf dem FORTS-Markt einschätzen, wenn ich nicht weiß, wie hoch der Kurs ist?
und Lautstärke?
Bei FORTS dürfen wir nämlich Geld- und Briefkurs nicht weitergeben (sie stehen im Ticker).
Die Änderungen im Code sind minimal - Geld- und Briefkurs werden nicht an den Markt weitergegeben.
Da bin ich anderer Meinung.
Bitte lesen Sie meine Erklärung noch einmal.
Nehmen wir an, ich verwende kein Kursbuch (Geld- und Briefkurs sind im Tick)
Welche Sicht auf den FORTS-Markt ich (der Experte) mit einem Angebot haben werde , ist nicht klar
Mit dem aktuellen, asynchron aktualisierten Angebot und keinem anderen.
Wenn Sie angerufen wurden, war's das - Sie haben nur noch das Zitat vor sich, das Sie im Paket haben. Wenn der Stapel 2 Angebote enthält, sehen Sie nur das letzte Angebot. Denn niemand wird den ersten Kurs an den Expert Advisor weitergeben und warten, bis der Expert Advisor die Operation beendet hat. Das alte Zitat ist verschwunden, und wenn Sie es nicht rechtzeitig mitbekommen haben, bedeutet das, dass der Zug abgefahren ist. Wenn Sie dieses alte Zitat verwenden, werden Sie nicht in der Lage sein, etwas auszuführen. Und bei der aktuellen/letzten ist es auch zweifelhaft, dass sie ausgeführt wird, da sich der Markt zum Zeitpunkt der Übermittlung des Auftrags geändert haben könnte.
Kein "nicht übersetzen" von Angebot und Nachfrage wird helfen. Veraltete Zecken sind veraltete Zecken - niemand wird den Markt einfrieren und Sie nicht mit alten Zecken arbeiten lassen.
Wenn Sie wollen, können Sie das:
Gemeinsam mit Time & Sales werden wir darüber nachdenken, einen direkten Zugriff auf den aktuellen Tickpreis-Stream zu ermöglichen, so dass Sie auf aufeinanderfolgende Ticks zugreifen können. In der Marktübersicht erheben wir sie in Sitzungen. Dadurch ergeben sich mehr Möglichkeiten für Schwarzhändler.
Renat:
Gemeinsam mit Time & Sales werden wir überlegen, ob wir einen direkten Zugang zum aktuellen Tickpreis-Stream bereitstellen, so dass auf konsistente Ticks zugegriffen werden kann. In Market Watch sammeln wir sie in Sitzungen. Dies wird den Verkäufern mehr Möglichkeiten geben.
Ich habe immer noch meine Zweifel.
Ich werde das jetzt in die Tat umsetzen:
Und morgen werden wir sehen, was passiert...