Forex Guida.com

You are here: Home Corso MQL Cicli "for" e "while"
Cicli - "for" e "while" E-mail
Giovedì 23 Aprile 2009 14:57
Nel capitolo precedente abbiamo esaminato le istruzioni condizionali , che ci consentono di inserire nel codice MQL4 dei percorsi decisionali. I cicli presentano alcune analogie con le istruzioni condizionali perché, in entrambe i casi, l'esecuzione delle righe di codice successive dipende dalla soddisfazione di una condizione.
La differenza tra i due approcci è che i contenuti di un ciclo possono essere eseguii più volte all'interno del nostro software.
In pratica viene verificata la condizione e se risulta soddisfatta viene eseguita l'operazione poi la condizione viene eseguita di nuovo e nuovamente se viene soddisfatta viene di nuovo eseguita l'operazione e così via fino a quando il controllo restituisce il valore FALSE e quindi il ciclo termina. Ogni passaggio attraverso il ciclo viene definito iterazione.
In MQL4 esistono due tipologie di cicli:
  • while()
    for()

while()

Iniziamo la trattazione sui cicli da while() sia per il fatto che presenta un costrutto più semplice sia perché presenta delle analogie con if(). il ciclo while() verifica il risultato di una condizione e solo in caso questa risulti vera esegue il codice che viene scritto tra le parentesi graffe { }.
  • while (una condizione è vera)
    {
    esegui le istruzioni
    }
facciamo un esempio:
  • double Variabile=0;
    while(Variabile<10)
    {
    Print(Variabile);
    Variabile++;
    }
Queste righe di codice per prima cosa costruiscono una variabile a virgola mobile con valore assegnato 0 dopo di che parte la condizione di while(): se Variabile è minore di 10 esegui quello che è scritto tra le parentesi.
La rima istruzione dopo la parentesi dice di stampare a video il valore della variabile che all'inizio sarà 0 dopo di che assegna a Variabile il valore di se stessa + 1 con l'operatore incrementale++ che a questo punto diventa 1 e si ripete il ciclo. A questo punto l'istruzione while esegue un altro controllo, Variabile è < a 10? Dato che il valore attuale è 1 si e allora l'istruzione si ripete stampa a video 1 e incrementa il valore della variabile di 1 che diventa 2 e il ciclo esegue un'altra iterazione. Il tutto fino a che il valore di Variabile non è 10 allora il ciclo termina la sua funzione e si esegue la parte di codice che segue la parentesi graffa chiusa, }.

for()

Il ciclo è un po' più complesso di while() necessitando di un costrutto più articolato.La sintassi prevede:
  • for (valore iniziale;condizione;valore incrementale o decrementale)
    {
    istruzioni da eseguire
    }
Facciamo un esempio:
  • int Variabile;
    for (Variabile=0;Variabile<10;Variabile++)
    {
    Print(Variabile);
    }
    Il risultato dell'output è lo stesso dell'esempio con while(), ma il costrutto abbiamo visto è diverso.
    Inizialmente nella dichiarazione della variabile intera Variabile non viene assegnato nessun valore iniziale, questo viene definito nella prima espressione del ciclo for() appena dopo la parentesi, il secondo parametro definisce la condizione e quì non è dissimile da while(), la terza espressione definisce il valore incrementale, dice di aunemtare di 1 il valore di Variabile che anche in questo caso ad ogni iterazione diviene 1,2 3 ... fino a 9 , il dieci restituisce FALSE e quindi il ciclo viene terminato.
    All'interno di un ciclo, che sia while() o for() , è possibile controllare il flusso del programma attraverso l'utilizzo di break e continue
    • int Variabile;
      for(Variabile=0;Variabile<10;Variabile++)
      {
      if(Variabile==5)continue;
      if(Variabile==7)break;
      Print(Variabile);
      }

    In pratica questo codice dovrebbe scrivere i numeri incrementandoli di 1 , ma senza scrivere il 5 e terminando le iterazioni al raggiungimento del numero 7.
    L'istruzione continue comunica all'interprete di passare il controllo all'iterazione successiva senza determinare la terminazione del ciclo mentre break termina il ciclo anche se nella dichiarazione il valore di controllo , nel nostro caso 10, non è stato raggiunto.

 

Trading Forex Forum

in Trading Forex da fxcbsar, 07-09-10 20:03
in Trading Forex da Flora, 07-09-10 16:53
in Presentazioni da Forexguida.com, 07-09-10 13:14
in Presentazioni da Forexpros.it, 06-09-10 14:37

Ebook GRATIS per te!

Scarica l'ebook Gratis per te!

Forex Partner

Italia Forex Trading

Sito creato da un imprenditore che spiega le sue tecniche che gli hanno permesso in poco tempo di sostituire i redditi da azienda con i redditi da trading sul Forex.

Zero Risk Zone signal provider

Un signal provider abbastanza unico sul mercato, basato su operazioni di medio periodo invece che sullo scalping, consente rapidamente di arrivare a "rischio zero" in modo da poter lavorare esclusivamente a profitto. 

FAPTurbo Italia

Un videocorso gratuito e consigli e trucchi e settaggi per il Forex robot FAPTurbo, il Forex robot piu' diffuso che funziona piuttosto bene ma e' molto critico con i settaggi.

Pipsminer Italia

Un videocorso gratuito e consigli e trucchi e settaggi per il Forex robot Pipsminer che, piu' "prudente di FAPTurbo" permette di ottenere quasi sempre profitti. 

Un'altra ottima risorsa per il Trading Forex è www.forexinlinea.it, un sito dedicato a tutti gli aspetti del mercato valutario. Troverete recensioni dei Forex Broker, analisi tecniche giornaliere e un'estesa sezione educativa che vi aiuterà a diventare un trader migliore indipendentemente dal vostro livello di partenza.

Sponsor

SAXO BANK

fxcm

Annunci Google


Disclaimer

ATTENZIONE: Il Trading Forex è un'attività speculativa ad alto rischio di perdita di capitale. Le informazioni contenute in questo sito non hanno come obiettivo l'incitamento al Trading nel Forex, ma la divulgazioni di conoscenze, opinioni personali, nello spirito di internet di pura condivisione di saperi. Ogni utente utilizzerà a proprio rischio tali informazioni, pertanto TradingForex.it non si ritiene responsabile per eventuali profitti/perdite di capitali. Inoltre, per quanto venga posta la massima attenzione all’esattezza di quanto pubblicato, non si può escludere la presenza di errori e non è possibile effettuare alcuna forma di controllo sulla veridicità e attendibilità delle notizie riportate; tuttavia né la redazione né i suoi collaboratori possono essere ritenuti responsabili di errori, ritardi e omissioni di pubblicazione, occasionale o prolungata. L’utilizzo dei dati e delle informazioni come supporto di scelte di operazioni di investimento è a completo rischio dell’utente. Infine, è vietata la riproduzione con qualsiasi mezzo analogico o digitale senza il consenso della redazione redazione@tradingforex.it. E' consentita la copia per uso esclusivamente personale. Sono consentite le citazioni a titolo di cronaca, studio, critica o recensione, purché accompagnate dall'indicazione della fonte Tradingforex.it e dei rispettivi autori.