domenica 18 novembre 2012

EXPERT ADVISOR

Expert Advisor (Forex Robot EA) :

Ecco qui una guida UTILISSIMA che spiega per filo e per segno come si usano, modificano e dove si trovano gli EA della nostra piattaforma Metatrader4. Gli EA sono robot che agiscono da soli nel mercato FOREX senza quindi l'intervento umano, grazie a un particolare algoritmo che sfrutta leggi di mercato, indicatorim strategie ecc.
BUONA LETTURA:

UN Expert Advisor E' un programma scritto in un linguaggio di programmazione proprietario di Metaquotes, che si chiama mql (Meta Quotes Language). Questo linguaggio di programmazione ricorda un po' il linguaggio C. 
 
Programmare un EA

Programmare EA (Expert Advisor) è materia parecchio complessa da "lasciare" a chi ha già conoscenza di programmazione, di mercato finanziario e delle caratteristiche di Metatrader4. Nella piattaforma Metatrader4 esiste un "tastino" che lancia l'editor per programmi in mql, alternativamente il tasto F4 lancia l'editor. I programmi così come si vedono nell'editor sono solo dei files di testo presenti su disco con estensione .mq4 (Meta Quotes language 4), sono definiti in linguaggio informatico in "codice sorgente", cioè sono il lavoro diretto del programmatore, modificabile e verificabile. Quando si effettua la "compilazione" dell'expert, l'editor lo converte in un formato differente (estensione .ex4) che Metatrader può usare per eseguire le istruzioni di trading inserite nel codice dell'expert. Quando si acquista un EA commerciale viene sempre fornito solo il file già compilato (.ex4), se compro un'auto non me la danno coi piani dettagliati di fabbricazione......

Dove si trovano

Gli EA sono contenuti in una directory inserita sotto quella principale di Metatrader, col nome "/experts". Nella directory "/experts" saranno salvati gli EA sia in formato .mq4, se presenti, ed in formato .ex4, che è il formato necessario a Metatrader per impiegarli.

Nella directory "/experts" si trovano altre directory :

- "indicators" , contiene appunto gli indicatori, degli speciali programmi che visualizzano istogrammi in zone comuni o separate nei grafici, ad es. RSI, CCI ecc. ecc.

- "libraries" , contiene delle "librerie" di istruzioni in formato .mql o già compilate in formato .ex4 od in formato .dll , in questo caso sono delle librerie di funzioni in formato classico di Windows che il programma .ex4 andrà a "chiamare" durante il suo funzionamento. Spesso insieme agli EA commerciali viene fornita una libreria in questo formato.

- "files" , è una directory ad uso generale degli EA, cioè gli expert, salvo particolari accorgimenti, possono generare files o leggere files solo da questa directory

- "logs" contiene lo storico di quanto si è "visto" nel log degli expert del "terminal" di Metatrader chiamato "Consiglieri". Sono files di testo in chiaro uno per giorno di lavoro.

- "presets" contiene i files .set che sono delle impostazioni predefinite da applicare ai parametri esterni di un EA o di un indicatore. Gli EA o gli indicatori quando si inseriscono su un grafico presentano una finestra dove si possono impostare i vari parametri esterni, ad es. le ore di lavoro od il periodo di una media mobile. Per semplificare l'impostazione contemporanea di molti parametri, o per trasferire ad un'altra piattaforma Metatrader un "set" (insieme) di parametri differenti si possono creare dei files con appunto estensione .set che conterrà la "ricetta" di lavoro per quell'EA specifico. Questi file si creano coi due tasti "Carica" - "Salva" presenti sulla destra nella finestra che appare al lancio dell'EA o premendo F7 su un grafico con l'EA già caricato. Quindi se con un EA viene fornito un file .set questo dovrà essere salvato in questa directory e poi caricato al momento del lancio dell'expert sul grafico.

- "sample" contiene un esempio di codice sorgente per creare una libreria .dll per metatrader, ad uso e consumo di chi programma

