Alle Fragen von einem PROFI an einen SUPER PROFI - 1. - Seite 31

 
valenok2003:

alle Zweifel ausräumen

ist identisch mit dem folgenden

oder ist es richtig, zuerst eine Reihenfolge zu wählen?

Die 2. Option ist richtiger.
 
Dankeschön
 
valenok2003:

alle Zweifel ausräumen
ist identisch mit dem folgenden
oder ist es richtig, zuerst die Reihenfolge zu wählen?

In C/C++ ist && = Kurzschluss und.
Das bedeutet, dass, wenn die erste Bedingung nicht erfüllt ist -
dann sollte in der zweiten kein Operator laufen.

Wenn Mql doch nur normale Formulierungen im Lehrbuch hätte,
anstelle dieses Schrotthaufens https://book.mql4.com/ru/basics/expressions#Log
mit der seltsamen Formulierung "True(1) if all values are true",
die Einzelheiten wären aussagekräftiger.

Also... wenn && korrekt funktioniert - dann sind beide Varianten genau gleich.

 
jartmailru:


Also... wenn && richtig funktioniert - dann sind beide genau gleich.


Schön wär's, aber schön wär's.

In MQL werden logische Ausdrücke in ihrer Gesamtheit berechnet, d. h. das so genannte "Kurzauswertungsschema" gilt nicht für sie .

 
Die 2. Option ist nicht nur richtiger, sie ist die einzig richtige:-).
Und die Dokumentation ist... ist ein wenig seltsam.
 

Wenn in diesem Beispiel kein Auftrag ausgewählt ist, hat es keinen Sinn, die Schließzeit zu überprüfen. Der erste Fall wird also auch korrekt funktionieren. Oder ist es möglich, dass der Auftrag aus einem anderen Grund als seiner Nichtexistenz "nicht ausgewählt" wird?

Aber in welcher Reihenfolge werden die logischen Ausdrücke berechnet? D.h., wenn wir alles auf einen Ausdruck beschränken, wählen wir dann zuerst den Auftrag aus und prüfen dann seine Abschlusszeit?

Sie können es zum Beispiel so schreiben

if(OrderSelect(Ticket, SELECT_BY_TICKET) && OrderCloseTime() > 0){

und nicht wie hier

if(OrderCloseTime() > 0 && OrderSelect(Ticket, SELECT_BY_TICKET)){
 

Das ist nicht erlaubt und das ist nicht erlaubt. In C++ ist es UB, hier ist es nach den Grundsätzen der normalen Programmierung höchst unerwünscht.

Wenn ich vorher Zweifel hatte, werde ich BlueDream jetzt sicher nicht mehr zu 100% nutzen. Und ich rate anderen auch nicht, das zu tun.

 
TheXpert:
Das ist nicht erlaubt und das ist nicht erlaubt. In C++ ist es UB, hier ist es nach den Grundsätzen der normalen Programmierung höchst unerwünscht.

dank sind alle Zweifel ausgeräumt
 
TheXpert:

Wenn ich vorher meine Zweifel hatte, werde ich BlueDream jetzt mit 100%iger Sicherheit nicht mehr benutzen. Und ich würde es auch niemand anderem empfehlen.

Sie sind eifersüchtig auf ihn, nicht wahr?

So wie du keine Keile bekommst?

 

Dies gilt übrigens nur für MQL4. In MQL5 funktioniert die Kurzauswertung