und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
Exp_ColorZerolagMomentum_X2 - Experte für den MetaTrader 5
- Ansichten:
- 611
- Rating:
- Veröffentlicht:
- 2017.02.24 09:28
- Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
- Die Signale des schnellen und des langsamen Trends stimmen überein;
- Die Richtung des schnellen Trends hat sich geändert.
Eingabeparameter des Expert Advisors:
//| Eingabeparameter des Indikators des Expert Advisors |
//+-------------------------------------------------+
input string Trade="Handelsmanagement"; //+============== HANDELSMANAGEMENT ==============+
input double MM=0.1; //Anteil der Einlage an jedem Trade
input MarginMode MMMode=LOT; //Methode zur Bestimmung der Lotgröße
input uint StopLoss_=1000; //Stop Loss in Punkten
input uint TakeProfit_=2000; //Take Profit in Punkten
input string MustTrade="Erlaubnis zum Handeln"; //+============== ERLAUBNIS ZUM HANDELN ==============+
input int Deviation_=10; //max. Abweichung des Preises in Punkten
input bool BuyPosOpen=true; //Erlaubnis, eine Long-Position zu eröffnen
input bool SellPosOpen=true; //Erlaubnis, eine Short-Position zu eröffnen
//+-------------------------------------------------+
//| Eingabeparameter des Indikators des Filters |
//+-------------------------------------------------+
input string Filter="PARAMETER DES LANGSAMEN TRENDS"; //+============== TRENDPARAMETER ==============+
input ENUM_TIMEFRAMES TimeFrame=PERIOD_H6; //1 Chartperiode für den Trend
input uint smoothing=15;
input ENUM_APPLIED_PRICE IPC=PRICE_CLOSE;//Preiskonstante
//----
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; //Nummer des Balkens für das Erhalten eines Einstiegssignals
input bool BuyPosClose=true; //Erlaubnis, Long-Positionen basierend auf dem Trend zu schließen
input bool SellPosClose=true; //Erlaubnis, Short-Positionen nach dem Trend zu schließen
//+-------------------------------------------------+
//| Eingabeparameter des Einstiegsindikators |
//+-------------------------------------------------+
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;//Preiskonstante
//----
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;//Nummer des Balkens für das Erhalten des Einstiegssignals
input bool BuyPosClose_=false; //Erlaubnis, Long-Positionen nach dem Signal zu schließen
input bool SellPosClose_=false; ///Erlaubnis, Short-Positionen basierend auf dem Signal zu schließen
//+-------------------------------------------------+
Die String-Variablen mit dem Text im Code der Eingabeparameter dienen nur zu einer besseren visuellen Darstellung des Fensters der Eingabeparameter des Expert Advisors.
Die ColorZerolagMomentum_HTF Indikatoren sind nur für eine einfachere Visualisierung von Trends im Strategietester vorgesehen, sie funktionieren nicht in anderen Modi.
Für eine korrekte Kompilation benötigt der Expert die kompilierten Dateien ColorZerolagMomentum.ex5 und ColorZerolagMomentum_HTF.ex5. Kopieren Sie sie in den Ordner <terminal_data_folder>\MQL5\Indicators.
Nach der Kompilation beinhaltet die Datei des Expert Advisors Exp_ColorZerolagMomentum.ex5 die Indikatoren ColorZerolagMomentum.ex5 und ColorZerolagMomentum_HTF.ex5 als Ressourcen, deswegen müssen sie nicht weiter im Ordner des Terminals vorhanden sein! Dafür wurde dem Code des Expert Advisors der entsprechende Code für das Einfügen dieser Indikatoren in die ausführbare Datei des Expert Advisors hinzugefügt.
An der globalen Ebene wurden die ausführbaren Dateien der Indikatoren als Ressourcen hinzugefügt
#resource "\\Indicators\\ColorZerolagMomentum.ex5"
#resource "\\Indicators\\ColorZerolagMomentum_HTF.ex5"
Im Block der OnInit() Funktion wurden die Pfade zu den als Ressourcen verwendeten Indikatoren geändert
InpInd_Handle=iCustom(Symbol(),TimeFrame,"::Indicators\\ColorZerolagMomentum",
smoothing,IPC,Factor1,Momentum_period1,Factor2,Momentum_period2,Factor3,Momentum_period3,Factor4,Momentum_period4,Factor5,Momentum_period5);
if(InpInd_Handle==INVALID_HANDLE)
{
Print(" Der Handle des ColorZerolagMomentum Indikators konnte nicht erhalten werden");
return(INIT_FAILED);
}
//---- den Handle des ColorZerolagMomentum Indikators erhalten
InpInd_Handle_=iCustom(Symbol(),TimeFrame_,"::Indicators\\ColorZerolagMomentum",
smoothing_,IPC_,Factor1_,Momentum_period1_,Factor2_,Momentum_period2_,Factor3_,Momentum_period3_,Factor4_,Momentum_period4_,Factor5_,Momentum_period5_);
if(InpInd_Handle_==INVALID_HANDLE)
{
Print(" Der Handle des ColorZerolagMomentum Indikators konnte nicht erhalten werden");
return(INIT_FAILED);
}
if(MQLInfoInteger(MQL_VISUAL_MODE))
{
//---- Handle des ColorZerolagMomentum_HTF Indikators erhalten
int Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\\ColorZerolagMomentum_HTF",TimeFrame,
smoothing,IPC,Factor1,Momentum_period1,Factor2,Momentum_period2,Factor3,Momentum_period3,Factor4,Momentum_period4,Factor5,Momentum_period5);
if(Ind_Handle==INVALID_HANDLE)
{
Print(" Der Handle des ColorZerolagMomentum_HTF Indikators konnte nicht erhalten werden");
return(INIT_FAILED);
}
//---- Handle des ColorZerolagMomentum_HTF Indikators erhalten
Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\\ColorZerolagMomentum_HTF",TimeFrame_,
smoothing_,IPC_,Factor1_,Momentum_period1_,Factor2_,Momentum_period2_,Factor3_,Momentum_period3_,Factor4_,Momentum_period4_,Factor5_,Momentum_period5_);
if(Ind_Handle==INVALID_HANDLE)
{
Print(" Der Handle des ColorZerolagMomentum_HTF Indikators konnte nicht erhalten werden ");
return(INIT_FAILED);
}
}
Auf diese Weise kann die kompilierte ausführbare Datei des Expert Advisors in anderen Terminals ohne Indikator verwendet werde.
Es ist zu beachten, dass die TradeAlgorithms.mqh Datei für die Verwendung von Expert Advisors bei Brokern entworfen wurde, die einen nonzero Spread anbieten und bei denen es möglich ist, Stop Loss und Take Profit gleichzeitig mit der Eröffnung einer Position zu setzen. Andere Varianten dieser Bibliothek können unter Trade Algorithms heruntergeladen werden.
Bei den unten angeführten Tests wurden die Standardparameter des Expert Advisors verwendet. Stop Loss und Take Profit wurden in den Tests nicht verwendet.
Abb. 1. Beispiele für Trades auf dem Chart
Testergebnisse für 2015 auf GBPJPY, langsamer Trend auf H6, schneller Trend auf M30:
Abb. 2. Chart der Testergebnisse
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/16981
Der fraktale DeMarker Oszillator.
Fractal_Keltner_HTFDer Fractal_Keltner Indikator mit der Option, Zeitrahmen in den Eingabeparametern auszuwählen.
Der Indikator zeigt Balance und Equity des Handelskontos an.
StochHandeln mit Sell Limit und Buy Limit Pending Orders. Um 23:59 löscht der Expert Advisor alle Orders und schließt alle Positionen.