Diskussion zum Artikel "Grafiken in der Bibliothek DoEasy (Teil 93): Vorbereiten der Funktionen zur Erstellung zusammengesetzter grafischer Objekte"

 

Neuer Artikel Grafiken in der Bibliothek DoEasy (Teil 93): Vorbereiten der Funktionen zur Erstellung zusammengesetzter grafischer Objekte :

In diesem Artikel beginne ich mit der Entwicklung der Funktionalität zur Erstellung von zusammengesetzten grafischen Objekten. Die Bibliothek wird die Erstellung von zusammengesetzten grafischen Objekten unterstützen, wobei diese Objekte eine beliebige Hierarchie von Verbindungen haben können. Ich werde alle notwendigen Klassen für die spätere Implementierung solcher Objekte vorbereiten.

Kompilieren Sie den EA, starten Sie ihn auf dem Chart und klicken Sie irgendwo in der Nähe des rechten Rands des Charts.

Das Ergebnis ist eine Trendlinie, die von Preisbeschriftungsobjekten entlang ihrer Ränder begleitet wird:


Das Journal zeigt die Eigenschaften einer Trendlinie und die Anzahl der Trendlinien-Pivotpunkte zur Berechnung der X- und Y-Koordinaten der beiden Preisschilder an. Da für jede Marke ein einziger Drehpunkt festgelegt wurde, wird dieser im Journal angezeigt.

2022.01.20 16:37:29.340 ============= The beginning of the parameter list (Trend Line) =============
2022.01.20 16:37:29.340 Object ID: 1
2022.01.20 16:37:29.340 Base object ID: 0
2022.01.20 16:37:29.340 Object type: Trend Line
2022.01.20 16:37:29.340 Graphic element type: Extended standard graphic object
2022.01.20 16:37:29.340 Object belongs to: The graphic object belongs to the program
2022.01.20 16:37:29.340 Object chart ID: 131733844391938630
2022.01.20 16:37:29.340 Chart subwindow number: 0
2022.01.20 16:37:29.340 Object number in the list: The base object of the extended graphical object
2022.01.20 16:37:29.340 Change history: No
2022.01.20 16:37:29.340 Object group: Not set
2022.01.20 16:37:29.340 Time of creation: 2022.01.20 16:37:29
2022.01.20 16:37:29.340 Visibility of an object at timeframes: Drawn on all timeframes
2022.01.20 16:37:29.340 Object in the background: No
2022.01.20 16:37:29.340 Priority of a graphical object for receiving events of clicking on a chart: 0
2022.01.20 16:37:29.340 Prohibit showing of the name of a graphical object in the terminal objects list: Yes
2022.01.20 16:37:29.340 Object is selected: Yes
2022.01.20 16:37:29.340 Object availability: Yes
2022.01.20 16:37:29.340 Time coordinate: 
2022.01.20 16:37:29.340  - Pivot point 0: 2022.01.13 09:00
2022.01.20 16:37:29.340  - Pivot point 1: 2022.01.20 10:00
2022.01.20 16:37:29.340 Color: clrRed
2022.01.20 16:37:29.340 Style: Solid line
2022.01.20 16:37:29.340 Line thickness: 1
2022.01.20 16:37:29.340 Ray goes to the left: No
2022.01.20 16:37:29.340 Ray goes to the right: No
2022.01.20 16:37:29.340 ------
2022.01.20 16:37:29.340 Price coordinate: 
2022.01.20 16:37:29.340  - Pivot point 0: 1.14728
2022.01.20 16:37:29.340  - Pivot point 1: 1.13598
2022.01.20 16:37:29.340 ------
2022.01.20 16:37:29.340 Name: "TestDoEasyPart93_TrendLineExt"
2022.01.20 16:37:29.340 Base object name: "TestDoEasyPart93_TrendLineExt"
2022.01.20 16:37:29.340 Description: Not set
2022.01.20 16:37:29.340 The text of a tooltip: Formed by the terminal
2022.01.20 16:37:29.340 ============= End of the parameter list (Trend Line) =============
2022.01.20 16:37:29.340 
2022.01.20 16:37:29.352 OnChartEvent: PriceLeft: Num linked coord X: 1, Num linked coord Y: 1
2022.01.20 16:37:29.364 OnChartEvent: PriceRight: Num linked coord X: 1, Num linked coord Y: 1

Derzeit konstruieren wir einfach separate grafische Objekte und legen die Eigenschaften fest, die anzeigen, dass die Objekte zum selben erweiterten grafischen Standardobjekt gehören. Wenn wir eine Trendlinie verschieben, folgen die Preisanzeigen ihr nicht. Aber das war ohnehin nicht mein aktuelles Ziel. Mein Ziel war es, die notwendigen Funktionen für die Erstellung vollwertiger erweiterter grafischer Objekte vorzubereiten.

Autor: Artyom Trishkin