Direttive e preprocessore

Preprocessore e direttive

Bene, fino a questo punto del nostro corso su MQL4 abbiamo introdotto tutte le componenti basilari per la realizzazione dei nostri lavori con MetaTrader 4.

Ma tanto per complicare un po’ il discorso diciamo che non si può operare in maniera efficiente e profittevole senza aver spiegato cosa è il preprocessore.

Se vi è già capitato di leggere un listato in MQL4 avrete sicuramente notato una serie di righe che appaiono appena al di sotto dell’intestazione che iniziano con il carattere #.

Ebbene quelle sono le cosiddette direttive al preprocessore.

In tutti i linguaggi di programmazione figli del famoso C, prima che il compilatore inizi a lavorare, viene attivato un programma, detto appunto preprocessore, che ricerca nel file sorgente speciali istruzioni, chiamate direttive.

Il costrutto tipico di una direttiva è il seguente

Una direttiva inizia sempre con il carattere #, è costituita da una sola riga e non ha bisogno del carattere di chiusura; permette l’uso dei commenti attraverso il costrutto classico visto nella sezione relativa alla sintassi.

Andiamo ora a vedere nei dettagli le direttive.

Controlli di compilazione

Costante Tipo Descrizione
link string Il collegamento al sito del programmatore
copyright string Note di Copyright
stacksize int Dimensione dello stack
indicator_chart_window void Mostra l’indicatore nella finestra del grafico
indicator_separate_window void Mostra l’indicatore in una finestra separata dal grafico
indicator_buffers int Il numero dei Buffers per il calcolo
indicator_colorN color il colore per la visualizzazione di linea N, dove N è compreso tra 1 e 8
indicator_widthN int larghezza della linea N, dove N è compreso tra 1 e 8
indicator_styleN int lo stile della linea N, dove N è compreso tra 1 e 8
indicator_levelcolor color Colore linea indicatore
indicator_levelwidth int Grandezza linea indicatore
indicator_levelstyle int Stile linea indicatore
show_confirm void Chiedi conferma prima di eseguire lo script
show_inputs void prima di eseguire lo script appare la finestra delle proprietà; disabilita proprietà show_confirm

Vedremo nei dettagli le sopracitate direttive nella prossima lezione.

Costanti

La direttiva #define definisce una costante. Una costante è un concetto che va in contrapposizione ad una variabile, in pratica una volta definito un valore questo rimane immutato per tutto il software, che sia uno script, un indicatore o un Expert Advisor.

Il valore assegnato può essere sia numerico che alfanumerico, in quest’ultimo caso viene incluso all’interno dei doppi apici per definire che è una stringa. Il valore può essere invocato in qualsiasi momento e in qualsiasi modo come si farebbe con una normale variabile, ma sempre tenendo a mente che si tratta di un valore che rimane immutato.

Direttive di inclusione

In alcuni casi può essere necessario ricorrere a delle porzioni di codice, funzioni, librerie esterne, comandi di sistema . Tali allegati vengono letteralmente inclusi nel nostro codice con la direttiva #include. Come si può vedere dagli esempi la direttiva #include prevede due costrutti, uno per l’inclusione di file che si trovano nel path include di MetaTrader 4 attraverso i delimitatori <> l’altro per includere file che hanno un path diverso che va dichiarato all’interno delle doppie virgolette .Se non viene specificato nessun path il file viene cercato nella directory corrente.

Per includere nel nostro lavoro le funzioni di un file compilato ex4 o di una dll, si usa la direttiva #import.

Le funzioni importate devono avere nomi univoci. Funzioni che hanno gli stessi nomi non possono essere importati simultaneamente da diversi moduli. Il nome di funzioni importate non possono coincidere con quelli di funzioni built-in.

Questa è solo una introduzione all’utilizzo delle direttive, componenti di programmazione spesso sottovalutati , ma che rivestono un’importanza basilare nella realizzazione dei nostri lavori con MQL4.

Nella prossima lezione approfondiremo le direttive facendo esempi più specifici mettendone in evidenza l’utilizzo e l’utilità.

Apri un conto di trading

Lascia un commento

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