Previous Next

GSupportAndResistance

Die Klasse GSupportAndResistance Setzt wichtige Kursmarken an denen sich Unterstützungen und Wiederstände befinden.

Einfach die Klasse erzeugen und die Daten werden automatisch ermittelt. Die Werte können dann mit einfachen Funktionen ausgelesen und verwendet werden.


Erzeugen und Zerstören der Klasse

Um die Klasse zu erzeugen und beim beenden des Programmes zu zerstören, sind 5 einfache Schritte notwendig. Diese Schritte können Sie dem Beispiel entnehmen.

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;
}

Ab diesem Zeitpunkt können Sie die Klassenfunktionen verwenden.

Aufgrund der Menge der Daten die Glib produziert, werden beim Starten ein paar wenige Ticks benötigt bis alle Daten erfasst wurden.

Um zu Überprüfen ob alle Daten vorbereitet wurden und um Fehler beim Start zu vermeiden, empfiehlt es sich die Klassenfunktion .Ready() auf true zu überprüfen.

Beispiel:

void OnTick ()
{
   if ( supportAndResistance.Ready() ) //--- Wird erst ausgeführt wenn alle Daten bereit sind
   {
      //--- Zeichnet alle ermittelten Unterstützungen, Widerstände und Pivot Punkte auf den Chart.
      supportAndResistance.Paint();
   }
}


Funktionen der Klasse

Rückgabewert

Funktionsaufruf

Funktion

Deinit()

Vordestruktur der Klasse. Zum schonenden entfernen der Klassendaten.

void

Init()

Initialisierung der Klassenvorgabedaten. Stellen Sie ein, mit welchen Vorgaben die Klasse arbeiten soll.

void

InitPivots()

Optionale Initialisierung der Pivot-Punkte.

void

GetAll()

Schreibt alle Informationen zu Unterstüztungen und Widerständen in ein GStructSupportAndResistanceDetails Objekt-Array.

void

GetAllPrices()

Schreibt alle Preise von Unterstüztungen und Widerständen in ein double Array.

void

GetPivots()

Fügt die Preise der Pivot Punkten zu einem double Array hinzu.

void

Paint()

Zeichnet Unterstützungen, Widerstände und Pivot Punkte auf den Chart.

void

ClearPaint()

Entfernt alle Zeichnungen durch die Klasse von dem Chart.

void

SetFontSize()

Ändert die Textgröße der durch die Klasse erzeugten Charteinzeichnungen.

void

SetMarkersLengthRight()

Ändert den Multiplikator zum Festlegen der maximalen Länge der eingezeichneten Linien nach rechts.

bool

Ready()

Überprüft ob die Klasse bereit zur Verwendung ist.

void

ChartEvent()

Setzt die Chartevents zum Abbau der Klasse und zum erhöhen der Übersichtlichkeit im Chart.


Strukturen der Klasse

struct  GStructSupportAndResistanceDetails
{

   ENUM_TIMEFRAMES  timeFrame;  // Zeitrahmen des Kursniveau
   int              touches;    // Anzahl der Berührungen
   double           price;      // Preis des Kursniveau

   datetime         begin;       // Zeitpunkt der ersten Berührung
   datetime         end;         // Zeitpunkt der letzten Berührung
   int              beginShift;  // Shift der ersten Berührung in Bars
   int              endShift;    // Shift der letzten Berührung in Bars

   double           singleTouchPrices[];     // Preise der einzelnen Berührungen um das Kursniveau
   int              singleTouchShiftBars[];  // Shift der einzelnen Berührungen in Bars
   int              singleTouchShiftZigZagAbsolute[];  // Shift der einzelnen Berührungen in ZigZags
   };


Enumerationen der Klasse

ENUM_SUPPORTANDRESISTANCE

Identifikator

Beschreibung

SAR_ALL

Alle Unterstützungs-, Widerstandslinien und Pivot Punkte. Bitte beachten Sie auch .GetPivots()

SAR_SUPPORT

Alle Unterstützungslinien.

SAR_RESISTANCE

Alle Widerstandslinien.

SAR_PIVOT

Alle Pivot Punkte.


ENUM_PIVOTS

Identifikator

Beschreibung

PIVOT

Pivot Punkt

PIVOT_S1

Pivot Unterstützung 1

PIVOT_S2

Pivot Unterstützung 2

PIVOT_S3

Pivot Unterstützung 3

PIVOT_R1

Pivot Widerstand 1

PIVOT_R2

Pivot Widerstand 2

PIVOT_R3

Pivot Widerstand 3