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
Asynchronität ohne Kontrolle = Chaos.
Die Asynchronitätskontrolle kann nur in OnTrade() durchgeführt werden.
Es ist notwendig, eine bestimmte Anfrage in OnTrade() zu identifizieren.
So kommen wir zu dem Schluss, dass OrderSendAsync() die Nummer des vom Server erhaltenen Tickets zurückgeben muss (mit Ausnahme der Time-out-Situation). Die Ticketnummer wird benötigt, um die Anfrage sowohl auf dem Server als auch auf dem Client eindeutig zu identifizieren.
Durch die Vereinheitlichung dieses Mechanismus kann auch die Funktion OrderSend() umgestaltet werden - sie sollte die Ticketnummer oder "-1" zurückgeben, wenn die Bestellung nicht an den Server gesendet werden kann.
Implementieren Sie dann im Programm eine Klasse mit der Liste der generierten Tickets.
Bei jedem OnTrade()-Ereignis, verstehen wir:
1. ob es sich um unsere Aktion handelt, oder z.B. um die Aktion einer anderen Instanz des Expert Advisors (Magier werden nicht mehr benötigt).
2. Auf welche Art von Anfrage wir eine Antwort erhalten.
Daher sollte die Funktion OrderSendAsync() die vom Server empfangene Ticketnummer zurückgeben (ausgenommen Timeout-Situationen). Die Ticketnummer wird benötigt, um die Anfrage sowohl beim Server als auch beim Client eindeutig zu identifizieren.
Hallo. Wissen Sie überhaupt, was Asynchronität ist?
Wir diskutieren nun das Hinzufügen der Funktion OnTradeResult(MqlTradeResult&info), die genaue Details der Serverantworten enthält.
Meiner Meinung nach sollte es auf der Benutzerseite so aussehen:
schreibt der Benutzer eine Klasse für die Arbeit mit Zeigern und fügt ihr die Klasse der Handelssignalverarbeitung hinzu.
Wenn ein Signal erscheint, werden neue Objekte erstellt und eine Anfrage an den Server gesendet, bzw. das Objekt existiert, bis das Signal ausgeführt wird.
OnTrade überwacht das Schicksal und trifft eine Entscheidung (entweder/oder) oder sendet eine neue Anfrage oder vernichtet das Objekt, wenn es seinen Weg gegangen ist.
Dieses Schema erfordert die Identifizierung des Objekts, das im Zusammenhang mit der Aktivierung des Ereignisses "Trade" verarbeitet werden soll.
In diesem Schema müssen Sie festlegen, welches Objekt im Zusammenhang mit der Aktivierung des Ereignisses Trade bearbeitet werden soll.
Wo liegt das Problem?
Machst du Witze?
Der Handel ist jetzt gesichtslos, man kann nicht sagen, welches Objekt in der Liste bearbeitet werden soll, wenn es eintrifft.
Wollen Sie mich auf den Arm nehmen?
Ganz und gar nicht. Übrigens lohnt es sich nicht, sich mit OnTrade zu beschäftigen, weil es nicht 100% der Zeit kommt (es ist ungefähr dasselbe wie der Fehler 1 in MT4)
Ich meine, Sie müssen trotzdem eine Versicherung abschließen.
Ist es nicht besser, "es gut zu machen"?
Ganz und gar nicht. Übrigens lohnt es sich nicht, sich mit OnTrade zu befassen, denn es wird nicht 100% der Zeit kommen (was ungefähr dem Fehler 1 in MT4 entspricht)
Ich meine, Sie müssen trotzdem eine Versicherung abschließen.
Ist es nicht besser, "es gut zu machen"?
Begründen Sie, warum der Handel in ~100% der Fälle nicht zustande kommt?