Supertrend Indikator

Der Supertrend Indikator wird auf Basis der durchschnittlichen Handelsspanne (ATR - Average True Range) berechnet.

Supertrend Indikator
Werbung

MQL4 Programmierung im Metatrader 4

Das Arbeitsbuch für die Programmierung automatischer Handelssysteme im MetaTrader 4

Das Arbeitsbuch für die Programmierung automatischer Handelssysteme im MetaTrader 4 richtet sich an alle, die Programmierkenntnisse in der Programmiersprache MQL 4 erlangen wollen. Ziel des Buches ist es, dem Leser die Kenntnisse zu vermitteln individuelle Expert Advisor Programme zu programmieren. Durch die Erläuterung verschiedener Funktionen und Anwendungen können die Einsatzmöglichkeiten der Programmiersprache MQL4 vom Leser nachvollzogen und eigenständig umgesetzt werden. Schrittweise wird der Leser in die Programmiersprache eingeführt und anhand von Beispielprogrammen können Programmiertechniken gelernt werden.

Mehr Erfahren →

Der Supertrend Indikator

Der Supertrend-Indikator zeigt den Trend eines Kursverlaufs und berücksichtigt dabei auch die Volatilität.

Es gibt viele Möglichkeiten, einen Trend zu verifizieren. Einige Trader verwenden gleitende Durchschnitte, einige verwenden Trendlinien, andere verwenden eine Kombination dieser Werkzeuge oder andere Indikatoren.

Der Supertrend-Indikatorist ein weiterer einfacher Indikator, der helfen kann, den Trend zu erkennen. Er berücksichtigt jedoch zusätzlich die Volatilität des Basiswertes mit Hilfe des ATR-Indikators.

Der Supertrend-Indikator kann in den folgenden Situationen nützlich sein:

  • Trendfolgestrategien, wenn mit dem Trend gehandelt werden soll.
  • Trendumkehr-Strategien, wenn gehandelt werden soll, wenn sich der Trend ändert.
  • Risikomanagement - Der Supertrend kann zum Setzen eines Stop-Loss oder als Trailing-Stop verwenden werden.
  • Ausstiegssignal, wenn ein Handel bei einer Trendumkehr beenden werden soll.

Supertrend kann ein Einstiegssignal, ein Ausstiegssignal und ein Stop-Loss-Follower sein.

Der Supertrend-Linienindikator ist wahrscheinlich einer der beliebtesten benutzerdefinierten Indikatoren. Der Indikator ist ideal für Trendfolgestrategien, um einen anhaltenden Trend zu erkennen.

Außerdem kann er verwendet werden, um zu kaufen, wenn der Preis von einem Abwärtstrend in einen Aufwärtstrend wechselt und im umgekehrten Fall zu verkaufen.

 

Der Supertrend-Indikator ist ein sehr einfach zu verwendender Indikator. Er wird jedoch stark von einem schwankenden Markt beeinflusst und kann falsche Signale liefern. Es kann helfen, den Supertrend in Kombination mit einigen anderen Indikatoren zu verwenden, um bessere Signale zu liefern.

Wie wird Supertrend-Indikator berechnet?

Formel:

Supertrend Obere Linie = (High + Low) / 2 + Multiplikator × ATR.
Supertrend Untere Linie = ( High + Low) / 2 - Multiplikator × ATR.

Das Ablesen des Supertrend-Indikators ist sehr einfach.

Zunächst einmal zeigt der Indikator nur eine einzige Linie auf dem Chart an. Diese Linie ist der Supertrend.

Wenn sich die Kerzen oberhalb der Linie befinden, bedeutet dies, dass sich das Währungspaar wahrscheinlich in einem Aufwärtstrend befindet.

Wenn sich die Kerzen unterhalb der Linie befinden, bedeutet dies, dass sich das Währungspaar wahrscheinlich in einem Abwärtstrend befindet.

