Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani

Documenti analoghi
Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani

STRUTTURE DI CONTROLLO DEL C++

Programmazione C Massimo Callisto De Donato

Informatica 2 modulo C Massimo Callisto De Donato

Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani

Costrutti condizionali e iterativi

STRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132

Costrutti condizionali e iterativi

Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani

Introduzione al Linguaggio C

Qualsiasi programma in C++ segue lo schema:

Indice. costrutti decisionali I cicli

Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI

Indice. I costrutti decisionali I cicli

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Corso di Fondamenti di Informatica Classi di istruzioni 2

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Manualistica 3 Le strutture di controllo

Il linguaggio Java Istruzioni di Controllo

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while)

STRUTTURA DI UN ALGORITMO 1) LIBRERIE. 2) EVENTUALI COMMENTI // testo

I cicli. Iterazioni Calcolo della media Istruzioni break e continue

Laboratorio Progettazione Web Il linguaggio PHP le istruzioni. Andrea Marchetti IIT-CNR 2013/2014

Progettazione del Software

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Programmazione in Java (I modulo)

Le strutture di controllo in C++

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2014/2015

Matlab. Istruzioni condizionali, cicli for e cicli while.

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012

Laboratorio di Informatica I

Fondamenti di Programmazione. Strutture di controllo

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

Operatori in Java. Il Costrutto Condizionale if

Strutture di Controllo

! Riassunto. ! for. ! Cicli annidati. ! Esempi, esercizi, errori tipici. ! Programmazione strutturata. ! break e continue I1; I2; I3;

Programmare con MatLab IV

UNIVERSITÀ DEGLI. DI - Dipartimento di Informatica Università degli Studi di Milano

Oggi. La programmazione strutturata - III. Sequenza e selezione. Dove siamo. Iterazione: while e do/while. Raffinamenti successivi.

Manualistica 3 Le strutture di controllo

C espressioni condizionali

Strutture di controllo e cicli

Linguaggio C Strutture di controllo

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016

Istruzioni di selezione in Java 1

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Statistica e Analisi Dati: Lezione 4

Istruzioni di Controllo in C. Emilio Di Giacomo

Programmazione. Selezione e ripetizione. Francesco Tiezzi. Scuola di Scienze e Tecnologie Sezione di Informatica Università di Camerino

Iterazione determinata e indeterminata

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;

Java SE 7. Strutture di programmazione (2)

If Statement. Il costrutto condizionale if ha la seguente sintassi:

ISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse.

Espressioni booleane. Esempio: temperatura <= 0 velocita > velocita max

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Controllo del flusso di esecuzione di un programma

Laboratorio Progettazione Web Il linguaggio PHP Variabili e Istruzioni. Andrea Marchetti CNR/IIT AA 2017/2018

Strutture di Controllo

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript

Strutture di Controllo

Fondamenti di Informatica L-A. Esercitazione 3

Modulo III - Cenni alla programmazione in R

Fondamenti di Informatica T-1

RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA

Un esempio di if annidati

Il C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:

I costrutti del C. Le Strutture del C. Il costrutto if else (I) Il costrutto if else (II) Condizionali. if-else (else if) switch Iterative

ANALIZZIAMO NEI DETTAGLI GLI STATEMENTS DI SELEZIONE E DI RIPETIZIONE FORNITI DAL LINGUAGGIO C STATEMENT SEMPLICE STATEMENT COMPOSTO BLOCCO

Strutture di controllo e cicli

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;

Strutture di Controllo

Programmazione, 5 a lezione

Laboratorio Progettazione Web Il linguaggio PHP Variabili e Istruzioni. Andrea Marchetti CNR/IIT AA 2016/2017

Le Istruzioni di Controllo

scelta tra azioni alternative

Fondamenti di Informatica e Programmazione Elementi di Informatica e Progrmmazione

Struttura di un linguaggio

Istruzioni Condizionali

Fondamenti di Informatica T-1. Selezione

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Pr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Calcolo Numerico A.A Esercitazione n

ITI M. FARADAY. Programmazione a. s

Transcript:

www.sapienzafinanziaria.com Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani

Lezione n. 2 Edizione marzo 2015 Operatori condizionali e i cicli www.sapienzafinanziaria.com

Obiettivi di questa lezione Breve ripasso Introduzione di nuovi comandi utili Completamento e applicazione delle istruzioni condizionali Le istruzioni cicliche Le funzioni personalizzate

Breve Ripasso Abbiamo visto le funzioni speciali di un EA Conosciamo come dichiarare una variabile globale,locale,interna ed esterna Conosciamo l istruzione Comment() e Print() Sappiamo come commentare il codice con // o con /* e */ oppure come usare la tecnica del commento per disattivarne delle parti Poi abbiamo visto alcune cose importanti come le array, e in particolare le array della serie storica Open [], Close [], High [] e Low [] Sappiamo che esistono le funzioni Ask e Bid per le quotazioni istantanee Abbiamo visto l istruzione condizionale if-else

