Arbeiten mit benutzerdefinierten Fenstern in cTrader Algo
In diesem Artikel und dem dazugehörigen Video werden wir über die Arbeit mit benutzerdefinierten Fenstern bei der Erstellung von cTrader-Algos sprechen. Wir werden erklären, was benutzerdefinierte Fenster sind und wie sie in Ihren cBots und Indikatoren verwendet werden können. Wir werden auch ein Beispiel für die Verwendung eines benutzerdefinierten Fensters in einem cBot erstellen.
Beispiel für ein benutzerdefiniertes Fenster
Wir wechseln nun zur Algo-App, um eine Veranschaulichung zu sehen, wie benutzerdefinierte Fenster in Ihren cBots und Indikatoren verwendet werden können. Wir werden einen neuen Indikator erstellen; darin werden wir einfach ein fertiges Beispiel aus der Dokumentation verwenden.
Kopieren Sie den Code aus der Dokumentation und fügen Sie ihn in das Code-Editor-Fenster ein. Erstellen Sie dann den Indikator und fügen Sie eine Instanz davon zu einem Chart hinzu.
Sobald der Indikator hinzugefügt wurde, sollten wir ein benutzerdefiniertes Fenster sehen, das aufpoppt. Dieses Fenster enthält ein komplexes Formular, das Informationen über das Symbol anzeigt, an dessen Chart der Indikator derzeit angehängt ist. Dieses Formular ist ein großartiges Beispiel dafür, was mit benutzerdefinierten Fenstern erreicht werden kann.
Benutzerdefinierte Fenster vs. WPF und WinForms
Es gibt einige Gründe, warum die Verwendung benutzerdefinierter Fenster besser ist als die Verwendung von WPF oder WinForms. Benutzerdefinierte cTrader-Fenster verfügen bereits über einen nativen Stil, der zum Look and Feel von cTrader passt. WinForms- und WPF-Fenster erfordern eine spezielle Handhabung und fortgeschrittene Programmierkenntnisse, da sie in verschiedenen Threads ausgeführt werden. Solche Probleme werden bei der Verwendung der benutzerdefinierten cTrader-Fenster vollständig vermieden.
Ein benutzerdefiniertes Fenster erstellen
Wir werden nun demonstrieren, wie Sie ein benutzerdefiniertes Fenster von Grund auf erstellen können. Wir werden einen neuen Indikator erstellen und ihn „Custom Window Example" nennen. In diesem Beispiel werden wir ein benutzerdefiniertes Fenster hinzufügen und dann einige benutzerdefinierte Steuerelemente hinzufügen. Das Fenster selbst wird in der Initialize()-Methode deklariert; um das Fenster anzuzeigen, rufen wir die window.Show()-Methode auf.
1 2 3 4 5 6 7 8 9 10 11 | |
Um das Fenster zu sehen, können wir den Indikator erstellen und ihn zu einem Chart hinzufügen.
Steuerelemente zu einem Fenster hinzufügen
Wir werden nun benutzerdefinierte Steuerelemente zum Fenster hinzufügen. Diese Steuerelemente haben die Form eines Textfelds, das etwas Text enthält.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Wir werden den Indikator neu erstellen und eine neue Instanz hinzufügen, um zu sehen, wie unsere benutzerdefinierten Steuerelemente aussehen.
Die Fenstereigenschaften ändern
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Wir werden unseren Indikator erneut neu erstellen und eine Instanz hinzufügen. Jetzt ist unser Fensterbereich ein Rechteck mit einer Breite und Höhe von 800 Pixeln.
Die nächste Änderung besteht darin, einen Bereich hinzuzufügen, in dem die Größe des Fensters geändert werden kann. Dazu fügen wir die Parameter MinHeight, MaxHeight, MinWidth und MaxWidth hinzu.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Wir werden den Indikator neu erstellen und können, nachdem eine Instanz hinzugefügt wurde, versuchen, seine Größe zu ändern. Die Größenänderung ist nur innerhalb des angegebenen Breiten- und Höhenbereichs möglich.
Wir können auch die Hintergrundfarbe eines Fensters ändern und es nicht in der Größe veränderbar machen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Nachdem wir die üblichen Aktionen durchgeführt haben (den Indikator neu erstellen und eine Instanz hinzufügen), sollte das Fenster eine neue Hintergrundfarbe haben.
Zusammenfassung
Benutzerdefinierte cTrader-Fenster sind flexibel und können in hohem Maße angepasst werden. Zusätzlich zu den oben genannten Eigenschaften können Sie auch Ränder und Abstände, die Sichtbarkeit benutzerdefinierter Fenster und ob sie unter bestimmten Bedingungen aktiv sind, ändern. Benutzerdefinierte cTrader-Fenster stellen auch Methoden bereit, um sie anzuzeigen, auszublenden und zu schließen, zusätzlich zu mehreren anderen Event-Handlern.