Wenn die Linie von unten nach oben oder umgekehrt wechselt, bedeutet dies, dass der Trend beendet ist und sich wahrscheinlich umkehrt.

Der Supertrend-Indikator unterstützt eine Reihe von Eingabeparametern. Sie sind nützlich, um die Empfindlichkeit und Reaktion des Indikators zu konfigurieren.

  • ATR Multiplikator - ein Multiplikator, der mit dem ATR-Wert verwendet wird.
  • ATR Periode - eine Periode für den ATR-Indikator.
  • ATR Max Bars - eine Anzahl von Bars, auf denen der Indikatorwert berechnet werden soll.

MQL4 Code

#property version "" #property strict #property indicator_chart_window #property indicator_color1 clrBlue #property indicator_color2 clrMagenta #property indicator_width1 4 #property indicator_width2 4 #property indicator_buffers 3 double TrendUp[], TrendDown[], TrendResult[]; int changeOfTrend; input string IndicatorName="SUPERTREND"; //Objects Prefix (used to draw objects) extern double ATRMultiplier=3.0; //ATR Multiplier extern int ATRPeriod=20; //ATR Period extern int ATRMaxBars=1000; //ATR Max Bars (Max 10.000) //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //---- indicators IndicatorSetString( INDICATOR_SHORTNAME, IndicatorName); SetIndexBuffer(0, TrendUp); SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, indicator_width1); SetIndexLabel(0, "Trend Up"); SetIndexBuffer(1, TrendDown); SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, indicator_width2); SetIndexLabel(1, "Trend Down"); SetIndexBuffer(2, TrendResult); SetIndexStyle(2, DRAW_NONE); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason){ } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate (const int rates_total, const int prev_calculated, const datetime& time[], const double& open[], const double& high[], const double& low[], const double& close[], const long& tick_volume[], const long& volume[], const int& spread[]){ int limit, i, flag, flagh, trend[10000]; double up[10000], dn[10000], medianPrice, atr; int counted_bars = IndicatorCounted(); if(counted_bars < 0) return(-1); if(counted_bars > 0) counted_bars--; limit=Bars-counted_bars; if(Bars < ATRMaxBars+2+ATRPeriod) ATRMaxBars=Bars-2-ATRPeriod; if(ATRMaxBars < =0){ Print("Need more historical data to calculate the Supertrend"); return 0; } for (i = ATRMaxBars; i > = 0; i--) { TrendUp[i] = EMPTY_VALUE; TrendDown[i] = EMPTY_VALUE; TrendResult[i] = EMPTY_VALUE; atr = iATR(NULL, 0, ATRPeriod, i); medianPrice = (High[i]+Low[i])/2; up[i]=medianPrice+(ATRMultiplier*atr); dn[i]=medianPrice-(ATRMultiplier*atr); trend[i]=1; if (Close[i] > up[i+1]) { trend[i]=1; if (trend[i+1] == -1) changeOfTrend = 1; } else if (Close[i] < dn[i+1]) { trend[i]=-1; if (trend[i+1] == 1) changeOfTrend = 1; } else if (trend[i+1]==1) { trend[i]=1; changeOfTrend = 0; } else if (trend[i+1]==-1) { trend[i]=-1; changeOfTrend = 0; } if (trend[i] < 0 && trend[i+1] > 0) {flag=1;} else {flag=0;} if (trend[i] > 0 && trend[i+1] < 0) {flagh=1;} else {flagh=0;} if (trend[i] > 0 && dn[i] < dn[i+1]) dn[i]=dn[i+1]; if (trend[i] < 0 && up[i] > up[i+1]) up[i]=up[i+1]; if (flag==1) up[i]=medianPrice+(ATRMultiplier*atr); if (flagh==1) dn[i]=medianPrice-(ATRMultiplier*atr); if (trend[i]==1) { TrendUp[i]=dn[i]; if (changeOfTrend == 1) { TrendUp[i+1] = TrendDown[i+1]; changeOfTrend = 0; } } else if (trend[i]==-1) { TrendDown[i]=up[i]; if (changeOfTrend == 1) { TrendDown[i+1] = TrendUp[i+1]; changeOfTrend = 0; } } TrendResult[i]=trend[i]; } ChartRedraw(); WindowRedraw(); return(0); } //+------------------------------------------------------------------+
Werbung

