|
Come detto nella precedente lezione , se siete programmatori C (o C++) allora
sapete già molto del linguaggio MQL4. Questo perchè MQL4 è molto simile come
sintassi al C.
La definizione di SINTASSI di un linguaggio di programmazione è (tratto da
Wikipedia) :
"'L'insieme di parole riservate permesse, i loro parametri ed il corretto ordine
delle parole nelle espressioni è chiamato la sintassi del linguaggio".
Quindi quando studiamo la sintassi del linguaggio, stiamo in realtà studiando la
sua grammatica e le relative regole che consistono di :
· Formato
· Commenti
· Identificatori
· Parole riservate
Andiamo ad analizzarle una alla volta.
1- Formato :
Quando scrivete codice, potete usare liberamente un qualsiasi insieme di spazi,
tab e linee vuote che volete per separare il codice e le vostre linee di codice
per renderlo più facilmente leggibile
Per esempio queste sono tutte linee valide in MQL4 :
Code: double MacdCurrent, MacdPrevious, SignalCurrent;
double
MacdCurrent,
MacdPrevious,
SignalCurrent;
double MacdCurrent, MacdPrevious, SignalCurrent;
Ma come vedete , la prima linea sembra essere la più leggibile e la più facile da comprendere.
E come tutto nel mondo ci sono eccezioni alla regola :
1- Non è possibile usare nuove linee nella "Compilazione controllata"
Ne saprete di più relativamente alla "Compilazione controllata" nella prossima lezione, ma ricordate che questa è un'eccezione.
Per esempio la successiva linea di codice non è valida e il compilatore MQL4 avviserà dell'errore :
Code:
#property
copyright "Copyright © 2004, MetaQuotes Software Corp." Questa
riga invece è valida :
Code:
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
2- Non è permesso l'uso di nuove linee o spazi nel mezzo di
valori costanti, indetificatori o parole riservate.
Ad esempio questa linea è valida:
Code: extern int MA_Period=13;
“extern” ed “int” sono parole riservate , “MA_Period” è un
identificatore e “13” è un valore costante.
Ne saprete di più su questo argomento nelle prossime lezioni.
Ad esempio queste linee non sono valide:
Code:
extern int MA_Period=1
3;
extern int MA_Period=1 3;
ex
tern int MA_Period=13;
2- Commenti:
Per rendere il mondo della programmazione più facile, qualsiasi linguaggio ha il
proprio modo di scrivere commenti.
Potete usare i commenti per scrivere linee nel vostro codice che il compilatore
ignorerà completamente, ma questo renderà il codice più leggibile in un secondo
momento.
Ad esempio pensate di dover scrivere un programma in estate, metterlo da parte e
poi rileggerlo durante l'inverno. Senza commenti - anche se siete voi l'autore
del codice - vi risulterà molto difficile ricordare il significato di tutte
quelle righe di codice!
MQL4 usa due tipi di commenti:
1- Commenti su singola linea
I commenti su singola linea iniziano con "//" e finiscono con una nuova linea.
Ad esempio:
Code:
//Questo è un commento
extern int MA_Period=13;
extern int MA_Period=13; //Questo è un altro commento
2- Commenti multi-linea
I commenti multi linea iniziano con i simboli "/*" e finiscono con "*/"
Ad esempio:
Code:
/* Questo
è
un commento
multi
linea */
Potete anche includere commenti a singola linea all'interno
di commenti multi-linea in questo modo:
Code:
/* questo
è
un commento // altro commento singola linea incluso qui
multi
linea */
Questo è anche un commento valido anche se di difficile
lettura :
Code:
extern int /*CIAO! Io sono un commento*/ MA_Period=13;
Questo invece è un commento non valido perchè viene
commentato tutto il resto della assegnazione invalidando il comando:
Code:
extern int //test MA_Period=13;
3- Identificatori
Un identificatore è il nome che scegliete per chiamare le vostre variabili,
costanti e funzioni.
Ad esempio MA_Period è un identificatore :
Code:
extern int MA_Period=13;
Ci sono poche regole e restrizioni sulla scelta dei nomi
possibili:
1- La lunghezza dell'identificatore non deve eccedere i 31 caratteri.
2- L'identificatore deve iniziare con una lettera (maiuscola o minuscola) o con
il simbolo di sottolineatura "_"
Quindi non può iniziare con un numero o altro simbolo che non sia "_".
3- Non è possibile usare alcuna parola riservata come identificatore.
Più avanti vedremo quali sono le parole riservate del mql
4- Gli identificatori sono case-sensitive, ossia MA_PERIOD è un identificatore
diverso da ma_period o da MA_Period.
Fate molta attenzione a questa regola, perchè è molto spesso causa di errori di
sintassi!.
Vediamo quindi qualche esempio di identificatore valido e non valido in mql:
Code:
Name1 Valido
_Name1 Valido
1Name Non valido (vedi regola 2 non può iniziare con un numero)
~Name1 Non valido (vedi regola 2 non può iniziare con un simbolo che non sia
"_")
amo_il_mio_paese_e_il_mio_paese_ama_tutto_il_mondo Non valido(vedi Regola 1 non
può eccedere i 31 caratteri)
Color Valido
color Non valido (vedi regola 3 non può essere una parola riservata)
4- Parole riservate :
Queste sono parole che il linguaggio usa per azioni specifiche. Quindi essendo
riservate per il linguaggio non possono essere utilizzate come identificatori o
per qualsiasi altro scopo.
Questa è la lista delle parole riservate (presa dalla guida MQL):
Tipi di dati : bool,color,datetime,double,int,string,void
Classi di memoria : extern,static
Operatori : Break,Case,continue,Default,Else,For,If,Return,Swi tch,While
Altro : false,true
Ad esempio le seguenti linee di codice non sono ammesse poichè utilizzano parole
riservate come identificatori :
Code:
extern int datetime =13;
int extern =20;
double continue = 0;
previous
Copyright ForexItalia. Tutti i diritti riservati.
|