Indikatoren: id_digits_object

 

id_digits_object:

Es zeigt die Anzahl der Dezimalstellen (die Anzahl der Stellen in dem Bruchteil), Zeit und markierenden Ankerpunkte der graphischen Objekte.

Autor: Dina Paches

 

Das MetaTrader5-Terminal wird standardmäßig mit 44 verschiedenen grafischen Objekten ausgeliefert, die in einem Chart installiert werden können: Menü oben => Einfügen => Objekte.

Davon haben 33 Typen Ankerpunkte: Zeit + Preis.

Für diese 33 Arten von grafischen Objekten kann der Indikator in der Registerkarte "Experten" anzeigen: Name des ausgewählten Objekts + seinen Typ + Zeit seiner Ankerpunkte + Kursmarken der Ankerpunkte + Anzahl der Dezimalstellen in den Kursankerpunkten.

In diesem Fall ist es unerheblich, ob sich das grafische Objekt im Hauptfenster des Charts oder in den Unterfenstern der Indikatoren befindet, wo die Anzahl der Dezimalstellen von denen im Hauptfenster abweichen kann.

Um Informationen über ein beliebiges Objekt im Chart vom Indikator aus zu erhalten, genügt es, mit der Maus auf dieses Objekt zu klicken.

Für die anderen 11 Arten von Objekten (die keine Preisankerpunkte haben): Wenn Sie auf sie klicken, zeigt der Indikator nur die Namen dieser Objekte und ihren Typ in der Registerkarte "Experten" des Journals an. Mit dem begleitenden Hinweis, dass er mit dieser Art von Objekten nicht funktioniert.

Das MetaTrader 5-Terminal und die MQL5-Programmiersprache haben eine sehr große Auswahl an verschiedenen Dingen für uns (Benutzer). Die Möglichkeiten des Terminals und der Sprache werden im Laufe der Zeit immer größer. Die Ergänzungen unterscheiden sich natürlich in ihrem "Ausmaß der Bedeutung" für jemanden oder überhaupt. Neben "hell" und "prominent" kommen natürlich auch "bescheiden", "klein", "unauffällig", aber dennoch nützlich hinzu.

Eine der "bescheidenen" Annehmlichkeiten, die dem Terminal kürzlich hinzugefügt wurden, aber nicht die einzige, war für mich zum Beispiel die Möglichkeit, die Spalten auf der Registerkarte "Experten" zu entfernen: Zeit und Quelle /* beide oder eine von ihnen, indem man das Menü dort mit der rechten Maustaste aufruft und die gewünschte Menüzeile auswählt: Spalten*/. Es scheint eine "Kleinigkeit" zu sein, aber ohne sie würde "etwas fehlen". So ist es z.B. bequemer geworden, die in der Registerkarte angezeigten Informationen zu visualisieren und/oder Informationsmeldungen daraus für irgendetwas zu kopieren und vieles mehr. Offiziell gibt es diese Funktion (als Teil verschiedener anderer) seit der 1485sten Version des Terminals. Zusammen mit ihrer Hinzufügung hat sich die Reihenfolge der Datenanzeige in der Registerkarte "Experten" geändert.

Und da der Indikator "id_digits_object" früher die Daten in der Registerkarte "Experten" unter Berücksichtigung der vorherigen Anzeigereihenfolge angezeigt hat, habe ich diesen Indikator unter Berücksichtigung der aktuellen Anzeigereihenfolge aktualisiert. Gleichzeitig habe ich weitere Aktualisierungen im Code vorgenommen. Unter anderem habe ich bequeme Features der Funktion ArrayResize() gelesen, geprüft und angewendet. Eine Kopie aus der offiziellen Version für das 1485. Build des Terminals über die Goodies, die dieser Funktion hinzugefügt wurden:

... Wenn der Wert -1 als reserve_size Parameter übergeben wird, gibt die Funktion unbenutzten (reservierten) Speicher frei, wenn die Arraygröße nicht erhöht wird. Das Ändern der Array-Größe auf 0 mit reserve_size=-1 ist gleichbedeutend mit dem Aufruf von ArrayFree. Das neue Verhalten ermöglicht es Ihnen, die Speichernutzung in MQL5-Programmen zu optimieren.

Und obwohl Sie im aktualisierten Code des Indikators auch die Verwendung von ArrayFree() finden, liegt das daran, dass ich es an diesen Stellen bequemer fand, ArrayFree zu wählen und zu schreiben, als Parameter zu benennen und an meine Funktion zu übergeben, die ArrayResize im Indikator enthält. Dort in meinem langatmigen mit ArrayResize ist eine Kombination von Anwendung: ArrayResize + ArraySetAsSeris. /*<= Ich möchte Ihnen gleich sagen, dass ArraySetAsSeris nur funktioniert, wenn die zu setzende Größe größer als 1 ist. Es würde also nach ArrayResize nicht aktiviert werden, wenn die zu setzende Größe = 0 oder 1 ist.

Weitere Änderungen können Sie auf der Seite des Indikators am Ende der Hauptbeschreibung nachlesen. Die aktualisierte Version (1.11) ist bereits zum Download verfügbar.

 

Ein weiteres Update steht zum Download bereit.

Was ist neu?

Ich habe den Code der Funktion zur Bestimmung der Anzahl der Nachkommastellen im Indikator aktualisiert (das grundlegende Funktionsprinzip ist dasselbe geblieben, aber ich habe den Code etwas kompakter gestaltet).

Gleichzeitig habe ich den Code des Indikators als Ganzes aktualisiert.

 

Die Zeit vergeht, viele Dinge ändern sich.

Ich möchte meinen Beitrag vom 12.12.2016 um die folgenden Klarstellungen ergänzen :

1. Oben habe ich einen Link zum offiziellen Release für den 1485er Build des Terminals angegeben. Dieser Link führt zu dem Forumsthema, das jetzt inaktiv ist.

Sie können sehen, was neu ist in MetaTrader 5 hier: https://www.metatrader5.com/ru/releasenotes. Dort finden Sie Beschreibungen der Neuerungen im neuen Build und die bisherige Geschichte der Updates für Desktop-, Mobil- und Web-Plattformen. Das ist wirklich bequemer als die Suche nach einem Thema im Forum.

Vor etwa drei Monaten habe ich eine bequeme Möglichkeit gefunden, diese Seite direkt vom Terminal aus aufzurufen. Nur für den Fall, dass Sie es noch nicht wissen, hier ist der Weg: Oberes Menü des Terminals - Hilfe - Was gibt's Neues



2 Auf der oben genannten Seite habe ich herausgefunden, dass die Objekttypen in MetaTrader 5 nicht 44 sind, wie ich oben schrieb, sondern 46: https: //www.metatrader5.com/ru/terminal/help/charts_analysis/objects.

Aber ich muss den Code des Indikators, den ich hier bespreche, deswegen nicht ersetzen.