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
https://www.mql5.com/ru/forum/341117 ist immer noch ein aktuelles Problem
Als ich das letzte Mal nachgesehen habe, wurde dieses Problem bei dem genannten Broker gelöst.
Liebe Entwickler, bitte beantworten Sie die folgende Frage zur Architektur. Die Informationen werden für einen Kampfeinsatz benötigt. Keine Ansprüche.
Es gibt zwei Begrenzer mit demselben Preis und unterschiedlichen Losen. Wovon hängt ihre Reihenfolge in der Reihenfolge der Aktivierungsauslöser ab?
Ich habe mehrere Antworten auf diese Frage.
Wenn ich es richtig verstehe, wird der Limiter nach der Änderung des Eröffnungskurses entsprechend in die Listentabelle aller Limiter des Servers eingebaut, sortiert nach Eröffnungskurs. Die Antwort auf die Frage lautet dann, ob sie am Anfang der Liste der Aufträge mit demselben Preis oder am Ende eingebettet ist.
Die gleiche Frage bezieht sich nicht auf Grenzwerte, sondern auf Token. Wovon hängt die Reihenfolge der Auslösung identischer Takes ab? Ist es eine ID-Position oder etwas anderes?
Lassen Sie mich erklären, wie dies im Kampf helfen kann. Ich habe zum Beispiel zwei Begrenzer (oder Positionstees) auf derselben Ebene, aber mit unterschiedlichen Losen. Wenn die Ausführung des Limits (T-Stück) von der letzten Änderung abhängt, kann ich die FillRate einfach erhöhen, indem ich die Limiter in aufsteigenden Lot-Schritten ändere.
Wahrscheinlich kennt nur jemand, der die Implementierung des entsprechenden MT5-Serverteils geschrieben hat, die Antwort auf diese Frage.
mit einem Makler zusammenarbeiten, um den Engpass zu finden
Es gibt zwei Begrenzer mit demselben Preis und unterschiedlichen Losen. Wovon hängt ihre Reihenfolge in der Reihenfolge der Aktivierungsauslösung ab?
Ich habe mehrere Antworten auf diese Frage.
Ich glaube, Variante 4 wurde in der vierten Version verwendet. Das heißt, dass jede Änderung den Auftrag an das Ende der Warteschlange des entsprechenden Preisniveaus verschiebt.
Es ist wie Bienen gegen Honig?)
in diesem besonderen Moment, in dieser besonderen Situation, ist es für beide Seiten von Vorteil und wurde bereits durchgeführt. ein seltener Zufall.
TP-Aufträge im MT5 sind insofern bemerkenswert, als dass wir die FillRate untersuchen können (welcher Teil des Auftrags erfüllt wird).
Die Analyse von Zehntausenden solcher Aufträge hat gezeigt, dass die FillRate sehr stark vom Symbol abhängt. Wenn ein Paket von TP-Aufträgen gleichzeitig ausgelöst wird, sinkt die FillRate mit zunehmender Anzahl der Aufträge im Paket.
Auch andere spezifische Nuancen wurden aufgedeckt. Aber das ist bereits mit dem Makler besprochen.
Das Rezept zur Erhöhung der FillRate: Kombination aller gleichen Ticks und Limiter zu einem gemeinsamen MT5-Limit.
Diese Daten sind jedoch nur ein Bonus zu diesem Thema. Das brokerunabhängige Problem ist, dass MT5 mit Ticks und damit mit der Annahme von Pending Orders (einschließlich SL/TP-Levels) im Rückstand ist.
Und nach einer Umleitung wartet MT5 jedes Mal auf den nächsten Tick, um zu prüfen, ob der Preis das TP-Niveau (oder Limit) erfüllt oder nicht. Dies kann bis zu Sekunden dauern. Und die Kontrolle sollte immer unmittelbar nach der Wiederbefüllung (oder Teilbefüllung) durchgeführt werden.
OnTick wird ein paar Millisekunden später ausgelöst, als der Tick auf den Handelsserver geschrieben wird.
Ergebnis.
Es wurden 100 Zecken verarbeitet. Die Ankunftszeit zwischen dem Server und dem Tick-Terminal schwankt zwischen einer und acht Millisekunden. Der Durchschnitt liegt bei etwas mehr als vier Millisekunden. Dies entspricht gerade der Verzögerung bei der Auslösung der TP-Bestellung, mit der dieser Zweig begann.
Der Lag selbst befindet sich innerhalb des MT5-Servers. Der Kanal Server->Terminal hat damit nichts zu tun.
Große Bitte an die Entwickler, diese Verzögerung zu beseitigen. Mit Null Pings haben wir nun eine konstante Verzögerung von Ticks, die nicht nur am Terminal, sondern auch am Server ankommen. Insbesondere nimmt die Bestellung an.
ZS Für diejenigen, die Küchenmakler durch Arbitrage ausnehmen, ist diese eingebaute Verzögerung wie ein Geschenk des Himmels. D.h. die Makler gehen ein erhebliches zusätzliches Risiko ein.
Renat Fatkhullin:
На каком сервере проверяли?
Auf vielen Servern geprüft. Einschließlich MQ-Demo.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Annahme von SL/TP-Aufträgen
fxsaber, 2020.11.25 00:47
Ergebnis der Ausführung auf MQ-Demo.
Das Skript behauptet, einen TP-Auftrag und einen Tick gefunden zu haben, der der Auslöser für seine Erstellung war (im Text farblich hervorgehoben). Es scheint, dass, wenn der Preis das TP-Niveau einer offenen Position auf dem Handelsserver (insbesondere auf dem Demoserver) erreicht hat, die entsprechende TP-Order sofort erstellt (nicht unbedingt ausgeführt) werden sollte. In diesem Fall geschah dies jedoch nicht sofort, sondern erst nach 357 Millisekunden!
Auf welchem Gerät und welchem Gateway/Datendisplay entstanden die Ausgangsdaten?
Ich habe Forex-Tools, RannForex-Server und AMTS-Gateway überprüft. Andere Konfigurationen sind zu klären.
Ich glaube, dass der MT5-Server auf einem Rechner mit Null-Ping gebildet wurde. Erfordert aber eine Klärung für eine 100%ige Garantie. Allerdings zeigte die oben, dass auch auf Ihrem Server das Problem.
Bei der Untersuchung der Ausführung von TP-Aufträgen ist mir aufgefallen, dass einige TP-Aufträge mit einer erheblichen Verzögerung gegenüber den Ticks, die sie angenommen haben, erstellt wurden.
Die Nachbesprechung ergab, dass sich diese Situation nicht nur bei verschiedenen Brokern wiederholt, sondern auch dann, wenn der Handel über das Terminal erfolgt, das sich auf demselben Rechner wie der Handelsserver befindet. D.h. mit einem sehr niedrigen Ping und einem einzigen Handelskonto für den Handelsserver.
Ich möchte Sie ermutigen, die Ergebnisse Ihrer Konten mitzuteilen. Helfen Sie mit, den MT5 zu verbessern!Sie haben ein sehr kleines Detail "vergessen" - Sie haben 58.000 Aufträge geprüft und nur einen Fall von Überschreitung bei 300 ms gefunden. Und darauf (1 von 58 000) hätten Sie sich bei diesen Kontrollen eindeutig konzentrieren müssen.
Genau wie bei den früheren Millionen-Schecks, bei denen man ebenfalls nach einem einzelnen Ausreißer suchte und so tat, als sei dies ein normales Verhalten.
Wir haben die Logs des Servers überprüft und konnten sehen, dass unsere Virtualisierung mit dem MetaQuotes-Demo-Server in diesen Sekunden physisch krank war (um 2020.09.30 19:07 für 4 Sekunden), denn es gab etwa 15 Mio. Konten und etwa 2 Mio. offene Positionen, und in der Zwischenzeit passierte etwas auf den benachbarten virtuellen Servern und dem Hypervisor.
Wir werden uns das auf jeden Fall genauer ansehen, obwohl es in jedem System immer wieder einzelne Ausschläge gibt.