Exp_Fractal_WeightOscillator: Un Expert Advisor per MetaTrader 5

Mike 2017.03.02 20:51 26 0 0
Allegato

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.

//---- Includere gli indicatori nel codice dell'EA come risorse
#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().

//---- ottenere il handle del Fractal_WeightOscillator
   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

Fig. 1. Esempi di operazioni sul grafico

Risultati dei test per il 2015 su GBPUSD H6:

Fig. 2. Grafico dei risultati dei test

Fig. 2. Grafico dei risultati dei test

Elenco
Commento 0