Autore Reale: Vladimir Khlystov
Scopriamo insieme l'Expert Advisor più semplice basato sull'oscillatore pesato Fractal_WeightOscillator. Questo EA opera vendendo quando l'oscillatore attraversa il livello di ipercomprato verso il basso e comprando quando attraversa il livello di ipervenduto verso l'alto. Il segnale viene generato alla chiusura di una barra, se il livello viene superato.
L'indicatore Fractal_WeightOscillator_HTF incluso nell'EA serve esclusivamente per una visualizzazione più comoda delle tendenze nel tester strategico, mentre in altre modalità operative rimane inattivo.
Per utilizzare il sistema, dovrai posizionare i file compilati Fractal_WeightOscillator.ex5 e Fractal_WeightOscillator_HTF.ex5 nella cartella <cartella_dati_terminal>\MQL5\Indicators.
Dopo la compilazione, il file expert Exp_Fractal_WeightOscillator.ex5 contiene gli indicatori Fractal_WeightOscillator.ex5 e Fractal_WeightOscillator_HTF.ex5 come risorse, quindi non è necessario che siano presenti nella cartella del terminale affinché l'EA compilato funzioni! Questo è possibile grazie al codice specifico incluso nell'EA per incorporare questi indicatori nel file eseguibile dell'expert.
I file eseguibili degli indicatori sono stati aggiunti come risorse a livello globale.
#resource "\Indicators\Fractal_WeightOscillator.ex5"
#resource "\Indicators\Fractal_WeightOscillator_HTF.ex5"
È stato modificato il percorso delle stringhe per gli indicatori utilizzati come risorse nel blocco della funzione OnInit().
InpInd_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\Fractal_WeightOscillator",
e_period,normal_speed,RSIWeight,RSIPrice,MFIWeight,MFIPrice,MFIVolumeType,
WPRWeight,DeMarkerWeight,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
if(InpInd_Handle==INVALID_HANDLE)
{
Print(" Impossibile ottenere il handle dell'indicatore Fractal_WeightOscillator");
return(INIT_FAILED);
}
//---- Ottenere il handle dell'indicatore Fractal_WeightOscillator_HTF per la visualizzazione nel tester strategico
if(MQLInfoInteger(MQL_VISUAL_MODE))
{
//---- ottenere il handle dell'indicatore Fractal_WeightOscillator_HTF
int Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\Fractal_WeightOscillator_HTF",InpInd_Timeframe,
e_period,normal_speed,RSIWeight,RSIPrice,MFIWeight,MFIPrice,MFIVolumeType,
WPRWeight,DeMarkerWeight,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
if(Ind_Handle==INVALID_HANDLE)
{
Print(" Impossibile ottenere il handle dell'indicatore Fractal_WeightOscillator_HTF");
return(INIT_FAILED);
}
}
In questo modo, il file eseguibile dell'expert può essere utilizzato su altri terminali di trading in modo autonomo senza gli indicatori.
È importante notare che la libreria TradeAlgorithms.mqh consente l'uso di Expert Advisor con broker che offrono spread non zero e la possibilità di impostare Stop Loss e Take Profit insieme all'apertura della posizione. Puoi scaricare altre varianti della libreria al seguente link: Trade Algorithms.
Durante i test mostrati di seguito, sono stati utilizzati i parametri di input predefiniti dell'Expert Advisor. Non sono stati utilizzati Stop Loss e Take Profit durante i test.

Fig. 1. Esempi di operazioni sul grafico
Risultati dei test per il 2015 su GBPUSD H6:

Fig. 2. Grafico dei risultati dei test
Commento 0