![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
Viele Leute werden mir wieder die Schuld geben, aber ich stehe zu meiner Meinung. Ja, ich war oben emotional, also verzeihen Sie mir bitte, wenn ich jemanden beleidigt habe...
Ich werde aus der Ferne kommen.
Stellen Sie sich einen sowjetischen Laden vor, bevor er öffnet, wenn auch um 9.00 Uhr morgens. Ein Lkw-Lader, der um Punkt 9.00 Uhr die Ladentür von innen öffnet, läuft Gefahr, von der ankommenden Menge erdrückt zu werden. Schließlich wird die Menge in den Laden gelassen, und in den ersten Minuten herrscht dort geschäftiges, wenn nicht gar chaotisches Treiben. Es ist laut, es wird viel geflucht, und manchmal stehen Kriminelle ganz vorne in der Schlange. Das ist der Moment, in dem die Menge noch aufgeregter und lauter wird...
So, das war's. Jetzt sitzt der Händler vor dem Monitor, sieht keine Menschenmenge, alles ist ruhig, bevor der "Laden" öffnet. Das Gefühl von Hektik und Chaos stört ihn als sowjetischen Einkäufer nicht. Dies ändert jedoch nichts an der Situation, wenn das Börsensystem anläuft und eine Flut von Geboten vorliegt. Der Grundsatz des engen Halses wird nicht aufgehoben und bleibt gültig.
Frage. Glauben Sie, dass der Makler seine Käufer nach dem Zufallsprinzip oder nach einer Art Algorithmus auslöst? Ich habe den Eindruck, dass Großabnehmern Vorrang eingeräumt wird. Der Makler erhält von ihnen eine höhere Provision. Und dann ist da noch die Frage nach dem Ruf des Maklers. Die Unzufriedenheit eines Großabnehmers ist gefährlicher als die Unzufriedenheit eines kleinen Abnehmers. Das heißt, ich gehe davon aus, dass die Aufträge von Großkunden bei der Eröffnung schneller ausgeführt werden.
Frage. Glauben Sie, dass der Makler nicht merkt, dass der "Laden" der kleinen Kunden leidet? Ich denke, natürlich tut er das. Wir haben gemeinsam festgestellt, dass "die da draußen" keine Idioten sind. Was kann ein Makler dann tun? Nun, wahrscheinlich die Unzufriedenheit des unbedarften Käufers irgendwie minimieren. Wie genau? Sie können den Auftrag nicht stornieren, denn die kleinen Händler würden sagen: "Wie konnte ich, ein angesehener, wenn auch kleiner Händler, eine Ablehnung vom Makler erhalten? Vielleicht können Sie die kleinen Gebote einfach in der Warteschlange zurückhalten, bis die Bosse zurückkommen... Oder Sie akzeptieren die Hauptgebote - kaufen oder verkaufen - und halten die Änderung zurück...
Und nun stellen Sie sich vor, dass es viele solcher Makler an der Börse gibt: Zu Beginn einer Sitzung herrscht noch mehr Trubel als in einem einzigen sowjetischen Geschäft.
Das sind die Gedanken.
P.S. Alle Zufälle in meinem Text sind zufällig und illustrativ.
Es gibt eine Menge "Wasser", weil Sie nicht wissen, wie das FORTS-Gateway aufgebaut ist.
Es gibt Anmeldebeschränkungen, d. h. ich kann nur 30 Transaktionen pro Sekunde senden.
Früher hatte ich 3 MT5-Server, jetzt sind es 8, und die Latenz hat sich nicht verringert,
Aber es gibt keine MT5-Benutzer mehr auf FORTS!
Dies ist der Beweis, dass das Ereignis nicht stattgefunden hat.
Das wird es nicht!
Alles, was der Benutzer tut, ist kein Beweis, nur die Terminalprotokolle sind ein Beweis!
Das wird es nicht!
Alles, was der Benutzer tut, ist kein Beweis, nur die Terminalprotokolle sind ein Beweis!
Aber die Protokollierung aller Ereignisse durch den Benutzer in OnTradeTransaction() wird helfen, die Gründe zu verstehen.
Aber die Protokollierung aller Ereignisse in OnTradeTransaction() durch den Benutzer wird helfen, die Gründe zu verstehen.
Komisch...
Ich habe 4000 Transaktionen pro Tag, jede Transaktion mindestens 5-6 mal "zuckt" OnTradeTransaction
Wer wird diese "Idioten" aussortieren :) Immerhin brauchen sie Logs und Terminal zu ihnen, plus Logs von MT5 Server.
Hinzugefügt
Vor der Veröffentlichung des neuen Builds funktionierte alles einwandfrei.
Auch jetzt funktioniert es, aber manchmal stürzt es auf Broker-Servern ab.
Hinzugefügt
Wenn ich einen Auftrag installiere, ändere oder lösche, gebe ich ihm einenStatus und einen Zeitpunkt.
Hier ist sie
Und dieses Flag(ORD_DO_SET) wird in OntradeTransaction zurückgesetzt.
Der Timer (1 Sekunde) prüft den Status dieses Auftrags, wenn in OnTradeTransaction nichts eingegeben wurde.
Und die neue Zeit wird durch die Protokollierung von
Bevor das Protokoll angezeigt wird, prüft diese Funktion, was mit dem Auftrag passiert ist
Hinzugefügt von
Die Sache ist die, dass OnTradeTransaction bereits im vorletzten Jahr GUARANTEED wurde! :)
Sagen wir es so: Wenn ein Ereignis am Terminal eintrifft, wird es garantiert als OnTradeTransaction in die Ereigniswarteschlange gestellt.
Die Frage ist folgende:
Die Länge der Transaktionswarteschlange beträgt 1024 Elemente. Wenn OnTradeTransaction() zu lange braucht, um eine andere Transaktion zu verarbeiten, können die alten Transaktionen in der Warteschlange durch neuere ersetzt werden.
Und die Ereignis-Warteschlange des Expert Advisors selbst: Wie viele Ereignisse kann es geben und ob sie vorweggenommen werden.
Wenn ein Ereignis am Terminal eintrifft, wird es garantiert als OnTradeTransaction in der Ereigniswarteschlange platziert. Das bedeutet jedoch nicht, dass es garantiert vom EA verarbeitet wird.
eine Frage zu diesem Thema:
Und die Warteschlange der Ereignisse des Expert Advisors selbst, wie viele davon es geben kann und ob es eine Präventivmaßnahme gibt (wenn das Zitat nicht von Expert Advisors handelt)
Was glauben Sie, wie lang sie ist?
Was glauben Sie, wie lang sie ist?
Wenn es nur ein OnTradeTransaction-Ereignis in der EA-Ereigniswarteschlange geben kann (wie ein Timer), ist die Geschwindigkeit Ihres Codes nicht wichtig.
wenn nicht, je nachdem, ob Sie mit Aufträgen synchron oder asynchron arbeiten.Wenn es nur ein OnTradeTransaction-Ereignis in der EA-Ereigniswarteschlange geben kann (wie ein Timer), ist die Geschwindigkeit Ihres Codes irrelevant.
wenn nicht, je nachdem, ob Sie synchron oder asynchron mit Aufträgen arbeiten.Asynchron, aber nicht mehr als 30 davon gleichzeitig
Übrigens, hier ist noch mehr (und vom 10.10. bis 14.00 Uhr funktionierte aus irgendeinem Grund alles einwandfrei)
2018.02.28 14:07:59.505 Trades 'xxxxx': cancel order #84736275 buy limit 3.00 LKOH-9.18 at 37312 2018.02.28 14:08:09.071 Trades 'xxxxx': accepted cancel order #84736275 buy limit 3.00 LKOH-9.18 at 37312 2018.02.28 14:08:09.107 Trades 'xxxxx': cancel #84736275 buy limit 3.00 LKOH-9.18 at market done in 9602.694 ms 2018.02.28 14:00:32.653 trader (FEES-3.18,M1) CheckTradingTime: Сейчас 2018.02.28 14:00, если есть необходимость, можно закрыть терминал. 2018.02.28 14:08:00.522 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:01.543 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:02.553 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:03.565 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:04.593 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:05.625 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:06.654 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:07.667 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:08.680 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL
Aber hier haben wir auf die Antwort des Servers gewartet :)
Aber finden Sie es nicht seltsam, dass das letzte Mal, als ich hier geschrieben habe
Es ist April 2017, das neue Build 1571 ist erschienen
Und, jetzt 1755, nur dann war es 2 Sekunden und jetzt....
Warum habe ich dann so lange geschwiegen (und die EAs nicht einmal angerührt), ganze 9 Monate lang!
Hinzugefügt
Anzahl der Instrumente auf Forex hat sich nicht geändert, eröffnet 5 neue MT5-Server,
Das Handelsvolumen ging zurück und das Problem blieb nicht nur bestehen, sondern "wuchs".
Und das Terminal selbst wird nicht mehr als 60 Bestellungen pro Sekunde senden