Diskussion zum Artikel "Handelsereignisse in MetaTrader 5"

 

Neuer Artikel Handelsereignisse in MetaTrader 5 :

Eine Überwachung des aktuellen Status eines Handels-Account bedeutet offene Positions und Order kontrollieren zu können. Bevor ein Handelssignal zu einem Abschluss wird, sollte es vom Client-Terminal als Anfrage zum Handels-Server geschickt werden, wo es in eine Order-Warteschlange gestellt wird und auf seine Bearbeitung wartet. Eine Anfrage vom Handels-Server annehmen, sie löschen, wenn sie abläuft oder auf ihrer Grundlage einen Abschluss ausführen - alle diese Handlungen haben Handelsereignisse zur Folge, und der Handels-Server informiert das Terminal entsprechend darüber.

Erzeugung von Handelsereignissen

Autor: MetaQuotes Software Corp.

 

Ich möchte ein paar Punkte klarstellen.

1. Der Artikel impliziert, dass die Funktion OrderCheck() für die primäre Prüfung einer Anfrage vorgesehen ist, und die primäre Prüfung mit Hilfe der Funktion OrderCheck() direkt vom Server (auf der Serverseite) und nicht im Terminal durchgeführt wird. Ist dies korrekt?

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

2. Im Referenzbuch heißt es, dass für die Funktion OrderSend() "im Falle einer erfolgreichen Prüfung der Grundstruktur true zurückgegeben wird". Daraus können wir schließen, dass true unmittelbar nach der Überprüfung der Korrektheit der Anfrage zurückgegeben wird.

Etwas weiter unten in der Notiz wird jedoch hinzugefügt, dass "die Funktion OrderSend() true zurückgibt, wenn die Bestellung erfolgreich vom Handelsserver angenommen wurde". Dieser Hinweis impliziert, dass "true" nur zurückgegeben wird, wenn der Server die Bestellung akzeptiert hat.

In der Zwischenzeit kann es Situationen geben, in denen die Anfrage bereits auf Korrektheit geprüft, aber vom Broker noch nicht akzeptiert wurde. Bitte klären Sie daher, zu welchem Zeitpunkt die Funktion OrderSend() "true" zurückgibt - unmittelbar nach der Prüfung der Anfrage auf Korrektheit oder erst, nachdem der Server die Order akzeptiert hat?

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

Ich möchte ein paar Punkte klarstellen.

1. Der Artikel impliziert, dass die Funktion OrderCheck() für die primäre Prüfung einer Anfrage vorgesehen ist, und die primäre Prüfung mit Hilfe der Funktion OrderCheck() direkt vom Server (auf der Serverseite) und nicht im Terminal durchgeführt wird. Ist das korrekt?

Soweit ich weiß, wird die Verarbeitung auf der Seite des Client-Terminals durchgeführt.

Dies wird auch durch den folgenden Beitrag bestätigt.

 

3. In dem Artikel heißt es, dass "die vom Handelsserver empfangenen Anfragen in Form von Aufträgen gespeichert werden, die in der Schwebe sind oder sofort zu Marktpreisen ausgeführt werden können".

Wie wir wissen, ist die sofortige Ausführung eine der drei Arten der Ausführung von Marktaufträgen. Es stellt sich also die Frage, was mit Marktaufträgen in den Modi "Marktausführung" und "Auftragsausführung" geschieht. Können wir verallgemeinern, dass "vom Handelsserver empfangene Anfragen als Aufträge gespeichert werden, bei denen es sich um schwebende oder sofortige Marktaufträge zu Marktpreisen handeln kann"?

 
Interesting:

Soweit ich weiß, erfolgt die Verarbeitung auf der Seite des Client-Terminals.

Dies wird auch durch den folgenden Beitrag bestätigt.

OK, ich schlage vor, wir warten auf eine offizielle Antwort. Danke, wie immer, für die zusätzlichen Informationen. Das habe ich vorhin auch gedacht.

Nachtrag. Ich habe sogar erkannt, was mich bei dieser Frage verwirrt haben könnte. In dem Artikel wird der Ausdruck "Primärverarbeitung" mit einem Verweis auf die Funktion OrderCheck() versehen, und ich habe diesen Verweis für bare Münze genommen, ohne jede Rückschau.

 
Yedelkin:

Ich möchte ein paar Punkte klarstellen.

1. Der Artikel impliziert, dass die Funktion OrderCheck() für die primäre Prüfung einer Anfrage vorgesehen ist, und die primäre Prüfung mit Hilfe der Funktion OrderCheck() direkt vom Server (auf der Serverseite) und nicht im Terminal durchgeführt wird. Ist dies korrekt?

Im Artikel steht, dass die primäre interne Prüfung im Terminal durchgeführt wird. OrderCheck() funktioniert auch im Terminal, es wird nichts an den Server gesendet.
 
Rosh:
Im Artikel steht, dass die erste Prüfung im Terminal durchgeführt wird. OrderCheck() funktioniert auch im Terminal, es wird nichts an den Server gesendet.

Im Artikel heißt es: "Nach dem Senden einer Anfrage kommt diese auf dem Server an und wird einer ersten Prüfung unterzogen".

Verwirrt hat mich auch die Tatsache, dass in dem Artikel der Begriff "Erstverarbeitung" mit einem Verweis auf die Funktion OrderCheck() versehen ist, so dass ich diesen Verweis für bare Münze genommen habe, ohne weiter darüber nachzudenken.

 
Yedelkin:

2.

In der Zwischenzeit kann es Situationen geben, in denen die Anfrage bereits auf Korrektheit geprüft wurde, aber noch nicht vom Broker akzeptiert wurde. Bitte klären Sie daher, zu welchem genauen Zeitpunkt die Funktion OrderSend() true zurückgibt - sofort nach der Prüfung der Anfrage auf Korrektheit oder erst, nachdem der Server die Order akzeptiert hat?

Die korrekte Anfrage wird vom Server akzeptiert und die Antwort wird im Feld retcode der Struktur MqlTradeResult an das Terminal gesendet - https://www.mql5.com/de/docs/constants/errorswarnings/enum_trade_return_codes.

Code

Bezeichner

Beschreibung

10008

TRADE_RETCODE_PLACED

Auftrag erteilt

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера - Документация по MQL5
 
Rosh:

Die korrekte Anfrage wird vom Server akzeptiert und die Antwort wird im Feld retcode der Struktur MqlTradeResult - https://www.mql5.com/de/docs/constants/errorswarnings/enum_trade_return_codes - an das Terminal gesendet .

Code

Bezeichner

Beschreibung

10008

TRADE_RETCODE_PLACED

Die Bestellung wurde aufgegeben

Sie wollen also sagen, dass die Funktion OrderSend() erst dann true zurückgibt , wenn der Server die Bestellung annimmt (platziert)?
 
Yedelkin:


Außerdem hat mich die Tatsache verwirrt, dass in dem Artikel der Begriff "Erstverarbeitung" als Verweis auf die Funktion OrderCheck() genannt wird, und ich habe diesen Verweis für bare Münze genommen, ohne es zu wissen.

Sie haben mich auch verwirrt. Ich habe den Verweis aus der Kombination "Primärprüfung" entfernt.