Exp_ColorZerolagMomentum_X2: Ein Trend-Trading-System für MetaTrader 5

Mike 2017.01.26 18:08 20 0 0
Anhang

Willkommen in der Welt des automatisierten Tradings! Heute stelle ich euch das Exp_ColorZerolagMomentum_X2 vor, ein innovatives Trend-Trading-System, das auf den Signalen von zwei ColorZerolagMomentum-Indikatoren basiert.

Wie funktioniert das System?

Das erste Signal wird durch den ersten Indikator erzeugt, der die Richtung des langsamen Trends bestimmt, basierend auf der Position der Haupt- und Signal-Linien. Der zweite Indikator gibt das Signal für den Handelsstart, wenn die Linien sich kreuzen oder berühren. Ein Signal wird generiert, wenn eine Kerze schließt und folgende zwei Bedingungen erfüllt sind:

  • Die Signale des schnellen und langsamen Trends stimmen überein;
  • Die Richtung des schnellen Trends hat sich geändert.

Eingabeparameter für den Expert Advisor

Hier sind die wichtigsten Eingabeparameter:

//+-------------------------------------------------+
//| Eingabeparameter des EA-Indikators           |
//+-------------------------------------------------+
input string Trade="Handelsmanagement";    //+============== HANDELSMANAGEMENT ==============+
input double MM=0.1;               //Anteil des Kapitals in einem Deal
input MarginMode MMMode=LOT;      //Methode zur Lotwertbestimmung
input uint    StopLoss_=1000;      //Stop Loss in Punkten
input uint    TakeProfit_=2000;    //Take Profit in Punkten
input string MustTrade="Handelserlaubnis";    //+============== HANDELSERLAUBNIS ==============+
input int    Deviation_=10;       //max. Preisabweichung in Punkten
input bool   BuyPosOpen=true;     //Erlaubnis zum Öffnen einer Long-Position
input bool   SellPosOpen=true;    //Erlaubnis zum Öffnen einer Short-Position
//+-------------------------------------------------+
//| Eingabeparameter des Filterindikators        |
//+-------------------------------------------------+
input string Filter="PARAMETER FÜR LANGSAMEN TREND";    //+============== PARAMETER FÜR LANGSAMEN TREND ==============+
input ENUM_TIMEFRAMES TimeFrame=PERIOD_H6;  //1 Chartperiode für den Trend
input uint    smoothing=15;
input ENUM_APPLIED_PRICE IPC=PRICE_CLOSE;//Angewandter Preis
//----
input double Factor1=0.05;
input uint    Momentum_period1=8;
//----
input double Factor2=0.10;
input uint    Momentum_period2=21;
//----
input double Factor3=0.16;
input uint    Momentum_period3=34;
//----
input double Factor4=0.26;
input int    Momentum_period4=55;
//----
input double Factor5=0.43;
input uint    Momentum_period5=89;
input uint SignalBar=1; //Bar-Index für ein Einstiegssignal
input bool   BuyPosClose=true;     //Erlaubnis zum Schließen von Long-Positionen gemäß Trend
input bool   SellPosClose=true;    //Erlaubnis zum Schließen von Short-Positionen gemäß Trend
//+-------------------------------------------------+
//| Eingabeparameter des Einstieg-Indikators         |
//+-------------------------------------------------+
input string Input="EINSTIEGSPARAMETER";       //+=============== EINSTIEGSPARAMETER ===============+  
input ENUM_TIMEFRAMES TimeFrame_=PERIOD_M30;  //2 Chartperiode für den Einstieg
input uint    smoothing_=15;
input ENUM_APPLIED_PRICE IPC_=PRICE_CLOSE;//Angewandter Preis
//----
input double Factor1_=0.05;
input uint    Momentum_period1_=8;
//----
input double Factor2_=0.10;
input uint    Momentum_period2_=21;
//----
input double Factor3_=0.16;
input uint    Momentum_period3_=34;
//----
input double Factor4_=0.26;
input int    Momentum_period4_=55;
//----
input double Factor5_=0.43;
input uint    Momentum_period5_=89;
input uint SignalBar_=1;//Bar-Index für ein Einstiegssignal
input bool   BuyPosClose_=false;     //Erlaubnis zum Schließen von Long-Positionen durch Signal
input bool   SellPosClose_=false;    //Erlaubnis zum Schließen von Short-Positionen durch Signal
//+-------------------------------------------------+

