Diskussion zum Artikel "Erstellen Ihrer eigenen grafischen Panels in MQL5" - Seite 4

 

Der Indikator hat diese Eigenschaft:

#property indicator_separate_window

Diese Eigenschaft wird benötigt, damit der Indikator am unteren Rand steht. Nun, ja, das ist irgendwie klar.

Ich brauche eine "Dialogleiste" im Hauptfenster als auch....

Und das war's. Aufgrund dieser Eigenschaft, egal was Sie tun, egal welche Eigenschaften Sie definieren, wird Ihre Dialogleiste in einem Unterfenster des Indikators sein. Und sie wird niemals im Hauptfenster sein.

Ich habe drei Tage lang versucht, die Standardbibliothek zu verstehen. Ich verstehe immer noch nicht, wie es möglich war, eine solche Lücke zu schaffen?

Wenn ich falsch liege, sagen Sie mir, wo ich es falsch mache. Schreiben Sie um Himmels willen nicht, dass Sie 0 für Fenster- und Unterfenstereigenschaften angeben müssen.

In der Zwischenzeit werde ich mein eigenes Panel erstellen, das so funktionieren wird, wie es sollte.

 
Evgeniy Scherbina Standardbibliothek zu verstehen. Ich verstehe immer noch nicht, wie es möglich war, eine solche Lücke zu schaffen?

Wenn ich falsch liege, sagen Sie mir, wo ich es falsch mache. Schreiben Sie um Himmels willen nicht, dass Sie 0 für Fenster- und Unterfenstereigenschaften angeben müssen.

In der Zwischenzeit werde ich mein eigenes Panel erstellen, das so funktionieren wird, wie es sollte.

den Code durchforsten, die Option m_subwin hinzufügen, die die Nummer des Unterfensters definiert, die "create/delete"-Ereignisse des Unterfensters abfangen, um diesen Fall im gesamten Dialog zu korrigieren, wenn er nicht 0 ist, dieses m_subwin verwenden, wo ObjectCreate(...) verwendet wird

dann können Panels und Elemente in jedem Fenster und Unterfenster erstellt werden

 
Maxim Kuznetsov #:

Durchsuchen Sie den Code, fügen Sie die Option m_subwin hinzu, die die Nummer des Unterfensters definiert, fangen Sie die Ereignisse "Erstellung/Löschung" des Unterfensters ab, um diesen Fall im gesamten Dialog zu korrigieren, wenn er nicht 0 ist, verwenden Sie dieses m_subwin, wenn ObjectCreate(...) verwendet wird.

dann können Panels und Elemente in jedem Fenster und Subfenster erstellt werden

Ja, ja, das ist alles zum Hinzufügen, Befestigen, Umwickeln mit Aluminiumdraht und Klebeband. Wir brauchen eine einfache und korrekte Lösung für diese ganze Bibliothek. Wenn es keine solche Lösung gibt, dann muss die Bibliothek neu gestaltet werden. Ich werde meine Dialogbox wahrscheinlich selbst machen.
 
Evgeniy Scherbina #:
Ja, ja, fügen Sie all dieses Zeug hinzu, befestigen Sie es, umwickeln Sie es mit Aluminiumdraht und kleben Sie es zu. Wir brauchen eine einfache und korrekte Lösung für diese ganze Bibliothek. Wenn es keine solche Lösung gibt, dann muss die Bibliothek neu gestaltet werden. Ich werde wahrscheinlich mein eigenes Dialogfenster erstellen.

Dies ist eine Einschränkung der MetaTrader-Plattform - ein Indikator kann nur im Hauptfenster oder nur in einem Unterfenster angezeigt werden.

Mögliche Lösungen und ein Beispiel für eine Implementierung finden Sie im Buch.

Kurz gesagt - Sie erstellen 2 Indikatoren, und einer erstellt den anderen mit ChartIndicatorAdd. Sie können Daten über Ereignisse, Ressourcen, Puffer, etc. austauschen.

Учебник по MQL5: Создание прикладных программ / Использование готовых индикаторов из MQL-программ / Комбинирование вывода в главное окно и вспомогательное
Учебник по MQL5: Создание прикладных программ / Использование готовых индикаторов из MQL-программ / Комбинирование вывода в главное окно и вспомогательное
  • www.mql5.com
Создание прикладных программ - Программирование на MQL5 для трейдеров - Учебник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Stanislav Korotky #:

Dies ist eine Einschränkung der MetaTrader-Plattform - ein Indikator kann nur im Hauptfenster oder nur in einem Unterfenster angezeigt werden.

Mögliche Lösungen und ein Beispiel für eine Implementierung finden Sie in diesem Buch.

Kurz gesagt - Sie erstellen 2 Indikatoren, und einer erstellt den anderen mit ChartIndicatorAdd. Sie können Daten über Ereignisse, Ressourcen, Puffer, etc. austauschen.

Wenn das die Worte eines Spezialisten sind, dann ist das genau das, was ich hören wollte. Und es bedeutet, dass Sie Ihr eigenes Panel erstellen müssen.

Wenn das nur eine Vermutung ist... dann müssen Sie Ihr eigenes Panel erstellen.

Ich warte auf einen Hinweis, wie man das Panel einfach in das Hauptfenster kleben kann, wenn sich der Indikator im Unterfenster befindet.