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
weil Sie zuerst das Ergebnis der Handelsausführung und dann die Auftragssumme prüfen müssen
Der Autor hat mehrere identische EAs, die asynchron arbeiten, jeder auf dem Chart seines eigenen Paares und anscheinend nicht miteinander kommunizieren. Daher kann es vorkommen, dass ein EA einen Auftrag zur Eröffnung einer Position gesendet hat und die Antwort noch nicht eingetroffen ist, d.h. die Position wurde noch nicht eröffnet (OrdersTotal()==0). Dann sendet ein anderer EA (und vielleicht mehr als einer) ebenfalls eine Handelsanfrage, und als Ergebnis werden 2 oder mehr Positionen auf einmal geöffnet. Die Idee ist, dass wir, um solche Überschneidungen zu vermeiden, ein Flag (eine globale Variable des Terminals) setzen und es lesen sollten, wenn der erste Handelsauftrag von anderen Expert Advisors gesendet wird.
Aber solche Situationen können recht häufig vorkommen, vor allem bei Nachrichten, wenn viele Paare fast zeitgleich starke Sprünge machen.
Der Autor hat mehrere EAs desselben Typs, jeder befindet sich auf dem Chart seines eigenen Paares, und offenbar kommunizieren sie nicht miteinander. Daher kann es vorkommen, dass ein EA einen Handelsauftrag zur Eröffnung einer Position gesendet hat und der Auftrag noch in Bearbeitung ist oder die Antwort noch nicht eingetroffen ist, d.h. die Position wurde noch nicht eröffnet (OrdersTotal()==0). Dann sendet ein anderer EA (und vielleicht mehr als einer) ebenfalls eine Handelsanfrage, und als Ergebnis werden 2 oder mehr Positionen auf einmal geöffnet. Die Idee ist, dass wir, um solche Überschneidungen zu vermeiden, ein Flag (eine globale Variable des Terminals) setzen und es lesen sollten, wenn der erste Handelsauftrag von anderen Expert Advisors gesendet wird.
Diese Situationen können sich wiederholen, insbesondere bei Nachrichten, wenn viele Paare starke Sprünge machen.
Ich habe nicht gesehen, dass es nur 1 Handel zur Zeit geben sollte, ich dachte, es sollte mehrere Öffnungen für 1 Symbol geben.
Der Autor hat mehrere EAs desselben Typs, jeder befindet sich auf dem Chart seines eigenen Paares, und offenbar kommunizieren sie nicht miteinander. Daher kann es vorkommen, dass ein EA einen Handelsauftrag zur Eröffnung einer Position gesendet hat und der Auftrag noch in Bearbeitung ist oder die Antwort noch nicht eingetroffen ist, d.h. die Position wurde noch nicht eröffnet (OrdersTotal()==0). Dann sendet ein anderer EA (und vielleicht mehr als einer) ebenfalls eine Handelsanfrage, und als Ergebnis werden 2 oder mehr Positionen auf einmal geöffnet. Die Idee ist, dass wir, um solche Probleme zu vermeiden, ein Flag setzen sollten (eine globale Variable des Terminals) und es lesen, wenn der erste Handelsauftrag von anderen Expert Advisors gesendet wird.
Das ist genau das, was es ist, Alexander.
Ich lese jetzt sorgfältig den Zweig und alle Empfehlungen zur Lösung dieses Problems. Denn ich habe Angst davor, was passiert, wenn alle 32 Paare gleichzeitig gehandelt werden... Natürlich sollte es nicht so sein.
...lese jetzt den Thread und alle Empfehlungen zur Lösung dieses Problems. Denn ich möchte gar nicht daran denken, was passiert, wenn alle 32 Paare gleichzeitig gehandelt werden... Natürlich sollte es nicht so sein.
Wenn Sie Hilfe benötigen, zögern Sie bitte nicht, mich zu kontaktieren.
Die Verzögerung bei der Eröffnung einer Position setzt sich übrigens hauptsächlich aus dem doppelten Ping (hin und her) und der Zeit für die Bearbeitung eines Handelsauftrags durch den Server zusammen. Gute Broker, die die realen Server nicht überlasten und über einen guten Verbindungskanal zu den Liquiditätsanbietern verfügen, haben eine Bearbeitungszeit für Handelsaufträge von Millisekunden. Der Ping kann durch das Hosting des Expert Advisors auf einem VPS-Server von Hunderten von Millisekunden auf Einheiten reduziert werden. Im MT4-Protokoll können Sie die Gesamtzeit sehen, die benötigt wird, um einen Handelsauftrag zu senden, ihn zu verarbeiten und eine Antwort vom Server zu erhalten.
Sollten Sie Hilfe benötigen, zögern Sie bitte nicht, uns zu kontaktieren.
Übrigens, die Verzögerung bei der Eröffnung einer Position setzt sich hauptsächlich aus dem doppelten Ping (Round-Trip) und der Bearbeitungszeit des Handelsauftrags durch den Server zusammen. Gute Broker, die die realen Server nicht überlasten und über einen guten Verbindungskanal zu den Liquiditätsanbietern verfügen, haben eine Bearbeitungszeit für Handelsaufträge von Millisekunden. Der Ping kann durch das Hosting des Expert Advisors auf einem VPS-Server von Hunderten von Millisekunden auf Einheiten reduziert werden. Im MT4-Protokoll können Sie die Gesamtzeit sehen, die benötigt wird, um einen Handelsauftrag zu senden, ihn zu verarbeiten und eine Antwort vom Server zu erhalten.
es gibt keine derartigen Forex-Broker, mindestens zehn Millisekunden, durchschnittlich 200, bei null Pings
Ich habe nicht gesehen, dass es nur 1 Handel zu einem Zeitpunkt geben sollte, ich dachte, es sollte mehrere Öffnungen für 1 Instrument geben.
Dieser Fehler kann auch bei einem einzelnen Tool auftreten, wenn der vorherige Thread die Ausführung noch nicht beendet hat und ein neuer Tick kommt - dann gibt es eine undefinierte Situation des Schreibens und Lesens aktueller Daten...
Nein, eine solche Situation gibt es nicht, es werden Ticks übersprungen, bis alle Logik verarbeitet ist.
Nein, es gibt keine solchen Situationen, der Ontic überspringt Ticks, bis die gesamte Logik abgearbeitet ist.
Das habe ich auch gedacht...
Das habe ich auch gedacht...
Ich weiß es nicht, ist nie passiert, habe mit einer Reihe von Scalping-Brokern auf mt4 und mt5 gehandelt
Ich weiß es nicht, habe nie mit einer Reihe von Scalping-Brokern auf mt4 und mt5 gehandelt