- "scripts" contiene gli script, che sono dei programmi scritti come gli EA ma che vengono eseguiti solo una volta all'inserimento sul grafico

- "templates" può contenere dei Template specifici per gli EA, per "template" qui si intendono degli "scheletri" di expert o di indicatori da usare come "modello" di partenza per lo sviluppo

- "include" contiene delle parti di programmi in codice sorgente che possono essere incluse a piacimento nella programmazione. Chi programma in mq4 preferisce spesso separare in più files il programma per favorire la manutenzione del codice sorgente, in questa directory si possono salvare i vari "pezzi" di codice da inserire.

Come si abilitano 
Pur essendo la piattaforma Metatrader ormai dedicata quasi unicamente al trading automatico, al momento dell'installazione gli EA sono disabilitati. Questo sicuramente per complicare le cose al neofita. Quindi vanno "abilitati". Sono presenti in Metatrader vari livelli di abilitazione degli expert, ma l'unico impiegabile è uno solo. Quindi cliccare su "Strumenti" e "Opzioni" quindi su "Consiglieri esperti". Spuntare :

- "Abilita consiglieri esperti".

- "Disabilita esperti quando il conto è cambiato", lo consiglio in quanto può capitare di passare da un conto demo ad un conto real senza pensarci con gli ea abilitati.

- "Permetti compravendita in tempo reale"

- "Permetti importazioni DLL"

- "Permetti importazioni esperti esterni"

Le altre caselle andranno senza segno di spunta, uscire con OK. La procedura sovraesposta indica a Metatrader come comportarsi con gli ea quando si aprirà un nuovo grafico e si inserirà un expert. Se invece è stato inserito un ea su un grafico prima di effettuare queste impostazioni, le impostazioni particolari per quel grafico saranno ancora quelle di prima. Quindi aprire le proprietà dell'ea sul grafico con F7 e nel pannello "Comune" spuntare solo "Abilita allarmi" (opzionale) e "Permetti compravendita in tempo reale" e "Permetti importazioni DLL" e "Permetti importazione esperti esterni". Rimane un altro tasto da abilitare, è quello globale che permette la abilitazione/disabilitazione "al volo" di tutti gli EA ed è utile in molte situazioni. Si trova in alto nella barra di strumenti "Standard", vicino ad una piccola icona con il simbolo degli EA (testa col cappello) reca la scritta "Consiglieri esperti". Ogni volta che si fa click sul tasto si abilitano o disabilitano gli EA. Saranno abilitati quando sarà presente la freccia verde sopra l'icona. Per ogni grafico si ha un solo EA caricato. Se su un grafico con un EA caricato inserisco successivamente un nuovo EA, l'ultimo si sostituirà al primo. Un grafico con un EA può avere invece caricati indicatori a piacere. 


Come si usano

