Se da un lato questo permette all'utente di avere il pieno controllo del trading system dall'altro introduce una complessità e può spaventare chi non conosce tanto bene gli indicatori di metatrader e su come sia possibile personalizzarli.
Un topic di guida sulle variabili esterne di questo consigliere esperto si rende quindi necessario, se provate ad aprire il sorgente troverete questo pezzo di codice (ho omesso le righe con gli asterischi che vengono utilizzate solo per una miglior presentazione nell'interfaccia di metatrader, nei valori di input dell'expert):
//Settaggi Stocastico
extern int e_Kperiod_Stochastic = 8;
extern int e_Dperiod_Stochastic = 2;
extern int e_slowing_Stochastic = 1;
extern int e_method_Stochastic = MODE_SMA;
extern int e_price_field_Stochastic = 0;
extern int e_mode_Stochastic = MODE_MAIN;
extern int e_shift_Stochastic = 0;
extern double e_heart_Stochastic = 60;
extern double e_Stochastic_tollerance = 1;
In questo caso un'immagine vale più di mille parole:
I nomi delle variabili sono quindi molto simili a quelli che trovate nella maschera degli indicatori di metatrader.
//Settaggi W%R
extern int e_period_WPR = 5;
extern int e_shift_WPR = 0;
extern double e_heart_WPR = -40;
extern double e_WPR_tollerance = 1;
//Settaggi RSI
extern int e_period_RSI = 14;
extern int e_applied_price_RSI = PRICE_CLOSE;
extern int e_shift_RSI = 0;
extern double e_heart_RSI = 60;
extern double e_RSI_tollerance = 1;
//Settaggi ADX
extern int e_period_ADX = 14;
extern int e_applied_price_ADX = PRICE_CLOSE;
extern int e_shift_ADX = 0;
extern double e_ADX_tollerance = 1;
//Settaggi Ordini
extern double e_TakeProfit = 50;
extern double e_Lots = 0.1;
extern double e_Stoploss = 35;
extern double e_MagicID = 12345;
Le variabili che contengono il nome heart al loro interno non sono altro che i valori della famosa linea del cuore. Giocano un ruolo fondamentale anche le variabili che finiscono per _tollerance, queste sono il parametro discrezionale per decidere quando un segnale è ancora valido o meno.
Un esempio chiarirà meglio la situazione: facciamo finta che lo stocastico abbia superato il valore 60 dal basso all'alto e quindi abbia generato un segnale long, gli altri indicatori però non hanno ancora superato la soglia critica della linea del cuore e quindi l'ordine non viene inviato a mercato.
Dopo un paio d'ore anche gli altri indicatori si decidono a dare il segnale long, a questo punto però lo stocastico ha già raggiunto il valore 62. Se la variabile tollerance dello stocastico è impostata ad un numero maggiore di 2 il segnale sarà considerato valido e l'expert aprirà una posizione long, nel caso in cui la tolleranza sia invece impostata ad 1 non ci sarà alcun segnale di buy e non verranno inviati ordini a mercato.
Spendo le ultime parole per la variabile e_MagicID che non è altro che il famoso magic number degli expert advisor. Questo numero serve al programma per riconoscere le operazioni aperte da se stesso e non interferire quindi su ordini aperti manualmente o da altri expert advisor (ammesso che anche questi ultimi utilizzino il magic number e che il numero impostato non sia lo stesso).
Modificando questi valori di input si può quindi modificare radicalmente il comportamento dell'ea, al momento non ci sono controlli sui valori ammessi per queste variabili e una modifica non razionale può compromettere il funzionamento del programma restituendo nel migliore dei casi errori bloccanti o, addirittura adottando un'operatività "impazzita". Il consiglio, per i meno esperti, è quindi quello di testare il software con i valori di default.
5 commenti:
Mi sono accorto di un errore, avevo impostato come valore di default per la variabile e_Stochastic_tollerance il valore 60, ho corretto mettendolo ad 1...Questo deve aver sballato anche il backtest
Scusami ma nell'ea che ho importato io il parametro:
e_Method_Stochastic è uguale a 0 e non a MODE_SMA così come altri..da me sempre uguali a zero mentre sopra indicano PRICE CLOSE...
tutto normale?
Scusa ma cerco di guardare tutto pur capendo poco!
In realtà per i seguenti parametri non so quale sia il valore consigliato dalll trading system:
e_method_Stochastic
e_mode_Stochastic
e_applied_price_RSI
e_applied_price_ADX
In seguito darò la lista di tutti i parametri possibili per queste variabili ma per ora il comportamento non dovrebbe cambiare di molto con un'impostazione piuttosto che un'altra
Io modificato i parametri dei vari grafici spostando il Williams a 7 periodi, ADX a 5, lo stocastico su 7-3 e l'ho fatto dalla mascherina dei settaggi che compare su Metatrader quando uno va sulle proprietà dell'ea. Pensi che questo abbia causato qualche danno? Adesso mi sono reso conto che se i diversi grafici sono >60 (ADX escluso) lui continua ad andare in buy anche con valori dei grafici molto al di sopra della soglia richiesta...forse non dovevo customizzarlo?
no le tue prove sono corrette, il motivo per cui apre posizioni sballate è douto ad errori che ho commesso sul codice (vedi l'ultimo post che ho pubblicato).
E' meglio se attendi la prossima release per continuare i test.
Posta un commento