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
Wenn Ihr Vorschlag nur eine bestehende Funktion ergänzen würde, dann nicht, ansonsten ist es nicht klar, wie eine einfache MqlPacketTradeRequest-Struktur ...
... Wenn die MqlPacketTradeRequest-Struktur die Struktur eines dynamischen Arrays von MqlTradeRequest-Strukturen ist, kann sie die gesamte Logik des Servers, der mit einfachen Abfragestrukturen überflutet wird, zerstören.
Andernfalls müssten wir dieses Paket auf der Terminalebene in separate Anfragen aufteilen, was den Sinn der Einführung dieser Überlastung zunichte machen würde.
Es scheint, dass wir uns auf eine solche Variante wegen der asynchronen Struktur "geeinigt" haben:
Wo,
packet_request wird unter anderem ein Array von MqlTradeRequest-Strukturen enthalten...
Dann sind all diese Gedanken ein Stoff für Diskussionen :-)
IMHO wird ein Stapel identischer Anwendungen nur zu Demonstrationszwecken benötigt, für die Arbeit werden Anwendungen mit unterschiedlichen Symbolen, mit unterschiedlichem Volumen und natürlich unterschiedlichen Richtungen verwendet. Daher muss jeder Antrag einzeln geprüft werden, so dass es keinen Sinn macht, sie in einem Stapel zu versenden.
...wenn die MqlPacketTradeRequest-Struktur die Struktur eines dynamischen Arrays von MqlTradeRequest-Strukturen ist, kann dies die gesamte Logik des Servers, der für einfache Abfragestrukturen konzipiert ist, zerstören.
Meiner Meinung nach sollte die Funktion OrderSendAsync() parametrisiert werden, anstatt eine Schleife für das Senden von Bestellungen zu erstellen. Zum Beispiel OrderSendAsync(Symbol(), Nummer, Richtung). Als Parameter: - Symbol, - Anzahlder Aufträge, - Richtung der Aufträge (Kauf, Verkauf).
Bei asynchronen Geschäften wissen wir nicht genau, wie eine bestimmte Anfrage ausgelöst wurde. Insbesondere wissen wir nicht, wie viel Volumen ausstand, als eine der asynchronen Anfragen teilweise ausgeführt wurde.
Können Sie mir bitte sagen, ob ich es richtig verstehe, dass sowohl im Devisenhandel als auch im Aktienhandel der Auftrag aus der Historie Eigenschaft
AUFTRAG_VOLUMEN_AKTUELL
ermöglicht es uns, eindeutig zu bestimmen, wie vollständig eine asynchrone Anfrage ausgeführt wurde? Ist es richtig, dass, wenn ein Marktauftrag asynchron auf dem Devisenmarkt gesendet wird und in der Historie erscheint, wir sicher sein können, dass, wenn ORDER_VOLUME_CURRENT==0.0, der Auftrag vollständig ausgeführt wurde, aber wenn ORDER_VOLUME_CURRENT einen Wert ungleich Null enthält, dann sollte dieser Wert als das nicht ausgeführte Volumen für diesen Devisenmarktauftrag betrachtet werden?
Die Frage ergibt sich aus der Tatsache, dass hier: https://www.mql5.com/ru/forum/3775/page28#comment_84851 betont wird, dass sich die Eigenschaft ORDER_VOLUME_CURRENT auf Aufträge bezieht, die an der Börse verwendet werden.
Frage bezüglich der asynchronen Anfrage, die in der Historie erscheint.
Wenn OrderSendAsync() den Wert true zurückgibt und das Feld result.retcode den Wert 10008 enthält, bedeutet dies laut der Referenz, dass die Anfrage gesendet wurde, garantiert aber nicht, dass sie den Handelsserver erreicht hat".
Frage: Wenn eine asynchrone Anfrage erfolgreich vom Terminal gesendet wird, aber den Server nicht erreicht, wird eine solche Anfrage dann immer in der Historie erscheinen? Mit anderen Worten: Kann es vorkommen, dass eine asynchrone Anfrage erfolgreich (allen Anzeichen nach) an den Server gesendet wird, aber die Informationen darüber nicht in der Historie erscheinen? Wenn dieses Szenario möglich ist, unter welchen Bedingungen?
Frage: Wenn eine asynchrone Anfrage erfolgreich vom Terminal gesendet wurde, aber den Server nicht erreicht hat, werden dann immer Informationen über eine solche Anfrage in der Historie erscheinen? Mit anderen Worten: Kann es vorkommen, dass eine asynchrone Anfrage erfolgreich (in jeder Hinsicht) an den Server gesendet wird, aber keine Informationen darüber in der Historie erscheinen? Wenn dieses Szenario möglich ist, unter welchen Bedingungen?
Wenn die Anfrage den Server nicht erreicht, hat sie keine Chance, auf dem Client-Terminal zu erscheinen.
Ups! Es hat sich herausgestellt, dass eine erfolgreich gesendete asynchrone Anfrage leicht verloren gehen und nicht in den Verlauf aufgenommen werden kann.
Es hat sich herausgestellt, dass eine erfolgreich gesendete asynchrone Anfrage leicht verloren gehen und nicht in den Verlauf aufgenommen werden kann.
Der Punkt ist, dass eine asynchrone Anfrage praktisch keinen Status "erfolgreich gesendet" hat.
Ein erfolgreicher Abschluss der Funktion bedeutet lediglich, dass die "Order aus Sicht des Kunden korrekt aussieht und in die Netzwerkleitung geworfen wurde, warten Sie auf eine Antwort in OnTrade".