Exp_Fractal_WeightOscillator: Der einfache EA für MetaTrader 5

Mike 2017.03.02 20:51 30 0 0
Anhang

Autor: Vladimir Khlystov

Hier stellen wir einen der einfachsten Expert Advisors (EA) vor, der auf dem Fractal_WeightOscillator basiert. Dieser EA verkauft, wenn der Oszillator den überkauften Bereich nach unten kreuzt, und kauft, wenn er den überverkauften Bereich nach oben kreuzt. Die Signale werden am Ende einer Kerze generiert, sobald die entsprechenden Niveaus übertreten werden.

Der Fractal_WeightOscillator_HTF Indikator im EA dient lediglich der besseren Visualisierung der Trends im Strategietester und bleibt in anderen Betriebsarten inaktiv.

Um den EA zum Laufen zu bringen, müssen die kompilierte Dateien Fractal_WeightOscillator.ex5 und Fractal_WeightOscillator_HTF.ex5 in den Ordner <terminal_data_folder>\MQL5\Indicators verschoben werden.

Nach der Kompilierung enthält die Datei Exp_Fractal_WeightOscillator.ex5 die Indikatoren Fractal_WeightOscillator.ex5 und Fractal_WeightOscillator_HTF.ex5 als Ressourcen. Das bedeutet, dass diese Indikatoren nicht im Terminalordner vorhanden sein müssen, damit der kompilierte EA funktioniert! Dies wurde durch den entsprechenden Code im EA sichergestellt, der diese Indikatoren in die ausführbare Datei des Experten integriert.

Die ausführbaren Indikator-Dateien wurden als Ressourcen im globalen Bereich hinzugefügt.

//---- Indikatoren in den EA-Code als Ressourcen einfügen
#resource "\\Indicators\\Fractal_WeightOscillator.ex5"
#resource "\\Indicators\\Fractal_WeightOscillator_HTF.ex5"

Die String-Pfade zu den als Ressourcen verwendeten Indikatoren wurden im Block der OnInit() Funktion geändert.

//---- Handle des Fractal_WeightOscillator abrufen
   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(" Fehler beim Abrufen des Handles für den Fractal_WeightOscillator Indikator");
      return(INIT_FAILED);
     }

//---- Handle des Fractal_WeightOscillator_HTF Indikators für Visualisierung im Strategietester abrufen
   if(MQLInfoInteger(MQL_VISUAL_MODE))
     {
      //---- Handle des Fractal_WeightOscillator_HTF Indikators abrufen
      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(" Fehler beim Abrufen des Handles für den Fractal_WeightOscillator_HTF Indikator");
         return(INIT_FAILED);
        }
     }

Daher kann die kompilierte ausführbare Datei des Experten eigenständig auf anderen Handelsplattformen verwendet werden, ohne die Indikatoren.

Beachten Sie, dass die Bibliotheksdatei TradeAlgorithms.mqh die Verwendung von Expert Advisors bei Brokern mit nicht-null Spreads und der Möglichkeit, Stop Loss und Take Profit gemeinsam mit der Positionsöffnung festzulegen, erlaubt. Weitere Varianten der Bibliothek finden Sie unter folgendem Link: Trade Algorithms.

Für die unten dargestellten Tests wurden die Standard-Eingabeparameter des Expert Advisors verwendet. Stop Loss und Take Profit wurden während der Tests nicht verwendet.

Abbildung 1. Beispiele für Geschäfte im Diagramm

Abbildung 1. Beispiele für Geschäfte im Diagramm

Die Testergebnisse für 2015 auf GBPUSD H6:

Abbildung 2. Diagramm der Testergebnisse

Abbildung 2. Diagramm der Testergebnisse

Liste
Kommentar 0