Espressioni e operatori matematici di Mql

Computer con codice visibile nello schermo

Le espressioni rivestono per la programmazione una particolare importanza, praticamente basilare, essendo una combinazione di variabili e costanti unite da più operatori.

Per comprendere i concetti espressi in questo articolo non sono necessarie particolari competenze. In pratica si tratta di operazioni ed espressioni di semplice aritmetica. Dalle scuole medie abbiamo imparato che nell’espressione f = n + m, i membri f, n e m sono variabili, i segni = e + sono operatori matematici e n + m è un’espressione.

Nell’articolo precedente abbiamo imparato quali sono i tipi di dato in MQL4, con l’articolo di oggi vedremo come è possibile metterli in relazione tra loro attraverso gli operatori.

Come ogni linguaggio di programmazione anche MQL4 dispone dei suoi operatori che possono essere schematizzati in queste quattro categorie:

  • operatori aritmetici
  • operatori di assegnazione
  • operatori booleani
  • operatori relazionali

Operatori aritmetici

Come suggerisce il nome della categoria, gli operatori aritmetici sono quegli operatori che consentono di effettuare delle delle operazioni aritmetiche dalle più semplici fino alle più complesse:

Operatore Descrizione
+ Addizione
Sottrazione
* Moltiplicazione
/ Divisione
% Resto di una divisione – percentuale
++ Incrementa di uno il valore di una variabile
Decrementa di uno il valore di una variabile

Operatori di assegnazione

Operatore Descrizione Esempio
= Assegnazione x=34
+= Assegnazione additiva x+=y equivale a x=x+y
-= Assegnazione sottrattiva x-=y equivale a x=x-y
*= Assegnazione moltiplicativa x*=y equivale a x=x*y
/= Assegnazione divisionale x/=y equivale a x=x/y

Operatori booleani

Operatore Descrizione
&& Operatore condizionale AND
|| Operatore condizionale OR
! Operatore di negazione NOT

Operatori di relazione

Operatore Descrizione
== Uguaglianza
!= Non uguaglianza
< MInore
> Maggiore
<= Minore o uguale
>= Maggiore o uguale

Come utilizzare gli operatori

Conoscere l’esistenza degli operatori non è sufficiente per capirne il funzionamento, alcuni hanno bisogno di una spiegazione.
Per quanto riguarda gli operatori aritmetici il funzionamento dovrebbe essere abbastanza intuitivo, in pratica si tratta mi mettere in pratica le basilari regole dell’aritmetica che vengono insegnate sin dai primi anni della scuola, quindi è scontato che una situazione simile:

dia come risulta il valore 4 assegnato alla variabile Somma.

Per quanto riguarda gli operatori ++ e alcuni esempi possono chiarire il tutto:

In questo caso il valore di Variabile2 sarà 9 e cioè Variabile1 (8) incrementato di un’unità. Prestare particolare attenzione agli operatori di incremento e decremento in quanto non possono essere utilizzati all’interno di un’espressione. L’esempio che segue chiarisce l’idea e rappresenta un errore:

Gli operatori di assegnazione e relazionali seguono regole analoghe agli operatori aritmetici, non dovrebbero generare particolari difficoltà, mentre è doveroso dare una spiegazione agli operatori booleani che definiscono una condizione:

In questo caso abbiamo applicato una condizione di negazione. In pratica il sistema darà l’opzione TRUE solo se la condizione restituisce il valore FALSE, sembra un controsenso, ma ha una sua logica. Per essere più precisi l’istruzione dice che si deve stampare a video la frase “Non c’è nessuna connessione” solo se il controllo di connessione dice che non c’è connessione. Se non c’è connessione il sistema restituisce valore FALSE e quindi per noi la dichiarazione è TRUE e si procede con l’istruzione all’interno di quanto viene stabilito dall’IF.

All’inizio può apparire strano, ma piano piano si capirà la vera utilità di questo modo di agire.

Con l’operatore booleano || ( OR ) l’espressione restituisce il valore TRUE se una delle condizioni viene soddisfatta:

Con l’operatore booleano && ( AND ) l’espressione restituisce il valore TRUE solo se entrambe le condizioni vengono soddisfatte:

Apri un conto di trading

Lascia un commento

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