Diskussion zum Artikel "Grafiken in der Bibliothek DoEasy (Teil 89): Programmieren von grafischen Standardobjekten, grundlegende Funktionsweise"

 

Neuer Artikel Grafiken in der Bibliothek DoEasy (Teil 89): Programmieren von grafischen Standardobjekten, grundlegende Funktionsweise :

Derzeit ist die Bibliothek in der Lage, Standard-Grafikobjekte auf dem Client-Terminal-Chart zu kontrollieren, einschließlich ihrer Entfernung und Änderung einiger ihrer Parameter. Derzeit fehlt die Möglichkeit, grafische Standardobjekte aus nutzerdefinierten Programmen zu erstellen.

Kompilieren Sie den EA und starten Sie ihn auf dem Chart.

Zunächst wird eine vertikale Linie erstellt, durch einen klick auf einen Chart bei gedrückter Strg-Taste. Sehen Sie sich die Linien-ID an und beobachten Sie, wie sich die Objekteigenschaften beim Verschieben der Linie entlang des Charts ändern. Wenn wir die gleiche Linie erneut erstellen, erhalten wir die Fehlermeldung im Journal.
Als Nächstes erstellen wir einen äquidistanten Kanal, und wir sehen seinen ID-Wert an und können prüfen, wie die Änderungen der Eigenschaften seiner drei Pivotpunkte kontrolliert werden:



Autor: Artyom Trishkin

 
1. Compiler gibt eine Warnung über die Verwendung von veraltetem Verhalten in
aus.

GraphElementsCollection.mqh Zeile 2290 Spalte 10.

Das ist schon lange ein Problem, warum beheben Sie es nicht?

2. hat dieses Projekt eine Protokollierung?
Wenn ja, wo ist sie beschrieben?

 
andrik377 Projekt eine Protokollierung?
Wenn ja, wo ist sie beschrieben?
  1. Der Druck, der diese Warnung verursacht, ist vorübergehend. Deshalb wird er als Print geschrieben. Diejenigen, die in der Bibliothek benötigt werden, werden als ::Print geschrieben. Dieser wird bald entfernt werden. PS: Für mich ist das eine Möglichkeit zu wissen, wo sich die temporären Stopper befinden - so muss ich nicht lange nach ihnen suchen.
  2. Was meinen Sie mit "protokollieren"?
 

1. Ich bin ein Anfänger hier. Was ist ::Print? Wo kann man darüber lesen?

2. "Logging" ist Journaling, d.h. das Erzeugen von Informationen über Ereignisse und das Senden dieser Informationen irgendwohin (in das Log des Expert Advisors, in eine Datei ...). Das ist eine notwendige Sache für komplexe Software. Ich habe einige Rudimente davon in den Texten der Basisobjekte gesehen.

 
andrik377 :Print? Wo kann man darüber lesen?

2. "Logging" ist Journaling, d.h. das Erzeugen von Informationen über Ereignisse und das Senden dieser Informationen irgendwohin (in das Log des Expert Advisors, in eine Datei ...). Das ist eine notwendige Sache für komplexe Software. Ich habe einige Rudimente davon in den Texten der Basisobjekte gesehen.

Dokumentation -> Drucken

 
andrik377 :Print? Wo kann man darüber lesen?

2. "Logging" ist Journaling, d.h. das Erzeugen von Informationen über Ereignisse und das Senden dieser Informationen irgendwohin (in das Log des Expert Advisors, in eine Datei ...). Das ist eine notwendige Sache für komplexe Software. Ich habe einige Rudimente davon in den Texten der Basisobjekte gesehen.

Es gibt eine Klasse CMessage für diesen Zweck.

:: vor dem Funktionsnamen ist eine Operation der Kontextauflösung.

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIX): Класс сообщений библиотеки
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIX): Класс сообщений библиотеки
  • www.mql5.com
В статье рассмотрим класс вывода текстовых сообщений. Сейчас у нас имеется достаточное количество различных текстовых сообщений, и уже стоит подумать о реорганизации способа их хранения, вывода и удобства правки русских сообщений на иной язык, а так же об удобном способе добавления новых языков в библиотеку и быстром переключении между ними.
 
Die globale Methode ::Print ist noch nicht verfügbar?
 
andrik377 Print ist noch nicht verfügbar?
Warum brauchen Sie sie?
Es gibt eine Funktion. Wenn Sie sie brauchen, benutzen Sie sie.
 
Doch wie kann man es außer Kraft setzen, d.h. ::Print nicht als Print, sondern als Override aufrufen?
Bitte, ein Beispiel.