Diskussion zum Artikel "Handelsereignisse in MetaTrader 5" - Seite 2

 
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.
Hier ist eine weitere: "Ungültige Anfrage besteht nicht die erste Prüfung auf der Serverseite".
 
Yedelkin:

In dem Artikel heißt es: "Sobald die Anfrage abgeschickt wurde, kommt sie beim Server an und wird einer ersten Validierung unterzogen".

Wörtlich heißt es Folgendes:

Wichtig: Jede Anfrage wird im Client-Terminal selbst auf ihre Korrektheit hin überprüft, bevor sie an den Handelsserver gesendet wird. Offensichtlich falsche Anfragen (Kauf einer Million Lots oder Kauf zu einem negativen Preis) werden nicht über das Terminal hinaus weitergeleitet. Dies geschieht, um die Handelsserver im Falle eines Fehlers im mql5-Programm vor massenhaft falschen Anfragen zu schützen.

Nach dem Senden einer Anfrage kommt diese beim Handelsserver an und besteht die erste Prüfung:

 
Rosh:
Sie haben mich auch verwirrt. Ich habe den Hinweis auf die Kombination "Erstprüfung" entfernt.
:) Ich lese den Artikel gerade noch einmal. Ich entschuldige mich, wenn etwas falsch ist. Aber ich habe bereits zwei Links direkt aus dem Artikel über die erste serverseitige Prüfung angegeben.
 
Yedelkin:
Sie sagen also, dass die Funktion OrderSend() erst dann true zurückgibt , wenn der Server die Bestellung annimmt (platziert)?
Das bedeutet, dass die Anfrage angenommen wurde. Außerdem kann sie vom Händler, der Handelsplattform usw. abgelehnt werden.
 
Rosh:

Dort steht wörtlich Folgendes:

Wichtig: Jede Anfrage wird im Client-Terminal selbst auf ihre Korrektheit hin überprüft, bevor sie an den Handelsserver gesendet wird. Offensichtlich falsche Anfragen (Kauf einer Million Lots oder Kauf zu einem negativen Preis) werden nicht über das Terminal hinaus weitergeleitet. Dies geschieht, um die Handelsserver im Falle eines Fehlers im mql5-Programm vor massenhaft falschen Anfragen zu schützen.

Nachdem eine Anfrage gesendet wurde, kommt sie beim Handelsserver an und wird zunächst geprüft:

Danach ist es notwendig, sie in drei Prüfungen zu unterteilen:

1) Grobprüfung durch das Terminal;

2) Prüfung auf der Terminalseite mit der Funktion OrderCheck()$

3) Server-seitige Prüfung.

Es ist immer noch unklar, was mit dem Begriff "Primärprüfung" gemeint ist.

 

Rosh:
Это означает, что запрос принят. Дальше он может быть отвергнут дилером, торговой площадкой и так далее.

NA GUT. Das weitere Schicksal der Bestellung ist mir egal. Aus Ihren Worten schließe ich (Frage 2), dass die Funktion OrderSend() nicht sofort true zurückgeben kann, nachdem sie die Anfrage auf Korrektheit geprüft hat. true wird erst zurückgegeben , nachdem der Server die Bestellung akzeptiert hat . Ist dies richtig? Dann stellt sich heraus, dass die Information "bei erfolgreicher Grundstrukturprüfung wird true zurückgegeben" im Referenzbuch nicht ganz korrekt ist.
 
Yedelkin:
NA GUT. Das weitere Schicksal der Bestellung ist mir egal. Aus Ihren Worten schließe ich (Frage 2), dass die Funktion OrderSend() nicht sofort true zurückgeben kann, nachdem sie die Anfrage auf Korrektheit geprüft hat. true wird erst zurückgegeben , nachdem der Server die Bestellung akzeptiert hat . Ist dies richtig? Dann stellt sich heraus, dass die Angabe "bei erfolgreicher Basisprüfung der Strukturen wird true zurückgegeben" im Referenzbuch nicht ganz korrekt ist.
Basisprüfung ≡ Primärprüfung auf der Serverseite
 
Rosh:
Basisprüfung ≡ Primäre serverseitige Prüfung

Bei der Formulierung von Frage 2 habe ich bereits geschrieben, dass es Situationen geben kann, in denen eine Anfrage bereits auf ihre Korrektheit geprüft, aber noch nicht vom Broker akzeptiert wurde. Niemand scheint dieser Aussage zu widersprechen. Deshalb formuliere ich die Frage 2 unter Berücksichtigung Ihrer Definitionen ein wenig um:

Zu welchem Zeitpunkt genau gibt die Funktion OrderSend() true zurück - unmittelbar nach der grundlegenden Prüfung (erste Prüfung auf der Serverseite) der Anfrage auf Korrektheit oder erst, nachdem die Order vom Server angenommen wurde?

Eigentlich interessiert mich folgende Frage: In welchem Stadium (vom Terminal zum Server) meldet die Funktion OrderSend() genau true , wenn die Bestellung durchgelaufen ist? "Basisprüfung" oder "Basisprüfung + Annahme (Platzierung) der Bestellung"? Oder ist es unmöglich, die notwendige Schlussfolgerung allein aus dem Empfang von true zu ziehen?

 
Yedelkin:

Ich habe bereits oben bei der Formulierung von Frage 2 geschrieben, dass "es Situationen geben kann, in denen ein Antrag bereits auf seine Richtigkeit geprüft, aber vom Makler noch nicht akzeptiert wurde". Niemand scheint dieser Aussage zu widersprechen. Daher werde ich Frage 2 unter Berücksichtigung Ihrer Definitionen ein wenig umformulieren:

Zu welchem genauen Zeitpunkt gibt die Funktion OrderSend() true zurück - sofort nach der grundlegenden Prüfung (primäre Prüfung auf der Serverseite) der Anfrage auf Korrektheit oder erst, nachdem die Order vom Server akzeptiert wurde?

Natürlich, nachdem der Server die Bestellung akzeptiert hat - das ist offensichtlich. Außerdem heißt die Funktion OrderSEND.
[Gelöscht]  
Yedelkin:

Ich interessiere mich nämlich für folgende Frage: Welche Phase (vom Terminal zum Server) der Funktion OrderSend() wird durch true signalisiert? "Basisprüfung" oder "Basisprüfung + Annahme (Platzierung) der Bestellung"? Oder ist es unmöglich, allein aus dem Empfang von true die notwendige Schlussfolgerung zu ziehen?
Meiner Meinung nach sollte man nicht nur auf der Grundlage von true Schlussfolgerungen ziehen, sondern auch den Antwortcode des Servers analysieren (und letzterer ist wichtiger, wie mir scheint)...