Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 525

 
Vladislav Andruschenko:
Se hai specificato rost senza un valore, il valore predefinito è false

Puoi spiegare come questo si collega al mio post? Non lo capisco affatto.

 
novichok2018:

Puoi spiegare come questo si collega al mio post? Perché non lo capisco affatto.

Lei ha chiesto. Tutte le condizioni che non sono uguali a true entreranno. Avete solo due controlli. Ma se il controllo non è vero, allora il controllo è falso. La seconda linea non ha importanza perché rost = bool e può prendere solo 2 valori ed è false per default
 
novichok2018:

Buon pomeriggio!

Domanda sulla sintassi di mcl4: se imposto un flag come questo:

allora la condizione if(!rost) catturerà solo la condizione per rost=false o tutte le condizioni che non rientrano in rost=true?

Grazie.

Basta non dimenticare di inizializzare "rost". Nel tuo frammento se cl2=cl1 o cl2=op1 allora "rost" è qualsiasi cosa
 
Vladislav Andruschenko:
Lei ha chiesto. Tutte le condizioni che non sono vere verranno catturate. Avete solo due controlli. Ma se il controllo non è vero, allora il controllo è falso. La seconda linea non ha importanza perché avete rost = bool e può prendere solo 2 valori e di default è false

Quindi, tutte le condizioni che non rientrano nella condizione true saranno automaticamente false e quindi la voce if(!rost) catturerà sia la condizione (op1>cl2 && cl1<cl2) che la condizione (op1<cl2 && cl1>cl2).Giusto?

 
Maxim Kuznetsov:
Basta non dimenticare di inizializzare "rost".

Come?

 
novichok2018:

Quindi, tutte le condizioni che non rientrano nella condizione true saranno automaticamente false e quindi la voce if(!rost) catturerà sia la condizione (op1>cl2 && cl1<cl2) che la condizione (op1<cl2 && cl1>cl2).Giusto?

Sì.
Se rost è dichiarato senza valore, sarà sempre uguale all'ultimo valore a livello globale.

Hai specificato troppo pochi dati e codice incompleto per dare una risposta specifica.
 
novichok2018:

Come?

Bool rost=false;
 
Vladislav Andruschenko:
Bool rost=false;

Ma voglio solo evitare una situazione in cui !rost cattura tutte le condizioni per rost != true. Quindi non ho avviato Bool rost=false a livello globale, ma ho avviato onTick() separatamente per false e separatamente per true. Forse, per evitare confusione, è meglio impostare le condizioni non if(rost) e if(!rost) ma if(rost==true) e if(rost==false) ?

Oppure introdurre un altro difetto che limita le condizioni di !

 
novichok2018:

Ma voglio solo evitare una situazione in cui !rost cattura tutte le condizioni per rost != true. Quindi non ho avviato Bool rost=false a livello globale, ma ho avviato onTick() separatamente per false e separatamente per true. Forse, per evitare confusione, è meglio impostare le condizioni nonif(rost) e if(!rost), ma if(rost==true) e if(rost==false) ?

Voci assolutamente identiche.

 
Artyom Trishkin:

Voci assolutamente identiche.

Questa corrispondenza mostra solo che nel mio casoif(!rost) non è la stessa cosa diif(rost==false). Perchéc'è una condizione separata per ilfalso.