Die String-Parameter im Code der Eingabeparameter dienen nur zur besseren Visualisierung des Eingabefensters des Experten.

Die ColorZerolagMomentum_HTF-Indikatoren im EA sind nur für eine bequemere Visualisierung der Trends im Strategietester gedacht und sind in anderen Betriebsmodi inaktiv.

Platziere die ColorZerolagMomentum.ex5 und ColorZerolagMomentum_HTF.ex5 kompilierten Dateien in den <terminal_datenordner>\MQL5\Indikatoren.

Nach der Kompilierung enthält die Exp_ColorZerolagMomentum.ex5 Expertendatei die ColorZerolagMomentum.ex5 und ColorZerolagMomentum_HTF.ex5 Indikatoren als Ressourcen, und daher ist es nicht erforderlich, dass sie im Terminalordner vorhanden sind, damit der kompilierte EA funktioniert! Zu diesem Zweck wurde der entsprechende Code in den EA-Code eingefügt, um diese Indikatoren in die ausführbare Datei des Experten einzuschließen.

Die ausführbaren Dateien der Indikatoren wurden als Ressourcen im globalen Bereich hinzugefügt.

//---- Indikatoren in den EA-Code als Ressourcen einfügen
#resource "\Indikatoren\ColorZerolagMomentum.ex5"
#resource "\Indikatoren\ColorZerolagMomentum_HTF.ex5"

Die Zeichenfolgenpfade zu den Indikatoren wurden im Block der Funktion OnInit() geändert.

//---- Handle des ColorZerolagMomentum-Indikators abrufen
   InpInd_Handle=iCustom(Symbol(),TimeFrame,"::Indikatoren\ColorZerolagMomentum",
                         smoothing,IPC,Factor1,Momentum_period1,Factor2,Momentum_period2,Factor3,Momentum_period3,Factor4,Momentum_period4,Factor5,Momentum_period5);
   if(InpInd_Handle==INVALID_HANDLE)
     {
      Print(" Fehler beim Abrufen des Handles des ColorZerolagMomentum-Indikators");
      return(INIT_FAILED);
     }

//---- Handle des ColorZerolagMomentum_HTF-Indikators abrufen
   InpInd_Handle_=iCustom(Symbol(),TimeFrame_,"::Indikatoren\ColorZerolagMomentum",
                          smoothing_,IPC_,Factor1_,Momentum_period1_,Factor2_,Momentum_period2_,Factor3_,Momentum_period3_,Factor4_,Momentum_period4_,Factor5_,Momentum_period5_);
   if(InpInd_Handle_==INVALID_HANDLE)
     {
      Print(" Fehler beim Abrufen des Handles des ColorZerolagMomentum-Indikators");
      return(INIT_FAILED);
     }

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

Beachtet, dass die TradeAlgorithms.mqh-Bibliotheksdatei es ermöglicht, Expert Advisors mit Brokern zu verwenden, die nicht null Spread anbieten und die Option haben, Stop Loss und Take Profit gemeinsam mit der Eröffnung der Position zu setzen. Weitere Varianten der Bibliothek könnt ihr unter folgendem Link herunterladen: Handelsalgorithmen.

Die Standard-Eingabeparameter des Expert Advisors wurden während der nachfolgenden Tests verwendet. Stop Loss und Take Profit wurden während der Tests nicht verwendet.

Abb. 1. Beispiele für Deals auf dem Chart

Abb. 1. Beispiele für Deals auf dem Chart

Testresultate für 2015 auf GBPJPY, langsamer Trend auf H6, Einstieg nach schnellem Trend auf M30:

Abb. 2. Chart der Testergebnisse

Abb. 2. Chart der Testergebnisse

Liste
Kommentar 0