Previous Next

GSupportAndResistance.GetAll()

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

void  GSupportAndResistance.GetAll(
   GStructSupportAndResistanceDetails  &array[],        // Array zur Ausgabe der Daten
   ENUM_SUPPORTANDRESISTANCE           get = SAR_ALL,   // Auszugebende Daten: SAR_ALL, SAR_SUPPORT oder SAR_RESISTANCE
   ENUM_TIMEFRAMES                     timeFrame = -1   // Zeitrahmen der gewünschten Werte
   );

Parameter

&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.

get

[in]  Die Daten die Ausgelesen werden sollen. Zulässig sind SAR_ALL, SAR_SUPPORT oder SAR_RESISTANCE. Siehe ENUM_SUPPORTANDRESISTANCE.

timeFrame

[in]  Zeitrahmen der Werte. -1 Gibt die Daten aller aktiven Zeitrahmen aus.

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.


Beispiel:

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

//--- Erzeugung eines Zeigers zu einem leeren Klassenobjektes
GSupportAndResistance *supportAndResistance;


int OnInit ()
{
   //--- Die Klasse dem leerem Klassenobjekt zuweisen
   supportAndResistance = gSupportAndResistance();

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

   return(INIT_SUCCEEDED);
}

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


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

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

      //--- Array befüllen
      supportAndResistance.GetAll(array);

      //--- Überprüfung und Ausgabe der Berührungen einer Linie
      if (ArraySize(array)  >= 3)
      {
         Print(array[2].touches);
      }
   }
}


Sehen Sie auch

GSupportAndResistance.GetAllPrices, GSupportAndResistance.GetPivots