Nuove utili funzioni di MQL Digits restituisce il numero di decimali che vengono proposti per lo strumento finanziario corrente (dato di tipo int). Point restituisce l'entità del punto per lo strumento finanziario rappresentato (dato di tipo double). Il punto rappresenta la più piccola variazione possibile del prezzo, differisce dal Pip. Il Punto quindi non è il Pip, anche se in alcune circostanze i due valori possono coincidere. Bars restituisce il numero di barre presenti sul grafico (dato di tipo int).

L istruzione condizionale If-else if( CHIUSURA >= APERTURA ){ RANGE = CHIUSURA-APERTURA; else{ RANGE = APERTURA-CHIUSURA;

Istruzioni Condizionali con l operatore «switch» Questo operatore è un «selettore» che permette al programma di scegliere una delle tante alternative possibili. Per ogni alternativa, verrà utilizzata la costante predefinita. Le istruzioni switch permettono di evitare noiose sequenze di ifelse. Esse sono particolarmente utili quando in un programma si deve dare all utente la possibilità di scegliere tra più opzioni.

Sintassi con l operatore «switch» switch (espressione) { case constante1: istruzioni; break; case constante2: istruzioni; break; default: istruzioni; break;

Esempi con l operatore «switch» switch(temperatura) { case 0 : risultato = freddo ; break; case 7 : risultato = freddo ; break; case 20 : risultato = ok ; break; case 35 : risultato = caldo ; break; default : risultato = 1; break; Comment(risultato); int risultato; switch(digits) { case 2 : risultato = 1; break; case 3 : risultato = 10; break; case 4 : risultato = 1; break; case 5 : risultato = 10; break; default : risultato = 1; break; Comment(risultato);

I Cicli Statement Ciclici con operatore «while» L'elaborazione di lunghe serie di dati di solito richiede più ripetizioni delle stesse operazioni. È possibile organizzare un ciclo di tali operazioni l'operatore "while". while ( a <= 10) { b = a + 5; a++; Statement Ciclici con operatore «for» A differenza l'operatore «while», questo operatore permette di impostare delle condizioni di inizio e di fine per l'esecuzione delle iterazioni. for ( a=1; a<=10; a++ ) { b = a + 5;

Istruzioni Cicliche con l operatore «while» while ( Condizione ) { Blocco Istruzioni; Non appena il controllo viene passato all'operatore while : 1) finché la Condizione dell'operatore while è vera il controllo verrà passato al Blocco di Istruzioni del corpo ciclo; 2) non appena il blocco di istruzioni del corpo ciclo viene completato, il controllo viene passato di nuovo alla Condizione per testare se è vera oppure no. Se è vera si riparte di nuovo col Blocco Istruzioni Se la Condizione del gestore while è falsa, il controllo abbandona il ciclo e il programma continuerà eseguendo le istruzioni successive all operatore while.

Esempio con l istruzione ciclica «while» double prezzo_apertura; int i=0; while ( i < 5 ) { prezzo_apertura = Open[i]; Print("PREZZO APERTURA" + i + " = "+prezzo_apertura); i=i+1;

Istruzioni Cicliche con l operatore «for» for (Espressione1; Condizione; Espressione2) { Blocco Istruzioni; Non appena il controllo viene passato all'operatore for: 1) il programma esegue l Espressione1. Quindi 2) finché la Condizione è vera il controllo verrà passato al Blocco Istruzioni del corpo ciclo; 3) non appena il Blocco Istruzioni del corpo ciclo viene completato, il programma deve eseguire Espressione2 e passare il controllo alla Condizione per testare se è vera oppure no. Se è vera si riparte di nuovo col Blocco Istruzioni Se la condizione dell'operatore for è falsa, allora il ciclo verrà terminato e il programma continuerà eseguendo le istruzioni successive all operatore for.

Esempio con l operatore «for» double prezzo_apertura; for(int i=0; i<5; i++) { prezzo_apertura = Open[i]; Print("PREZZO APERTURA" + i + " = " + prezzo_apertura);

L operatore «break» L'operatore break termina l'esecuzione di un ciclo (quindi while e for). Lo scopo di questo operatore è quello di interrompere cicli infiniti o abbreviare i cicli di controllo una volta che si è trovata la condizione cercata.

L operatore «continue» L'operatore continue riporta il controllo all inizio del ciclo saltando le istruzioni successive. La finalità è opposta a quella dell'operatore break.

Le funzioni user defined In tutti i casi in cui un programmatore ha bisogno di creare ed utilizzare funzioni che non esistono può farlo definendo una o più funzioni user defined. double MyFunction(double a, double b) { double SOMMA = a + b; return(somma);

L operatore «RETURN» L'operatore return termina l'esecuzione di una funzione o metodo restituendo il valore risultato della funzione, e quindi riportando il controllo all'istruzione del flusso principale del programma. Si può utilizzare anche return (0) come terminazione forzata della funzione.

Conclusioni Con questa lezione abbiamo completato gli argomenti relativi ai comandi MQL fondamentali per impostare la logica di un EA. I «compiti per casa» sono : Studiare bene gli argomenti di questa lezione Esercitarsi creando nuovi semplici script o ripetendo quelli proposti Familiarizzare con i comandi MQL e con il METAEDITOR Concentrarsi più sugli aspetti della logica piuttosto che sul memorizzare i comandi