Die Sprache MQL5 von Grund auf selbst erlernen - Seite 24

 
Реter Konow:
Was bedeutet "verborgener Zustand"? Diese Art von Bedingung gibt es in der Programmierung nicht.

Tut mir leid, Peter, das wusste ich nicht, aber das Skript funktioniert so, wie ich es wollte.

Mit freundlichen Grüßen, Vladimir.

 
MrBrooklin:

Dies waren meine Kommentare zum Drehbuch:

/* Weiter geht's. Nachdem wir Anfragen an den Handelsserver gesendet haben, müssen wir wissen, ob
einen schwebenden Auftrag eingestellt hat oder nicht. Zu diesem Zweck verwenden wir die Funktion OrderSend, die für
Handelsoperationen konzipiert ist, indem sie Anfragen an den Handelsserver sendet. Wenn das Senden einer Anfrage an
fehlschlägt (ein Ausrufezeichen vor einer Funktion zeigt ein negatives Ergebnis ihrer Ausführung an
), wird eine Meldung mit einem Fehlercode im folgenden Format ausgegeben: "OrderSend error %d"
und GetLastError(). Wir wollen verstehen, was "OrderSend error %d" ist und was GetLastError() ist.
Beachten Sie, dass "OrderSend error %d" in doppelten Anführungszeichen steht. Das bedeutet, dass
den Text mit der wörtlichen Übersetzung "OrderSend error %d" drucken wird. Nun wollen wir verstehen, was
%d bedeutet. Im Abschnitt PrintFormat der MQL5-Referenz heißt es: "Wenn auf einen Formatstring weitere Parameter folgen,
, muss dieser String Formatspezifikationen enthalten, die das Format der Ausgabe dieser Parameter definieren.
Eine Formatangabe beginnt immer mit einem Prozentzeichen (%)". Was ist ein d? Im gleichen Abschnitt
heißt es weiter unten: "Typ d - gibt die Mindestanzahl der auszugebenden Ziffern an. Wenn die Anzahl der Stellen in
geringer ist als die angegebene Genauigkeit, wird der Ausgabewert mit Nullen auf der linken Seite aufgefüllt.
Der Ausgabewert wird nicht abgeschnitten, wenn die Anzahl der auszugebenden Ziffern größer ist als die angegebene Genauigkeit. Mit diesem
haben wir das Problem gelöst, jetzt müssen wir verstehen, was GetLastError() ist. Nochmals ein Blick ins Referenzbuch: "GetLastError()
gibt den Inhalt der Systemvariablen _LastError zurück, d.h. die Variable, in der unter
der Wert des letzten Fehlers gespeichert ist, der während der Ausführung des mql5-Programms aufgetreten ist.

Mit freundlichen Grüßen, Vladimir.

Das ist überhaupt nicht klar. Warum wird eine wörtliche Übersetzung vom Englischen ins Russische in Anführungszeichen gesetzt? Sie geben OrderSend error %d in das Log des Expert Advisors ein und ersetzen statt %d den Wert des letzten Fehlers LastError, der von der Funktion GetLastError() zurückgegeben wird. Etwa so: ))))

Und in diesem Fall ist d nicht die Genauigkeit, sondern der Typ der Dezimalzahl mit Vorzeichen)))

 
MrBrooklin:

Tut mir leid, Peter, das wusste ich nicht, aber das Skript funktioniert so, wie ich es wollte.

Mit freundlichen Grüßen, Vladimir.

Versuchen Sie, die Bedingungen zu entfernen und prüfen Sie. Sie tun dort nichts.

 
Реter Konow:
Versuchen Sie, die Bedingungen zu entfernen und prüfen Sie. Sie tun dort nichts.

Es ist ein Code-Versteck)))

 
Valeriy Yastremskiy:

Es ist ein Code-Versteck)))

Aaah)) 2 Verstecke.
 
Valeriy Yastremskiy:

Das ergibt überhaupt keinen Sinn. Warum sollten doppelte Anführungszeichen eine wörtliche Übersetzung vom Englischen ins Russische ermöglichen? Sie würden OrderSend error %d in das Expertenprotokoll eingeben und anstelle von %d den von der Funktion GetLastError() zurückgegebenen Wert LastError () einsetzen. Etwa so: ))))

Und in diesem Fall ist d keine Genauigkeit, sondern der Typ einer Dezimalzahl mit Vorzeichen)))

Nicht doppelte Anführungszeichen machen wörtliche Übersetzung, und wörtliche Übersetzung dieses Textes, der in doppelten Anführungszeichen geschrieben wird, wird in Russisch klingen Order Shipping Error %d.

Was das "d" betrifft, so stimme ich zu, dass ein Fehler aufgetreten ist. Wird in den Kommentaren geändert. Danke für den Hinweis.

Mit freundlichen Grüßen, Vladimir.

 
MrBrooklin:

Nicht die doppelten Anführungszeichen machen eine wörtliche Übersetzung, sondern die wörtliche Übersetzung des Textes, der in doppelten Anführungszeichen geschrieben ist, klingt in Russisch Order Shipping Error %d.

Was das "d" betrifft, so stimme ich zu, dass ein Fehler aufgetreten ist. Wird in den Kommentaren geändert. Danke für den Hinweis.

Mit freundlichen Grüßen, Vladimir.

Ordnung ist hier eine Ordnung. Nun, ich meine an der Börse) Kopieren Sie die Referenz nicht. Es ist böse. Schreiben Sie Erklärungen in Ihrer eigenen Sprache. Die Arbeitskosten werden um ein Vielfaches steigen)

 
Valeriy Yastremskiy:

Ein Auftrag ist hier ein Auftrag. Ich meine an der Börse) Kopieren Sie die Referenz nicht. Es ist böse. Schreiben Sie Erklärungen in Ihrer eigenen Sprache. Die Arbeitskosten werden um ein Vielfaches steigen)

So hat es Google Translate übersetzt. Ich werde es korrigieren. Ich bin selbst nicht sehr gut in Englisch. Das letzte Mal, dass ich englische Wörter gelernt habe, war am Institut.

Bei allem Respekt, Vladimir.

 
MrBrooklin:

Nicht die doppelten Anführungszeichen machen eine wörtliche Übersetzung, sondern die wörtliche Übersetzung des Textes, der in doppelten Anführungszeichen geschrieben ist, klingt in Russisch Order Shipping Error %d.

Was das "d" betrifft, so stimme ich zu, dass ein Fehler aufgetreten ist. Wird in den Kommentaren geändert. Danke für den Hinweis.

Mit freundlichen Grüßen, Vladimir.

Sie lernen also, indem Sie aus dem Englischen übersetzen? Aber Hardcore.) Warum nicht das Lehrbuch von Kovalev? Obwohl ich weiß, dass es für MQL4 konzipiert ist.

Sie können jedoch damit beginnen und dann zum englischen Teil des Kurses übergehen.
 
Реter Konow:

Sie lernen also, indem Sie aus dem Englischen übersetzen? Aber Hardcore)) Warum nicht das Buch von Kovalev verwenden? Obwohl ich weiß, dass es für MQL4 konzipiert ist.

Sie können jedoch damit beginnen und dann mit dem englischen Teil des Lernens fortfahren.

Deshalb heißt das Thema auch "... Null in Programmierung und null in Englisch.

Mit freundlichen Grüßen, Vladimir.