Home Trading Sistematico Post

Guida all'Expert Advisor per MetaTrader 5: Ottimizzazione e Funzionamento

Allegato
1108.zip (5.21 KB, Scarica 0 volte)

L'Expert Advisor è stato riscritto da MQL4 dall'autore lsv. Puoi trovare il codice sorgente qui.

Come funziona

Questo Expert Advisor opera sui tick, indipendentemente dal timeframe. Si basa sull'analisi delle medie dei pattern di prezzo attuali. Vengono generati diversi pattern con parametri differenti, il numero di pattern è definito dalla variabile Nidelt. Per il primo pattern viene utilizzato il parametro dstop, per il secondo il dstop*2, e così via fino a dstop*N, dove N è il numero totale di pattern. Quando il prezzo raggiunge il valore dstop*N, un nuovo punto del pattern viene registrato. L'ultimo punto viene eliminato, mantenendo così la lunghezza del pattern fissa a Nidelt punti. Maggiore è il valore delle impostazioni di un pattern, più profondo sarà l'analisi storica. In questo modo, il mercato viene monitorato simultaneamente a diverse profondità storiche.

Quando un pattern cambia (a causa di variazioni nel mercato), viene aperta una posizione virtuale. L'obiettivo qui è collegare la posizione a una specifica situazione di mercato. Questo avviene nel seguente modo: il pattern mostrato dalla sequenza di valori di prezzo viene convertito in una sequenza binaria; se il valore di un punto è maggiore di quello precedente, viene rappresentato come 1, altrimenti come 0. In questa sequenza viene calcolato il numero unico del pattern (ossia la conversione del numero binario in decimale).

Possono essere aperte da una a tre posizioni virtuali con Stop Loss e Take Profit individuali; i valori di Stop Loss e Take Profit sono gli stessi per ogni posizione. Il valore di Stop Loss/Take Profit è definito dal parametro dstop: per una posizione si utilizza dstop*1, per un'altra dstop*2, e così via. Se il prezzo aumenta secondo il valore di probabilità di Stop Loss/Take Profit, allora verranno aggiunti valori alla possibile crescita per questo pattern, se diminuisce, aumenterà il valore di probabilità verso il basso. Le posizioni virtuali vengono aperte per ciascuno dei tre pattern: parametro del pattern, numero del pattern (la sua forma) e per ciascun valore di Stop Loss/Take Profit. Per ognuna di queste combinazioni viene calcolata la probabilità di trade virtuale verso l'alto o verso il basso.

Se, secondo una qualsiasi combinazione di tre parametri (parametro, numero, Stop Loss/Take Profit), vengono create non meno di 10 operazioni virtuali, e se la stessa situazione di mercato si verifica (un certo parametro e numero di pattern viene autodetectato), in tal caso si può considerare l'apertura della posizione con una direzione definita in base alla probabilità calcolata sulla base di questa statistica e del valore di Stop Loss/Take Profit.

Ci vorrà del tempo per raccogliere statistiche. Come scrive l'autore dell'Expert Advisor: "Potrebbe richiedere diverse settimane". Il processo di raccolta statistiche può essere accelerato utilizzando il tester. Tuttavia, le variazioni dei prezzi sui tick nel tester e nel mercato reale possono differire notevolmente. L'autore consiglia di procedere in questo modo: insegnare l'Expert Advisor nel tester e poi eseguirlo su un conto demo per quasi una settimana. Se l'Expert Advisor mostra risultati positivi (in questo modo apprenderà un poco), sarà possibile utilizzarlo su un conto reale.

Preparazione di un Expert Advisor

Il primo passo per preparare l'Expert Advisor al lavoro consiste nell'ottimizzazione dei suoi parametri: Nidel, Nstop, dstop, forg, Probab, NN, delta. In questa fase, l'ottimizzazione viene eseguita con i parametri ReadHistory e SaveHistory disattivati. Una volta trovata una combinazione accettabile di parametri, è necessario eseguire un test con SaveHistory=true. Successivamente, l'Expert Advisor deve essere eseguito su un conto con ReadHistory=true; l'Expert Advisor inizia a lavorare immediatamente poiché ha raccolto sufficiente statistica nel tester. È consigliato attivare SaveHistory durante il lavoro in conto per salvare automaticamente i dati quando l'Expert Advisor sarà sovrallenato e pronto a ripartire in caso di riavvio.

Utilizzando SaveHistory nel tester, i dati di apprendimento vengono salvati in un file, che ha un nome come FD_[Symbol]. Se l'Expert Advisor effettua test su EURUSD, il file si chiamerà «FD_EURUSD», se su GBPUSD – «FD_GBPUSD», e così via. I file vengono salvati nella cartella Files, che è la cartella dati comune per tutti i terminali. Puoi trovare la Cartella Dati Generale tramite il menu principale di MetaEditor – per aprire la cartella dati generale. Attraverso questa cartella, i dati vengono letti da ReadHistory.

Oltre a salvare i risultati di apprendimento, l'Expert Advisor salva due file necessari nel processo di trading. I file hanno nomi: FDlast_buy[Symbol][TimeFrame] e FDlast_sell[Symbol][TimeFrame]. Non prestare attenzione a questi file.

L'Expert Advisor dipende dal timeframe solo in termini di periodicità del salvataggio dei dati di apprendimento e del tempo minimo tra le operazioni virtuali. Questo è pari a due densità di barre, quindi ci può essere una certa differenza nei risultati di lavoro dell'Expert Advisor su diversi timeframe.

L'immagine mostra i risultati dell'apprendimento dell'Expert Advisor su EURUSD M15 con le impostazioni predefinite.

 

Parametri

  • ReadHistory - Lettura della storia salvata dell'apprendimento.
  • SaveHistory - Per salvare la storia dell'apprendimento. Durante il testing la storia viene salvata fino alla fine del test; quando si lavora su conto, regolarmente tramite sovrallenamento.
  • Lots - Volume della posizione.
  • Nidelt - Il numero di pattern non deve superare 30.
  • Nstop - Numero di parametri delle posizioni virtuali (valori diversi di Stop Loss e Take Profit, Stop Loss e Take Profit sono uguali), 1, 2 o 3.
  • dstop - Passo di cambiamento dei parametri delle posizioni virtuali (Stop Loss e Take Profit).
  • forg - Tasso di dimenticanza dei risultati di apprendimento, il valore dovrebbe essere leggermente superiore a 1.
  • Probab - Livello di probabilità definito dai risultati di apprendimento in base al quale si esegue l'apertura delle posizioni.
  • NN - La dimensione del pattern non deve superare 12.
  • delta - Passo di cambiamento del parametro del pattern.
  • ReplaceStops - Per modificare Stop Loss/Take Profit sui nuovi segnali di apertura. La trasposizione di Stop Loss/Take Profit è operata solo fino alla direzione della posizione.
  • Trailing - Livello di trailing stop; quando il valore è 0, il trailing stop è disabilitato.

Post correlati

Commento (0)