und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
Die MasterWindows Bibliothek - Bibliothek für den MetaTrader 5
- Ansichten:
- 985
- Rating:
- Veröffentlicht:
- 2016.12.16 16:00
- Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Der Artikel "MQL5 für "Dummies": Wie man Objektklassen designt und erstellt" beschreibt, wie man benutzerfreundliche Interfaces für Programme erstellt. Die Implementierung von interaktiven Fenstern basiert auf der Verwendung der MasterWindows-Klassenbibliothek.
Abb. 1. Beispiel für die Verwendung der MasterWindows Bibliothek
Die MasterWindows Bibliothek besteht aus drei Basisklassen:
- Die CCell Basisklasse:
//+------------------------------------------------------------------+ //| The base CELL class CCell | //+------------------------------------------------------------------+ class CCell { private: protected: bool on_event; // Flat für Event-Handling ENUM_OBJECT type; // Zelltyp public: WinCell Property; // Zelleigenchaften string name; // Zellenname //+---------------------------------------------------------------+ // Klassen Konstruktor void CCell(); virtual // Methode: zeichne ein Objekt void Draw(string m_name, int m_xdelta, int m_ydelta, int m_bsize); virtual // Die OnChartEvent event handling Methode void OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam); };
- Die CRow Basisklasse, besteht aus Zellen der CCell Klasse:
//+------------------------------------------------------------------+ //| Die ROW Basisklasse CRow | //+------------------------------------------------------------------+ class CRow { protected: bool on_event; // Flat für Event-Handling public: string name; // Zeilenname WinCell Property; // Zeileneigenschaften //+---------------------------------------------------------------+ // Klassen Konstruktor void CRow(); virtual // Methode: zeichne eine Zeile void Draw(string m_name, int m_xdelta, int m_ydelta, int m_bsize); virtual // Die OnChartEvent event handling Methode void OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam); };
- Die CWin Basisklasse, bestehet aus CRow Klassen:
//+------------------------------------------------------------------+ //| Die Basisfensterklasse CWin | //+------------------------------------------------------------------+ class CWin { private: void SetXY(int m_corner);// Methode zur Berechnung von Koordinaten protected: bool on_event; // Flag für Event-Handling public: string name; // Fenstername int w_corner; // Ankerecke int w_xdelta; // Vertikale Einrückung int w_ydelta; // Horizontale Einrückung int w_xpos; // Die X-Koordinate des Ankerpunktes int w_ypos; // Die Y-Koordinate des Ankerpunktes int w_bsize; // Die Breite des Fensters int w_hsize; // Die Höhe des Fensters int w_h_corner; // Die Ankerecke des HIDE-Modus WinCell Property; // Fenstereigenschaften //--- CRowType1 STR1; // Declaring the class row CRowType2 STR2; // Declaring the class row CRowType3 STR3; // Declaring the class row CRowType4 STR4; // Declaring the class row CRowType5 STR5; // Declaring the class row CRowType6 STR6; // Declaring the class row //+---------------------------------------------------------------+ // Klassen Konstruktor void CWin(); // Methode zum Beziehen von Daten void SetWin(string m_name, int m_xdelta, int m_ydelta, int m_bsize, int m_corner); virtual // Methode: zeichne ein Fenster void Draw(int &MMint[][3], string &MMstr[][3], int count); virtual // Die OnEventTick Event Verarbeitungs-Methode void OnEventTick(); virtual // Die OnChartEvent event handling Methode void OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam); };
und 1o abgeleitete Klassen.
Die Anlage enthält Vorlagen und Code-Beispiele, in denen die MasterWindows-Bibliothek verwendet wird. Alle Codes wurden mit dem visuellen Fenster Konstruktor MasterWindows für MQL5generiert. Testprogramme sind Modelle, d.h. sie enthalten keine Funktionalität (mit Ausnahme von zwei Funktionen: Schließen und Ausblenden des Fensters).
Sie können eine beliebige Anzahl und Kombination von Zeilen in einem Fenster verwenden. Die Abbildung zeigt die Basisversionen der Zeilen und die Fenster-Header:
Abb. 2. Grundlegende Optionen und Möglichkeiten der Bibliothek
Wir haben zum Beispiel für den "Testen von Moving Durchschnitte Leistungsberechnung in MQL5"-Artikel die folgende Schnittstelle mit Hilfe der vorgestellten Bibliothek erstellt.
Abb.3. Beispiel für die Verwendung der MasterWindows Bibliothek
Empfehlungen:
- Verwenden Sie für eine bessere Anzeige der erstellten Interface-Fenster grafische Systeme mit schwarzen Hintergrund.
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/15059
Preisbeschriftung, die zur rechten Seite des Preises hinzugefügt wird - mit anpassbaren Parametern.
XMA_BBx7_Cloud_DigitDrei Bollinger Bänder Kanäle basierend auf einem gleitenden Durchschnitt, gezeichnet als farbige Wolke mit Anzeige der letzten Wert als Preislabels und der Möglichkeit die Bollinger-Levels auf eine gewünschte Anzahl von Stellen zu runden.
Der XMA_BBx7_Cloud_Digit Indikator mit der Option TimeFrames in den Eingabeparametern auszuwählen.
XMA_KLx7_CloudDrei Keltner Kanäle basierend auf einem gleitenden Durchschnitt, gezeichnet als farbige Wolke mit Anzeige der letzten Werte als Preislabels.