Previous Next

GZigZag.GetAllLineLenghts()

Füllt ein double Array mit den Preisdifferenzen zwischen den Extrempunkten.

void  GZigZag.GetAllLineLenghts(
   ENUM_TIMEFRAMES  timeFrame,           // Zeitrahmen des gewünschten Wertes
   double           &array[]             // Array zur Ausgabe der Daten
   int              start = 0            // Ab welchem Element mit dem Kopieren begonnen werden soll
   int              count = WHOLE_ARRAY  // Maximale Zahl an Daten die Ausgegeben werden sollen
   );

Parameter

timeFrame

[in]  Zeitrahmen des Extrempunktes

&array[]

[out]  Das Array welches mit den Daten gefüllt werden soll.

start

[in]  Zahl des Extrempunktes bei dem mit dem Kopieren begonnen werden soll. Der aktuelle unfertige Extrempunkt befindet sich an Position 0 (Null).

count

[in]  Anzahl der Elemente die ausgelesen werden sollen.

Rückgabewert

Im Erfolgsfall wird das übergebene Array mit den Elementen gefüllt und das Array auf die Zahl der Elemente gekürzt oder vergrößert. Im Fehlerfall beträgt die Größe des Arrays 0 (Null) und eine Meldung wird ausgegeben.

Hinweis

Das Array sollte nach Befüllung immer auf Inhalt geprüft werden. Aufgrund unvollständig übergebener historischer Daten vom Terminal an Glib kann es zu vereinzelten Fehlern bei der Ausgabe kommen.


Beispiel:

//--- Einbinden der Glib Klassen
#include <Glib.mqh>

//--- Erzeugung eines Zeigers zu einem leeren Klassenobjektes
GZigZag *zigZag;


int OnInit ()
{
   //--- Die Klasse dem leerem Klassenobjekt zuweisen
   zigZag = gZigZag();

   //--- Die Daten der Klasse initialisieren
   zigZag.Init();

   return(INIT_SUCCEEDED);
}

void OnDeinit (const int reason)
{
   //--- Bei beenden Speicher freigeben
   delete zigZag;
}


void OnTick ()
{
   if ( zigZag.Ready() ) //--- Wird erst ausgeführt wenn alle Daten bereit sind
   {
      //--- Array erstellen
      double array[];

      //--- Array befüllen
      zigZag.GetAllLineLengths(PERIOD_M15, array);

      //--- Überprüfung und Ausgabe des vorletzten festen Wertes
      if (ArraySize(array)  >= 3)
      {
         Print(array[0]);
      }
   }
}


Sehen Sie auch

GZigZag, GZigZag.Get, GZigZag.GetAll, GZigZag.GetPrice, GZigZag.GetAllPrices