Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Telegram!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Bibliotheken

GetExtremums - Bibliothek für den MetaTrader 5

Ansichten:
802
Rating:
(28)
Veröffentlicht:
2016.05.10 08:23
Aktualisiert:
2016.11.22 07:34
\MQL5\Include\
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Die Funktion GetExtremums() identifiziert in einem bestimmten Zeitraum die Kursextrema. Der Suchalgorithmus ist ähnlich wie der des Indikators FastZZ und verwendet nur einen Parameter - die minimale Preisänderung - um ein Extremum zu identifizieren.

int GetExtremums(double range,      //die minimale Preisänderung
                 MqlRates &rates[], //Kurs-Array
                 dextremum &ge[],   //zurückgeliefertes Array mit den Extrema
                 int total=0)       //Anzahl der Extrema oder Null für alle Extrema        
Parameter:
  •    doppelte Reichweite - minimale Preisänderung zur Identifizierung eines Extremums;
  •     MqlRates &rates[] - Kurs-Array;
  •     dextremum &ge[] - Array, dem die identifizierten Extrema fortlaufend zugewiesen werden, mit dem jüngsten Extremum als erstes Element. (Index 0).
  •     int total - Obergrenze für die zu findende Anzahl von Extrema. Es werden standardmäßig alle Extrema gesucht (total==0).
Rückgabewert:
  •     Anzahl der Elemente des Arrays der Extrema

Folgende Struktur dient zur Beschreibung eines Extremums.

struct dextremum         //Beschreibung eines Extremums
{
   int        type;      //1 - Hoch, -1 - Tief
   datetime   time;
   double      value;
};


Ein Beispiel der Verwendung von GetExtremums().

#include <GetExtremums.mqh>
//----
void OnStart()
{
   MqlRates rt[];
   dextremum zz[];
   CopyRates(_Symbol,_Period,TimeCurrent(),100,rt);
   //die erste Variante - finde 10 Extrema
   int cnt=GetExtremums(100*_Point,rt,zz,10);
   for(int i=0; i<cnt; i++)
        Print(i,") ",zz[i].time," >> ",zz[i].type==1?"Peek":"Trough","=",zz[i].value);
   //die erste Variante - finde alle Extrema 
   cnt=GetExtremums(100*_Point,rt,zz);
   Print("Found ",cnt," extremums");
}
//----

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/1052

New Highs-New Lows Index New Highs-New Lows Index

Der "New Highs-New Lows Index" berechnet die Differenz der Anzahl von Währungspaaren mit neuen Höchstständen und denen, mit neue Tiefs innert eines bestimmten Zeitraumes.

IncGUI_BitPic IncGUI_BitPic

Grafiksteuerung um Pixel zu zeichnen.

gpfTCPivotStop gpfTCPivotStop

Der Expert Advisor auf Basis der täglichen Pivot-Linien.

gpfTCPivotLimit gpfTCPivotLimit

Das System handelt den Rücksprung weg von den Unterstützung/Widerstandslinien des Pivot-Indikators