MQL4 Rezeptsammlung für Entwickler

Eine Sammlung von Lösungsansätzen für die Erstellung von Expert Advisor und Indikator Programmen in MQL4

Dieses Buch richtet sich an MQL4 Programmierer, die bereits über Erfahrungen in der Programmierung mit MQL4 erlangt haben, jedoch bei der Erstellung von Expert Advisor Programmen oder Indikatoren immer wieder auf Probleme stoßen, die eine Lösung benötigen. Es soll für verschiedene Probleme, die bei der Programmierung mit MQL4 auftreten können, eine entsprechende Lösung bieten, ohne das der Programmierer endlos lange überlegen oder noch länger im Internet nach einer Lösung suchen muss. Dieses Buch ist keine Anleitung, um MQL4 zu erlernen und es ist auch kein Nachschlagewerk für bestimmte Begrifflichkeiten der Programmiersprache MQL4. Es ist vielmehr der tägliche Begleiter eines MQL4 Programmierers der bereits die Grundzüge der Sprache beherrscht, aber bei der Umsetzung verschiedener Ideen entsprechende Lösungsansätze benötigt.

Mehr Erfahren →

Risikohinweis / Haftungsausschluss

Die vom Betreiber zur Verfügung gestellten Inhalte auf der Internetseite tradissimo.de, in E-Mail Newslettern und Produkten geben entweder die individuellen Erfahrungen des Betreibers wieder oder beruhen auf sorgfältiger Recherche, denen Quellen Dritter zu Grunde liegen und vom Betreiber als vertrauenswürdig und zuverlässig erachtet werden. Der Betreiber übernimmt keinerlei Gewährleistung für die Aktualität, Richtigkeit oder Vollständigkeit der Inhalte. Alle vom Betreiber erhältlichen Informationen, Angaben und Produkte dienen lediglich zu Informationszwecken und sind nicht als Anlageberatung oder als Kauf- bzw. Verkaufsempfehlung bestimmter Anlageprodukte zu verstehen. Die angebotenen Produkte und Informationen können eine individuelle Beratung nicht ersetzen.

Der Nutzer der Informationen und/oder der Produkte, die vom Betreiber angeboten werden, wird ausdrücklich darauf hingewiesen, dass der Handel mit Derivaten, wie beispielsweise CFD- und FOREX, erhebliche Risiken beinhalten und als hochspekulative Geschäfte anzusehen sind, die Risiken bergen, welche über den Totalverlust des eingesetzten Kapitals hinausgehen können. Durch den Einsatz automatischer Handelssysteme entstehen zusätzliche Risiken wie beispielsweise der Ausfall der Internetverbindung, Fehler im Programmcode oder Hard- oder Softwareprobleme. Darüber hinaus sind positive Ergebnisse einer Handelsstrategie in der Vergangenheit, keine Garantie für künftige Gewinne.

Trifft der Nutzer, auf Grund der vom Betreiber angebotenen Informationen oder Produkte, eine Handelsentscheidung oder verwendet einen vom Betreiber angebotenen Handelsroboter (Expert Advisor), so handelt er stets eigenverantwortlich, auf eigene Gefahr und auf eigenes Risiko. Die Haftung für Schäden materieller oder ideeller Art, die durch die Nutzung oder Nichtnutzung der Informationen und/oder Produkte bzw. durch die Nutzung fehlerhafter und/oder unvollständiger Informationen und/oder Produkte verursacht wurden, sind grundsätzlich ausgeschlossen.