Operatori condizionali in MQL4

Programmatore al lavoro sul suo portatile

Gli operatori condizionali permettono di eseguire le varie operazioni o istruzioni impostate solo se viene soddisfatta la condizione imposta. In MQL4 esistono tre tipi di operatori condizionali: if() , else() e switch().

Gli operatori condizionali if() e else() lavorano in stretto contatto in quanto la else() interviene solo dopo il controllo di if() in caso la condizione di quest’ultimo non venga soddisfatta.

In linea di principio la presenza dell’istruzione else() non è sempre necessaria a meno che non si debba definire un’ulteriore condizione in caso il valore della condizione non venga soddisfatto.

Il costrutto standard è il seguente:

Nell’esempio possiamo notare due particolari e cioè che non è presente l’istruzione else() e sono state omesse le parenesi graffe per contenere l’istruzione.

Avremmo anche potuto utilizzare la forma estesa senza incappare in errori, ma ogni programmatore sa che è bene ottimizzare le risorse ed è inutile inserire elementi che non sono necessari.

Perché in questo caso non servono questi elementi?

Per le parentesi graffe come contenitore, sono necessarie solo quando all’operatore if() segue una serie di istruzioni, nel caso dell’esempio vi era una sola istruzione di stampa a video e quindi si può omettere il contenitore.

Per quanto riguarda l’omissione di else() , questi è un operatore necessario solo se poi si devono dare ulteriori condizioni, facciamo un esempio per spiegare meglio il concetto:

Spero sia tutto chiaro.

Operatore switch()

Spesso si ha la necessità di ramificare le istruzioni all’interno di un algoritmo con diverse varianti, in questi casi è necessario utilizzare l’operatore condizionale switch(). L’utilità di switch() si concretizza quando vi è un certo numero di condizioni per una singola variabile che necessiterebbero di molti cicli di if() – else() che oltre ad appesantire il codice renderebbero difficile la comprensione del codice.

La sintassi dell’operatore è :

Verrà stampato a video x vale 123, come esercizio provate a riscrivere questo piccolo codice utilizzando if() e else(), capirete il perché è preferibile utilizzare l’operatore switch().

Apri un conto di trading

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *