Previous Next

GZigZag.GetAll()

Füllt ein GStructZigZag Objekt-Array den Werten der Extrempunkte.

void  GZigZag.GetAll(
   ENUM_TIMEFRAMES  timeFrame,           // Zeitrahmen des gewünschten Wertes
   GStructZigZag    &array[]             // Array zur Ausgabe der Daten
   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. Wegen eines Bugs des MT5 Terminals, muss, bevor das Array an die Funktion übergeben wird, mit ArrayResize() genügend Speicher reserviert werden.

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. 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
   {
      //--- Struktur Array erstellen
      GStructZigZag array[];

      //--- Speicher zuteilen
      ArrayResize(array, 256);

      //--- Array befüllen
      zigZag.GetAll(PERIOD_H1, array);

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


Sehen Sie auch

GZigZag, GZigZag.Get, GZigZag.GetAllLineLenghts, GZigZag.GetPrice, GZigZag.GetAllPrices