MetaTrader 5 herunterladen

ObjectCreate

Erzeugt ein Objekt mit dem angegebenen Namen, Typ und ursprünglichen Koordinaten im angegebenen Subfenster des Charts. Bei der Erzeugung kann man bis zu 30 Koordinaten angeben.

bool  ObjectCreate(
   long         chart_id,      // Identifikator des Charts
   string       name,          // Objektname
   ENUM_OBJECT  type,          // Objekttyp
   int          sub_window,    // Index des Fensters
   datetime     time1,         // Zeit des ersten Ankerpunktes 
   double       price1,        // Preis des ersten Ankerpunktes 
   ...
   datetime     timeN=0,       // Zeit des N-Ankerpunktes
   double       priceN=0,      // Preis des N-Ankerpunktes
   ...
   datetime     time30=0,      // Zeit des 30. Ankerpunktes
   double       price30=0      // Preis des 30. Ankerpunktes
   );

Parameter

chart_id

[in]  Identifikator des Charts. 0 bedeutet den laufenden Chart.

name

[in]  Objektname. Name muss unikal im Rahmen eines Charts und seiner Subfenster sein.

type

[in]  Objekttyp. Wert kann der einer der Enumerationswerte ENUM_OBJECT sein.

sub_window

[in]  Nummer des Subfensters des Charts. Das angegebene Subfenster muss existieren, anderenfalls gibt die Funktion false zurück. .

time1

[in]  Zeitkoordinate des ersten Ankerpunktes.

price1

[in]  Preiskoordinate des ersten Ankerpunktes.

timeN=0

[in]  Zeitkoordinate des N-Ankerpunktes.

priceN=0

[in]  Preiskoordinate des N-Ankerpunktes.

time30=0

[in]  Zeikoordinate des 30. Ankerpunktes.

price30=0

[in]  Preiskoordinate des 30. Ankerpunktes.

Rückgabewert

Gibt true zurück, wenn ein Befehl zur Warteschlange des angegebenen Charts erfolgreich hinzugefügt wurde, andernfalls false. Wenn das Objekt bereits früher erstellt wurde, wird versucht, seine Koordinaten zu ändern.

Hinweis

Beim Aufruf von ObjectCreate() wird immer ein asynchroner Aufruf verwendet, deswegen gibt die Funktion nur das Ergebnis des Hinzufügens eines Befehls zur Warteschlange des Charts zurück. In diesem Fall bedeutet true nur, dass der Befehl zur Warteschlange erfolgreich hinzugefügt wurde, das Ergebnis der Ausführung ist unbekannt.

Für die Überprüfung des Ergebnisses der Ausführung kann man die Funktion ObjectFind() oder andere Funktionen verwenden, die die Eigenschaften des Objektes abrufen, z.B. vom Typ ObjectGetXXX. Dabei muss man beachten, dass solche Funktionen am Ende der Warteschlange hinzugefügt werden und auf das Ergebnis der Ausführung warten (weil sie synchrone Aufrufe sind). D.h. sie können viel Zeit in Anspruch nehmen.  Dies muss man beachten, wenn man mit vielen Objekten im Chart arbeitet.

Der Name des grafischen Objekts darf nicht länger als 63 Symbole sein.

Die Nummerierung der Subfenster des Chart (wenn es auf dem Chart Subfenster mit Indikatoren gibt) fängt mit 1 an. Hauptfenster eines Charts gibt es immer und hat Index 0.

Die große Anzahl von Ankerpunkten (bis zu 30) ist für die weitere Verwendung vorgesehen. Die Einschränkung auf 30 Ankerpunkte ist damit verbunden, dass die Anzahl der Parameter beim Funktionsaufruf nicht mehr als 64 betragen darf.

Bei der Umbenennung des graphischen Objekts werden gleichzeitig zwei Ereignisse formiert, die im Experten oder im Indikator durch die Funktion OnChartEvent() verarbeitet werden können:

  • Entfernung eines Objektes mit dem alten Namen;
  • Erzeugung eines graphischen Objektes mit dem neuen Namen.

Für die Erzeugung jedes der Objekttypen ist es erforderlich, eine bestimmte Anzahl der Bezugspunkte anzugeben:

Identifikator

Beschreibung

Bezugspunkte

OBJ_VLINE

Senkrechte Linie

Ein Ankerpunkt. Tatsächlich wird nur die Koordinate der Zeitachse entlang verwendet.

OBJ_HLINE

Horizontale Linie

Ein Ankerpunkt. Tatsächlich wird nur die Koordinate der Preisachse entlang verwendet.

OBJ_TREND

Trendlinie

Zwei Ankerpunkte.

OBJ_TRENDBYANGLE

