Direttive e preprocessore

preprocessore

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

123#Direttiva Identificatore Valore #property copyright “Staff di ForexKata”

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

12345#property Identificatore Valore es: #property copyright forexkata.it es: #property indicator_separate_window
CostanteTipoDescrizione
linkstringIl collegamento al sito del programmatore
copyrightstringNote di Copyright
stacksizeintDimensione dello stack
indicator_chart_windowvoidMostra l’indicatore nella finestra del grafico
indicator_separate_windowvoidMostra l’indicatore in una finestra separata dal grafico
indicator_buffersintIl numero dei Buffers per il calcolo
indicator_colorNcoloril colore per la visualizzazione di linea N, dove N è compreso tra 1 e 8
indicator_widthNintlarghezza della linea N, dove N è compreso tra 1 e 8
indicator_styleNintlo stile della linea N, dove N è compreso tra 1 e 8
indicator_levelcolorcolorColore linea indicatore
indicator_levelwidthintGrandezza linea indicatore
indicator_levelstyleintStile linea indicatore
show_confirmvoidChiedi conferma prima di eseguire lo script
show_inputsvoidprima di eseguire lo script appare la finestra delle proprietà; disabilita proprietà show_confirm

Vedremo nei dettagli le sopracitate direttive nella prossima lezione.

Costanti

123#define Identificatore Valore es: #define testo “Ciao Mondo”

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

1234567#include #include “path/File” es: #include es: #include “funzioni.mqh”

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

plus500
plus500

Lascia un commento

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