Dopo che sono stati salvati i vari files ricevuti nella specifiche directory è necessario riavviare Metatrader se al momento del salvataggio questo era in funzione. Quindi nella finestra, normalmente posta a sinistra chiamata "Navigatore", nella sezione "Consiglieri esperti", troviamo gli EA presenti nella directory "/experts". Saranno indicati in azzurro se di questi EA possediamo anche il file sorgente .mq4 , se invece sono EA commerciali di cui possediamo solo il file .ex4 saranno in grigio. Il colore indica quindi la possibilità di modificare il codice sorgente dell'expert. Col mouse si effettua un doppio click sull'EA che vogliamo inserire sul grafico che avremo preventivamente "preparato". Per preparato si intende un grafico aperto sulla coppia di lavoro dell'EA e col timeframe (periodo delle barre) richiesto dall'expert. Determinati EA possono lavorare indipendentemente dal timeframe del grafico corrente, altri EA necessitano di uno specifico timeframe per lavorare correttamente, quindi sarà da impostare prima di inserire l'EA. Al momento del lancio apparirà la finestra con i parametri esterni che andranno impostati come indicato nel manuale fornito con l'EA od impostati al volo con un file .set come indicato prima. Sono presenti tre tasti. Con "OK" confermeremo le impostazioni effettuate ai parametri esterni visualizzati ed il caricamento dell'EA sul grafico. Con "Annulla" otterremo l'annullamento del caricamento o delle modifiche apportate ai parametri se l'avremo premuto con l'EA già presente sul grafico. Con "Reset" otterremo la reimpostazione dei parametri esterni ai valori previsti dal programmatore, spesso utile per ricominciare daccapo alla ricerca di nuovi parametri di lavoro. Se tutto è ok la presenza dell'EA sul grafico sarà indicata dai vari messaggi di testo del medesimo sul grafico stesso (se previsti), e da una piccola icona SMILE in altro a destra nel grafico. Se l'icona non è sorridente significa che non abbiamo abilitato tutti i parametri indicati più sopra. E' sconsigliabile cambiare il timeframe o la coppia di lavoro di un grafico con un EA precedentemente caricato, levarlo e rimetterlo. Nello stesso grafico può essere inserito un solo expert advisor, inserendone un altro quello precedente sarà automaticamente tolto da Metatrader. Quindi un solo grafico per ea, mentre invece più indicatori possono convivere con un ea sullo stesso grafico. 

Come si verifica il funzionamento

Molti EA scrivono messaggi direttamente sul grafico, in genere in alto a sinistra. Nello storico (log) "Consiglieri" presente vicino al "Diario" (che è invece il log del dialogo della piattaforma col nostro broker) appariranno i messaggi relativi a tutti gli EA caricati. Quindi dopo il caricamento dell'EA sul grafico, nel log "Consiglieri" si leggeranno almeno due righe, la prima col nome dell'EA e "loaded successfully" (caricato con successo). La seconda con "inputs" e l'elenco dei parametri esterni (variabili esterne) ed il loro valore alla partenza. Altrettanto nel log della piattaforma "Diario" troveremo "Expert MACD Sample EURUSD,M1 : loaded successfully". Si nota che c'è sempre l'orario, il nome dell'expert, la coppia del grafico ed il timeframe indicato. Gli EA possono anche non eseguire operazioni affatto. Prima di preoccuparsi sul non funzionamento verificare i seguenti fatti. Molti EA eseguono operazioni solo in determinate fasce di orario del giorno o della notte. Oppure solo in presenza di particolari andamenti del mercato. Oppure necessitano per poter lavorare correttamente (scalper notturni ad es.) di Spread (differenza tra Ask e Bid) inferiori ad un determinato valore. Possono aver bisogno dell'autorizzazione del venditore ad operare sul nostro conto specifico e quindi vanno abilitati mediante le istruzioni del venditore. Gli EA per eseguire operazioni necessitano che il mercato sia aperto, quindi nel weekend ovviamente non operano. E' necessario che Metatrader sia avviato, connesso al broker. L'EA è un programma caricato in Metatrader a sua volta caricato nel proprio computer, quindi o il pc è acceso con Windows e Metatrader in funzione connesso al broker o non va nulla. Se l'EA ha delle operazioni aperte che sono presenti anche oltre il suo classico orario di lavoro deve poterle gestire, quindi non chiudere Metatrader con operazioni ancora aperte degli EA, salvo che si sappia quello che si sta facendo. 

Come si cambiano i parametri esterni una volta caricato sul grafico

Premendo F7 o cliccando col tasto di destra del mouse sul grafico e scegliendo "Consiglieri esperti" - "Proprietà" o cliccando proprio sull'icona SMILE in alto a dx si aprirà la finestra coi parametri esterni spiegata più sopra.


Come si tolgono dal grafico

Cliccando col tasto di destra del mouse sul grafico relativo all'EA e scegliendo "Consiglieri esperti" - "Rimuovi" oppure chiudendo il grafico stesso. 

F o n t e :  WIKITRADE.