und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
- Ansichten:
- 1577
- Rating:
- Veröffentlicht:
- 2016.07.28 12:40
- Aktualisiert:
- 2016.11.22 07:34
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Die angehängte *.mqh Datei enthält Funktionen für das Erstellen von Objekten und das Ändern von Eigenschaften von Objekten. Es ist besonders nützlich für mich, wenn ich schnell einen Test-Code zu schreiben habe, der Objekte in einem Diagramm erstellt oder die Eigenschaften vorhandener Objekte ändert.
Die andere Datei ist ein Skript mit einem Verwendungsbeispiel (erstellt eine Beschriftung, dreht sie allmählich um 90 Grad und ändert den Text und seine Farbe auf dem Weg).
I. Funktionen zum Erstellen von Objekten:
Die Funktionen basieren auf den Standardfunktionen, wie sie in der MQL5 Referenz beschrieben sind. Größere Unterschiede zu den korrespondierenden Standardfunktionen:
- Zeilen hinzugefügt für das Einstellen von Tooltips und Einstellen der Sichtbarkeit von Objekten auf verschiedenen TimeFrames;
- Zeilen entfernt für Erstellungsfunktionen ohne Koordinaten, Preise, Ankerpunkte (ausgenommen VLineCreate(...) und EventCreate(...)) zu setzen;
- basierend auf Funktionen für das Einstellen (Ändern) von Objekteigenschaften, die in dieser Bibliothek implementiert sind, wurden zusätzliche Bedingungen hinzugefügt um den Erfolg beim Einstellen der Eigenschaften zu überprüfen.
Liste von Funktionen für das Erstellen von Objekten:
Name |
Kurze Beschreibung |
Objektyp |
---|---|---|
VLineCreate |
Erstelle eine vertikale Linie |
|
HLineCreate |
Erstelle eine horizontale Linie |
|
TrendCreate |
Erzeugt eine Trendlinie mit den gegebenen Koordinaten |
|
ArrowedLineCreate |
Erstellt einen Pfeil mit den gegebenen Koordinaten |
|
ChannelCreate |
Erzeugt einen äquidistanten Kanal mit den angegebenen Koordinaten |
|
RectangleCreate |
Erzeugt ein Rechteck mit den angegebenen Koordinaten |
|
TriangleCreate |
Erzeugt ein Dreieck mit den angegebenen Koordinaten |
|
EllipseCreate |
Erzeugt eine Ellipse mit den angegebenen Koordinaten |
|
ArrowCreate |
Create OBJ_ARROW |
OBJ_ARROW |
TextCreate | Erzeugt ein Textobjekt |
OBJ_TEXT |
LabelCreate |
Erzeugt einen Textlabel |
|
ButtonCreate |
Erzeugt einen Button |
|
BitmapCreate |
Erzeugt eine Bitmap im Chartfenster |
|
BitmapLabelCreate |
Erzeugt ein Label Objekt |
|
EditCreate |
Erzeugt ein Edit-Objekt |
|
EventCreate |
Erzeugt ein Event-Objekt am Chart |
|
RectLabelCreate |
Erzeugt einen rechteckigen Label |
II. Funktionen für das Einstellen von Objekteigenschaften:
Using ObjectSetDouble(...), ObjectSetInteger(...) and ObjectSetString(...) without specifying a modifier:
Verwendung von ObjectSetDouble(...), ObjectSetInteger(...) und ObjectSetString(...) ohne einen Modifikator anzugeben:
Name |
Enumeration | Eigenschaft | Kurze Beschreibung | Eigenschaftstyp | |
---|---|---|---|---|---|
1. | ObSetDoubleMod | ENUM_OBJECT_PROPERTY_DOUBLE | OBJPROP_PRICE | Preiskoordinate - double, Modifikator=Anker Punkt Nummer | double |
OBJPROP_LEVELVALUE | Levelwert - double, Modifikator=Levelnummer |
double | |||
2. |
ObSetIntegerLevelColorMod | ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_LEVELCOLOR | Farbe der Levellinie - color, Modifikator=Levelnummer |
color |
3. |
ObSetIntegerLevelStyleMod |
ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_LEVELSTYLE |
Stil der Levellinie ENUM_LINE_STYLE, Modifikator=Levelnummer |
ENUM_LINE_STYLE |
4. |
ObSetIntegerLevelWidthMod |
ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_LEVELWIDTH |
Breite der Levellinie - int, Modifikator=Levelnummer |
int |
5. | ObSetIntegerTimeMod | ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_TIME |
Zeitkoordinate - datetime, Modifikator=Anker Punkt Nummer |
datetime |
6. | ObSetStringMod | ENUM_OBJECT_PROPERTY_STRING | OBJPROP_LEVELTEXT | Levelbeschreibung - string, Modifikator=Level Nummer | string |
OBJPROP_BMPFILE |
BMP Dateiname für das Bitmap Level Objekt - string. Siehe auch Ressourcen in der Referenz. Modifikator: 0-ON Zustand, 1-OFF Zustand | string |
Zusätzliche Funktionen:
bool ObDelete (long chart_ID,string name) |
Lösche ein einzelnes Objekt mit angegebenen Namen |
III. Verwendung:
Sie können sie als Include-Datei verwenden oder einfach bestimmte Funktionen daraus in ihren Quellcode kopieren.
Wenn Sie den zweiten Weg wählen, denke ich, dass es besser ist, sie zuerst als Include-Datei zu verwenden. Wenn Sie dann alle notwendigen Funktionsaufrufe implementiert haben, können Sie die Include-Direktive (#include...) entfernen.
Dann sagt Ihnen der Compiler, welche Funktionen Sie von der Include-Datei kopieren müssen.
Verwendung als Include-Datei:
- Speichern Sie die angehängte Datei ObjectCreateAndSet.mqh in den "Include" Ordner. Um das zu erreichen, können Sie das Navigator Fenster von MetaEditor verwenden. Im Navigator Festner klicken Sie mit der rechten Maustaste den "Include" Ordner an und wählen "Öffne Ordner".
- Um die Bibliothek in Ihrem Code zu verwenden, kopieren Sie die #include... Zeile vom Anfang der Datei und fügen Sie in Ihren Quellcode ein:
#include <ObjectCreateAndSet.mqh>
Das angehängte Skript liefert ein Beispiel für das Includen der Bibliothek. - Danach compilieren Sie Ihren Code. Es wird Ihnen ermöglicht, die Tooltips für die eingebundenen Funktionen zu sehen, wenn Sie den Anfang ihrer Namen eingeben:
Abb.1. Der vollständige Name einer Funktion in einem Tooltip nachdem die ersten paar Buchstaben eingegeben wurden
Abb.2. Parameter einer Funktion in einem Tooltip
Sie können übrigens den Funktionsliste Button der MetaEditor Toolbar verwenden, um eine schnelle Anzeige der Liste von Funktionen, die in Ihrer aktuellen Datei verwendet wurde, zu erhalten:
Abb.3. Button zur Anzeige der Liste der in einer Datei verwendeten Funktionen
Wenn Sie den Button drücken, erscheint eine Drop-Down-Liste. Um zu einer bestimmten Funktion zu gehen, klicken Sie ihren Namen in der Liste an.
Abb.4. Klicken des Buttons öffnet eine Liste der Funktionen in einer Datei (praktisch, um sich schnell zu einer Funktion zu bewegen)
Aktualisierungen:
- 2015.09.14: In der ObDelete() Funktion, wird der Objektname im Experts-Tab ausgegeben, wenn ein Fehler beim Löschen des Objektes aufgetreten ist. Das erleichtert die Suche nach Fehlern im Code.
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/13374

Der ColorLinearRegSlope_V2 Indikator mit der Option TimeFrames in den Eingabeparametern auszuwählen.

Der ColorLeManTrend Indikator mit der Option TimeFrames in den Eingabeparametern auszuwählen.

Der ColorMomentum_AMA Indikator mit der Option TimeFrames in den Eingabeparametern auszuwählen.

Der ColorMaRsi-Trigger Indikator mit der Option TimeFrames in den Eingabeparametern auszuwählen.