Trendlinie nach Winkel

Zwei Ankerpunkte.

OBJ_CYCLES

Zykluslinien

Zwei Ankerpunkte.

OBJ_ARROWED_LINE

Objekt "Linie mit einem Pfeil"

Zwei Ankerpunkte.

OBJ_CHANNEL

Abstandsgleicher Kanal

Drei Ankerpunkte.

OBJ_STDDEVCHANNEL

Kanal der Standardabweichung

Zwei Ankerpunkte.

OBJ_REGRESSION

Kanal der linearen Regression

Zwei Ankerpunkte.

OBJ_PITCHFORK

Andrews’ Pitchfork

Drei Ankerpunkte.

OBJ_GANNLINE

Gannlinie

Zwei Ankerpunkte.

OBJ_GANNFAN

Gannfan

Zwei Ankerpunkte.

OBJ_GANNGRID

Ganngrid

Zwei Ankerpunkte.

OBJ_FIBO

Fibonacci Retracement

Zwei Ankerpunkte.

OBJ_FIBOTIMES

Zeitzonen Fibonacci

Zwei Ankerpunkte.

OBJ_FIBOFAN

Fibonacci Fan

Zwei Ankerpunkte.

OBJ_FIBOARC

Fibonacci Arcs

Zwei Ankerpunkte.

OBJ_FIBOCHANNEL

Kanal Fibonacci

Drei Ankerpunkte.

OBJ_EXPANSION

Erweiterung Fibonacci

Drei Ankerpunkte.

OBJ_ELLIOTWAVE5

Elliott Motive Wave

Fünf Ankerpunkte.

OBJ_ELLIOTWAVE3

Elliott Correction Wave

Drei Ankerpunkte.

OBJ_RECTANGLE

Rechteck

Zwei Ankerpunkte.

OBJ_TRIANGLE

Dreieck

Drei Ankerpunkte.

OBJ_ELLIPSE

Ellipse

Drei Ankerpunkte.

OBJ_ARROW_THUMB_UP

Zeichen "Gut" (Daumen oben)

Ein Ankerpunkt.

OBJ_ARROW_THUMB_DOWN

Zeichen "Schlecht" (Daumen unten)

Ein Ankerpunkt.

OBJ_ARROW_UP

Zeichen "Weiche oben"

Ein Ankerpunkt.

OBJ_ARROW_DOWN

Zeichen "Weich unten"

Ein Ankerpunkt.

OBJ_ARROW_STOP

Zeichen "Stop"

Ein Ankerpunkt.

OBJ_ARROW_CHECK

Zeichen "Kontrollmarke"

Ein Ankerpunkt.

OBJ_ARROW_LEFT_PRICE

linke Preismarke

Ein Ankerpunkt.

OBJ_ARROW_RIGHT_PRICE

Rechte Preismarke

Ein Ankerpunkt.

OBJ_ARROW_BUY

Zeichen "Buy"

Ein Ankerpunkt.

OBJ_ARROW_SELL

Zeichen "Sell"

Ein Ankerpunkt.

OBJ_ARROW

Objekt "Weiche"

Ein Ankerpunkt.

OBJ_TEXT

Objekt "Text"

Ein Ankerpunkt.

OBJ_LABEL

Objekt "Textmarke"

Die Position wird durch Eigenschaften OBJPROP_XDISTANCE und OBJPROP_YDISTANCE angegeben.

OBJ_BUTTON

Objekt "Schaltfläche"

Die Position wird durch Eigenschaften OBJPROP_XDISTANCE und OBJPROP_YDISTANCE angegeben.

OBJ_CHART

Objekt "Chart"

Die Position wird durch Eigenschaften OBJPROP_XDISTANCE und OBJPROP_YDISTANCE angegeben.

OBJ_BITMAP

Objekt "Bild"

Ein Ankerpunkt.

OBJ_BITMAP_LABEL

Objekt "graphische Marke"

Die Position wird durch Eigenschaften OBJPROP_XDISTANCE und OBJPROP_YDISTANCE angegeben.

OBJ_EDIT

Objekt "Eingabefeld"

Die Position wird durch Eigenschaften OBJPROP_XDISTANCE und OBJPROP_YDISTANCE angegeben.

OBJ_EVENT

Objekt "Ereignis", das einem Ereignis in der wirtschaftlichen Kalender entspricht

Ein Ankerpunkt. Tatsächlich wird nur die Koordinate der Zeitachse entlang verwendet.

OBJ_RECTANGLE_LABEL

Objekt "Rechteckige Marke" um eigene grafische Benutzeroberfläche zu entwerten.

Die Position wird durch Eigenschaften OBJPROP_XDISTANCE und OBJPROP_YDISTANCE angegeben.