Previous Next

GChartPatterns.GetAllFinish()

Füllt ein GStructChartPatterns Objekt-Array den Werten der beendeten Formationen.

void  GChartPatterns.GetAllFinish(
   ENUM_TIMEFRAMES       timeFrame,           // Zeitrahmen der gewünschten Werte
   GStructChartPatterns  &array[]             // Array zur Ausgabe der Daten
   int                   count = WHOLE_ARRAY  // Maximale Zahl an Daten die Ausgegeben werden sollen
   );

Parameter

timeFrame

[in]  Zeitrahmen der erkannten Formationen.

&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 maximal 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
GChartPatterns *chartPatterns;


int OnInit ()
{
   //--- Die Klasse dem leerem Klassenobjekt zuweisen
   chartPatterns = gChartPatterns();

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

   return(INIT_SUCCEEDED);
}

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


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

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

      //--- Array befüllen
      chartPatterns.GetAllFinish(PERIOD_H1, array);

      //--- Überprüfung und Ausgabe des letzten festen Wertes
      if (ArraySize(array) >= 1)
      {
         Print(array[1].name);
      }
   }
}


Sehen Sie auch

GChartPatterns.GetFinish, GChartPatterns.Signal, GChartPatterns.GetBuild