Condizione IF e ciclo FOR nella programmazione MQL4 – Lezione #3

0
2718

Hai mai pensato di cucinare un piatto di pasta senza prima mettere l’acqua nella pentola?

Non penso, o mi sbaglio?

Allora non pensare di iniziare a programmare senza capire e approfondire realmente i cicli.

Così come non esiste un piatto di pasta senza acqua, non esiste nemmeno un TRADING SYSTEM senza un ciclo FOR o una condizione IF.

Fidati non sto esagerando, qualsiasi genere di programma si vuole realizzare non può fare a meno di questi due elementi. Sono i pilastri, le colonne portanti di tutti i sistemi.

Rifiutare di approfondire questo argomento ti costerà davvero caro e la tua carriera da programmatore di sistemi automatici è destinata a morire ancora prima di iniziare.

Ma procediamo per gradi.

Cerchiamo prima di tutto di capire cos’è la condizione IF, cosa permette di fare e come si può utilizzare.

 

 

1 – CONDIZIONE IF

L' if è una “funzione” che consente di eseguire una linea di codice se e solo se si verifica una data condizione.

Ma perchè dovrebbe servirmi una cosa del genere??? Facciamo un semplice esempio.

Ammettiamo di voler implementare un sistema che entri a mercato quando il prezzo supera il massimo del giorno precedente. Niente di più semplice, utilizzeremo una semplicissima funzione IF.

Ecco la sua sintassi generale:

if(condizione){

   comando1;

}

else {

   comando2;

}

Mi ero dimenticato di dirti che possiamo utilizzare il comando else per far compiere al nostro sistema un’azione differente qualora non sia verificata la condizione iniziale.

In altre parole: se la condizione è verificata esegui il comando1 altrimenti esegui il comando2 (oppure non fare niente se non compare l’else).

2- CICLO FOR

Il ciclo FOR è un pelo più complesso da digerire, ma una volta capito diventerà il tuo migliore amico.

Prima di tutto guardiamo la sua sintassi e in seguito descriviamo tutti i termini.

for(inizializzazione contatore;condizione;incremento){         

   comando;

}
  • inizializzazione: occorre inizializzare una variabile (es. int i=0)
  • condizione: tale condizione permetterà di eseguire il comando all’interno del ciclo FOR fintanto che sarà verificata (es. i<3)
  • incremento: incrementa (o decrementa) la variabile dichiarata di un valore prestabilito (es. i++*)

Ora è chiaro? No dai sto scherzando, lo so che non ci hai ancora capito nulla. Facciamo un esempio e chiariamo tutto.

for(i=0;i<3;i++){    

   comando;

}

Ti riporto punto dopo punto cosa esegue il computer quando si trova di fronte ad una cosa del genere:

  1. assegna alla variabile i il valore 0
  2. controlla che i sia minore di 3
  3. se lo è esegue il comando altrimenti esce dal ciclo for
  4. incrementa i di 1
  5. ritorna al punto 2 e così via

Mi rendo conto che ora potrà sembrare la cosa più inutile di questo mondo ma ti assicuro che senza di essa non puoi fare NULLA.

Ti consiglio di guardare il video dove approfondisco questi aspetti e dove ho mostrato alcuni utilizzi pratici di queste funzioni. Lo trovi qui sotto.

*Quando scriviamo i++ vuol dire che si sta assegnando a i il suo stesso valore incrementato di 1.