Funktion OrderSendAsync() - Seite 7

 

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.

Документация по MQL5: Торговые функции / OrderSend
Документация по MQL5: Торговые функции / OrderSend
  • www.mql5.com
Торговые функции / OrderSend - Документация по MQL5
 
voix_kas:

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, was async ist?
 
TheXpert:
Hallo. Wissen Sie überhaupt, was Asynchronität ist?
<<Vergessen Sie synchrone Asynchronie!>>
 
Wir diskutieren nun über das Hinzufügen einer OnTradeResult(MqlTradeResult&info)-Funktion, die genaue Details zu den Serverantworten enthält.
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса - Документация по MQL5
 
Renat:
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.

 
Urain:

In diesem Schema müssen Sie festlegen, welches Objekt im Zusammenhang mit der Aktivierung des Ereignisses Trade bearbeitet werden soll.

Was ist das Problem?
 
TheXpert:
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.

 
Urain:

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"?

 
TheXpert:

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?
 
Urain:
Begründen Sie, warum der Handel in ~100% der Fälle nicht zustande kommt?
Denn unterbrochene Pakete, abgebrochene Verbindungen usw. sind Mist. Unzuverlässig. Unzuverlässig - man muss sich wieder aufrappeln.