

Automatisch generierte Dokumentation für den MQL5-Code
Die meisten Personen, die Codes in Java anlegen, kennen bestimmt die automatisch generierte Dokumentation, die zusammen mit JavaDocs erstellt werden kann. Hierbei geht es um die Ergänzung des Codes durch Anmerkungen auf semi-strukturierte Weise, die dann in eine leicht zu navigierende Hilfe-Datei extrahiert werden können. In der C++ Welt gibt es ebenfalls einige automatische Dokumentations-Generatoren, von denen SandCastle und Doxygen von Microsoft die beiden Spitzenreiter sind. Dieser Beitrag beschreibt die Verwendung von Doxygen zur Erzeugung einer HTML Hilfe-Datei auf Basis strukturierter Anmerkungen im MQL5-Code. Der Versuch hat prima funktioniert und ich glaube, dass die Hilfs-Dokumentation, die Doxygen aus dem MQL5-Code liefert ganz erheblichen Mehrwert mit sich bringt.


Benutzerdefinierte grafische Bedienelemente. Teil 3. Formen
Dies ist der letzte der drei Beiträge, die sich grafischen Bedienelementen widmen. Er behandelt die Erstellung der Hauptkomponente der grafischen Oberfläche – der Form – und ihre Verwendung in Kombination mit anderen Bedienelementen. Zusätzlich zu den Formklassen wurden die Klassen CFrame, CButton und CLabel der Bibliothek von Bedienelementen hinzugefügt.


Der universell Oszillator mit dem graphischen Interface
Im Artikel wird die Erstellung des universellen Indikators aufgrund aller Oszillators des Terminalen mit dem eigenen graphischen Interface beschrieben. Es ermöglicht schnell und bequem die Parameter jedes separaten Oszillators aus dem Chart-Fenster zu wechseln (und ohne Öffnung des Fensters der Eigenschaften), ihre Messwerte zu vergleichen und für sich die optimale Variante für eine konkrete Aufgabe zu wählen.

Kontinuierliche Walk-Forward-Optimierung (Teil 3): Eine Roboters für Autoadaptierung anpassen
Der dritte Teil dient als Brücke zwischen den beiden vorhergehenden Teilen: Er beschreibt den Mechanismus der Interaktion mit der DLL, der im ersten Artikel besprochen wurde, und die Objekte zum Laden von Berichten, die im zweiten Artikel beschrieben wurden. Wir werden den Prozess der Wrapper-Erstellung für eine Klasse analysieren, die aus der DLL importiert wird und die eine XML-Datei mit der Handelshistorie bildet. Wir werden auch eine Methode für die Interaktion mit diesem Wrapper in Betracht ziehen.


Die Verwendung von Layout und Containern für GUI Controls: Die CGrid Klasse
Dieser Artikel präsentiert eine alternative Methode für die Erzeugung eines GUI, basierend auf Layouts und Containern und der Verwendung eines Layout-Managers — die CGrid Klasse. Die CGrid Klasse ist ein externes Control, welches wie ein Container für andere Container und Controls agiert und ein Grid-Layout verwendet.


Statistische Schätzungen
Die Schätzung der statistischen Parameter einer Sequenz ist sehr wichtig, weil die meisten mathematischen Modelle und Methoden auf unterschiedlichen Annahmen basieren, beispielsweise dem Normalverteilungsgesetz oder dem Streuungswert oder anderen Parametern. Beim Analysieren und Prognostizieren von Zeitreihen brauchen wir deshalb ein einfaches und bequemes Werkzeug, das es uns ermöglicht, die wichtigsten statistischen Parameter schnell und deutlich zu schätzen. Dieser Beitrag beschreibt kurz die einfachsten statistischen Parameter einer zufälligen Sequenz und mehrere Methoden für die visuelle Analyse. Er liefert die Umsetzung dieser Methoden in MQL5 und die Methoden der Visualisierung des Ergebnisses der Berechnung mithilfe der Anwendung Gnuplot.


Die gleichzeitige Anzeige der einigen Indikatoren-Signale von vier Timeframes
Beim manuellen Handel, im Unterschied mit einem mechanischen Handel, muss der Trader ständig auf die Werte einiger Indikatoren beachten. Wenn es die Indikatoren zum Beispiel, zwei oder drei gibt, und für den Handel eine Timeframe gewählt ist, so ist es gar keine unkomplizierte Aufgabe. Und wie man sonst so machen soll, wenn es die Indikatoren - fünf oder sechs gibt, und die Handelsstrategie verpflichtet, die Signale auf einigen Timeframes zu berücksichtigen?


Die Verwendung von MetaTrader5 als Signalgeber für MetaTrader4
Analyse und Beispiele, wie eine Handelsanalyse auf der Plattform MetaTrader5 gemacht, aber von MetaTrader4 ausgeführt wird. In diesem Artikel wird besprochen, wie man einen einfachen Signalgeber in MetaTrader5 entwirft und mehrere Clients verbindet, auch wenn man MetaTrader4 laufen lässt. Sie werden auch herausfinden, wie Sie den Teilnehmern der Automated Trading Championship mit Ihrem realen MetaTrader4-Account folgen können.


Test-Performance der Berechnung von gleitenden Mittelwerten in MQL5
Seit der Erstellung des ersten Moving-Average-Indikators ist eine Vielzahl von Indikatoren erschienen. Viele von ihnen nutzen ähnliche Glättungsmethoden, doch die Glättung der unterschiedlichen Algorithmen von gleitenden Mittelwerten wurde nie eingehend studiert. In diesem Beitrag betrachten wir Möglichkeiten zur Nutzung der gleitenden Mittelwerte in MQL5 und vergleichen ihre Performance.


Berechnung wesentlicher Merkmale von Indikator-Emissionen
Indikator-Emissionen sind ein eher selten untersuchter Bereich der Markterforschung. Dies liegt hauptsächlich an ihrer schwierigen Analyse aufgrund der Verarbeitung sehr umfangreicher Arrays von zeitlich variablen Daten. Die existierende grafische Analyse ist zu Ressourcen-intensiv und hat demzufolge dazu geführt, dass ein sparsamer Algorithmus entwickelt wurde, der mit Zeitreihen von Emissionen arbeitet. Dieser Beitrag zeigt, wie die visuelle Analyse (intuitives Bild) durch das Studium wesentlicher Merkmale von Emissionen ersetzt werden kann. Dies kann sowohl für Händler als auch Entwickler von automatischen Handelssystemen interessant sein.


Das MQL5-Kochbuch: Steuerelemente des Indikatorunterfensters - Die Bildlaufleiste
Wir setzen das Studium der Steuerelemente fort und kommen diesmal zur Bildlaufleiste, dem Scrollbar. Genauso wie schon in dem vorhergehenden Beitrag „Das MQL5-Kochbuch: Steuerelemente des Indikatorunterfensters - Die Schaltflächen“ arbeiten wir in dem Unterfenster für den Indikator. Den genannten Beitrag sollte man gelesen haben, da in ihm die Arbeit mit Ereignissen in der Funktion OnChartEvent() ausführlich dargelegt wird, während diese hier nur oberflächlich gestreift wird. Als Beispiel wird in diesem Beitrag eine senkrechte Bildlaufleiste für eine lange Aufstellung aller mit den Möglichkeiten der Programmiersprache MQL5 zu beziehenden Kenngrößen eines Finanzinstrumentes angelegt.

Kontinuierliche Rolloptimierung (Teil 2): Mechanismus zur Erstellung eines Optimierungsberichts für einen beliebigen Roboter
Der erste Artikel innerhalb der rollenden Optimierungsreihe beschrieb die Erstellung einer DLL, die in unserem Autooptimierer verwendet werden soll. Diese Fortsetzung ist vollständig der Sprache MQL5 gewidmet.

Ein manuelles Chart- und Handelswerkzeug (Teil III). Optimierungen und neue Werkzeuge
In diesem Artikel werden wir die Idee des Zeichnens von grafischen Objekten auf Charts mit Hilfe von Tastenkombinationen weiterentwickeln. Der Bibliothek wurden neue Werkzeuge hinzugefügt, darunter eine gerade Linie, die durch beliebige Scheitelpunkte gezeichnet wird, und eine Reihe von Rechtecken, die die Auswertung der Umkehrzeit und des Levels ermöglichen. Außerdem zeigt der Artikel die Möglichkeit, den Code zu optimieren, um die Leistung zu verbessern. Das Implementierungsbeispiel wurde umgeschrieben, sodass Shortcuts neben anderen Handelsprogrammen verwendet werden können. Erforderliche Code-Kenntnisse: etwas höher als die eines Anfängers.


Selbst-organisierende Feature Maps (Kohonen Maps) - Wiederaufgreifen des Themas
Dieser Artikel beschreibt Techniken für die Arbeit mit Kohonen-Maps. Das Thema wird sowohl für Marktforscher mit Grundkenntnisse der Programmierung in MQL4 und MQL5 als auch erfahrene Programmierer, die Schwierigkeiten mit der Verbindung von Kohonen-Maps mit ihren Projekten haben, von Interesse sein.


Wie erstelle ich MetaTrader 5-Angebote für andere Applikationen
Dieser Artikel widmet sich Beispielen, die u.a. folgende Dinge veranschaulichen sollen: Verzeichnisse anlegen, Daten kopieren und ablegen, via Market Watch oder mittels der allgemeinen Liste mit Symbolen hantieren, mit Fehlern umgehen, usw. All diese Elemente können letztendlich mit einem Skript erfasst werden, das Daten in einem nutzerfreundlichen Format ablegt.


Das MQL5-Kochbuch: Entwicklung eines Indikators mit mehreren Symbolen für die Analyse von Preisunterschieden
In diesem Beitrag betrachten wir die Entwicklung eines Indikators mit mehreren Symbolen für die Analyse von Preisunterschieden in einem bestimmten Zeitraum. Die wichtigsten Themen wurden bereits im vorhergehenden Beitrag zur Programmierung mehrwährungsfähiger Indikatoren besprochen, "Das MQL5-Kochbuch: Entwicklung eines Indikators für die Volatilität mehrerer Symbole in MQL5". Diesmal gehen wir also nur auf jene neuen Features und Funktionen ein, an denen wesentliche Änderungen vorgenommen wurden. Wenn Sie ein Neuling in der Programmierung von mehrwährungsfähigen Indikatoren sind, empfehle ich Ihnen, zuerst den vorherigen Beitrag zu lesen.


Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXII): Handelsklassen - Basisklasse des Handels, Verifikation der Einschränkungen
In diesem Artikel beginnen wir mit der Entwicklung der Bibliothek der Basisklasse des Handels und fügen die erste Überprüfung der Berechtigungen zur Durchführung von Handelsoperationen der ersten Version hinzu. Außerdem werden wir die Funktionen und Inhalte der Basishandelsklasse leicht erweitern.


MQL als Darstellungsmittel für graphische Schnittstellen von MQL-Programmen. Teil 1
Dieser Artikel schlägt ein neues Konzept zur Beschreibung der Fenster-Schnittstelle von MQL-Programmen vor, wobei die Strukturen von MQL verwendet werden. Spezielle Klassen transformieren das sichtbare MQL-Markup in die GUI-Elemente und erlauben es, diese zu verwalten, ihre Eigenschaften einzustellen und die Ereignisse in einer einheitlichen Weise zu verarbeiten. Es enthält auch einige Beispiele für die Verwendung des Markups für die Dialoge und Elemente einer Standardbibliothek.


Grafische Interfaces II: Die Trennlinien und Context-Menüelemente (Kapitel 2)
In diesem Artikel erzeugen wir das Trendlinien-Element Es kann nicht nur als unabhängiges Interface-Element verwendet werden, sondern auch als ein Teil von vielen anderen Elementen. Anschließend haben wir alles, was für die Entwicklung der Kontextmenü Klasse benötigt wird. Diese Klasse werden wir in diesem Artikel im Detail besprechen. Zudem werden wir alle notwendigen Ergänzungen dieser Klasse hinzufügen, die für das Abspeichern von Pointern aller Elemente des grafischen Interfaces dieser Anwendung benötigt werden.


Vergleich von MQL5 und QLUA - warum sind Transaktionen in MQL5 bis zu 28 Mal schneller?
Viele Trader machen sich keine Gedanken darüber, wie schnell ihre Order die Börse erreicht, wie schnell sie da ausgeführt wird und wie viel Zeit das Terminal braucht, um das Ergebnis zu erhalten. Wir uns vorgenommen, die Geschwindigkeit der Ausführung von Transaktionen zu vergleichen, denn noch keiner hat vor uns solche Messungen mithilfe von MQL5- und QLUA-Programmen durchgeführt.


Universeller Kanal mit grafischem Interface
Alle Channel Indikatoren stellen drei Linien dar: zentrale, obere und untere Linie. Die zentrale Linie ist nach dem Prinzip des Zeichnens dem gleitenden Durchschnitt identisch, und in den meisten Fällen wird für das Zeichnen eines Kanals gerade der gleitende Durchschnitt verwendet. Die obere und untere Linien sind von der zentralen Linie gleich weit entfernt. Dieser Abstand kann in Punkten oder in Prozent vom Preis (Envelopes Indikator) definiert werden, es können der Wert der Standardabweichung (Bolliger Bands) oder der Wert des ATR Indikators (Keltner Kanal) verwendet werden.


Marktbeobachtung mithilfe vorgefertigter Klassen
Die neue MetaTrader 5-Anwendungsinstanz für Ausgabegeräte (Terminal) und die Programmiersprache MQL5 eröffnen neue Möglichkeiten zur Wiedergabe visueller Informationen für Börsenhändler. In dem folgenden Beitrag stellen wir eine universelle und erweiterbare Sammlung (Bibliothek) von Klassen vor, die Ihnen die Organisation der Wiedergabe beliebiger Informationstexte zu einem Diagramm abnehmen. Dazu präsentieren wir das Beispiel eines Marktbeobachtungsindikators.


Graphische Interfaces III: Gruppen von einfachen und multifunktionalen Buttons (Kapitel 2)
In dem ersten Kapitel dieser Serie ging es um einfache und multifunktionelle Buttons. Der zweite Artikel handelt über Gruppen von interagierenden Buttons, mit denen der Programmierer Elemente erzeugen kann, bei der der Anwender ein Element aus der Gruppe auswählen kann.


Grafische Interfaces X: Das Standard Chart-Steuerelement (Build 4)
Diesmal betrachten wir das Standard Chart-Steuerelement. Dieses erlaubt es uns, eine ganze Serie von Unter-Charts zu erzeugen, mit der Möglichkeit, diese beim Scrollen horizontal zu synchronisieren. Darüber hinaus werden wir weiterhin den Bibliothekscode für eine Reduzierung der CPU-Last optimieren.


Die rechnerische Fähigkeiten von MATLAB 2018 im MetaTrader 5 nutzen
Nach dem Upgrade des MATLAB-Pakets im Jahr 2015 ist es notwendig, auf eine moderne Art der Erstellung von DLL-Bibliotheken umzustellen. Der Artikel veranschaulicht anhand eines exemplarischen prädiktiven Indikators die Besonderheiten der Verknüpfung von MetaTrader 5 und MATLAB mit modernen 64-Bit-Versionen der Plattformen, die heute genutzt werden. Mit der gesamten Verbindungssequenz von MATLAB können MQL5-Entwickler Anwendungen mit erweiterten Rechenfunktionen viel schneller erstellen und so "Fallstricke" vermeiden.


Grafische Interfaces X: Updates für die Easy And Fast Bibliothek (Build 3)
In diesem Artikel wird die nächste Version der Easy And Fast-Bibliothek (Version 3) vorgestellt. Es wurden Fehler behoben und neue Features hinzugefügt. Mehr Details dazu finden Sie in dem Artikel.


Benutzerdefinierte grafische Bedienelemente. Teil 2. Bibliothek von Bedienelementen
Der zweite Beitrag der Serie "Benutzerdefinierte grafische Bedienelemente" führt eine Bibliothek von Bedienelementen für den Umgang mit den wichtigsten Problemen ein, die bei der Interaktion zwischen einem Programm (Expert Advisor, Script, Indikator) und einem Benutzer auftreten. Die Bibliothek enthält zahlreiche Klassen (CInputBox, CSpinInputBox, CCheckBox, CRadioGroup, CVSсrollBar, CHSсrollBar, CList, CListMS, CComBox, CHMenu, CVMenu, CHProgress, CDialer, CDialerInputBox, CTable) und Beispiele für ihren Gebrauch.


Grafische Interfaces IX: Das Farbauswahl Control (Kapitel 1)
Mit diesem Artikel starten wir das Kapitel 9 der Serie der Artikel über die entwicklung von grafischen Interfaces in den Metatrader Trading-Terminals. Diese Serie besteht aus zwei Kapiteln, in welcher neue Elemente und Interfaces vorgestellt werden, wie zum Beispiel das Farbauswahl-Control, farbige Buttons, die Fortschrittsanzeige und Linien Charts.

Wie man jede Art von Trailing-Stop entwickelt und mit einem EA verbindet
In diesem Artikel werden wir uns Klassen für die bequeme Erstellung verschiedener Trailing-Stops ansehen und lernen, wie man sie mit einem beliebigen EA verbindet.


HTML Komplettlösung mit MQL4
HTML ist heute eine der weitverbreiteten Arten von Dokumenten. Das MetaTrader 4 Client Terminal ermöglicht Ihnen Aufstellungen, Tests und Optimierungsberichte als.htm Dateien zu speichern. Manchmal ist es erforderlich Informationen aus solchen Dateien in einem MQL4 Programm zu erhalten. Der Artikel beschreibt eine der Variationen, wie man die Tag-Struktur und die Inhalte aus HTML erhält.


Zeitreihen in der Bibliothek DoEasy (Teil 35): das Bar-Objekt und die Liste der Zeitreihen eines Symbols
Dieser Artikel startet eine neue Serie über das Erstellen der Bibliothek DoEasy zur einfachen und schnellen Programmentwicklung. Im aktuellen Artikel werden wir die Bibliotheksfunktionen für den Zugriff auf und die Arbeit mit den Zeitreihen der Symbole implementieren. Wir werden das Bar-Objekt erstellen, das die Haupt- und erweiterten Zeitreihendaten speichert, und Bar-Objekte in der Zeitreihenliste platzieren, um eine bequeme Suche und Sortierung der Objekte zu ermöglichen.


Verwendung eines Cloud-Speichers für den Datenaustausch zwischen Terminals
Immer beliebter werden die wolkigen Technologien. Sowohl kostenpflichtige, als auch kostenfreie Speicher stehen uns zur Verfügung. Können wir sie im Traiding verwenden? In diesem Artikel wird die Technologie für den Datenaustausch zwischen Terminals durch die Verwendung wolkiger Speichers angeboten.


Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXXIII): Schwebende Handelsanfragen - Schließen von Positionen unter bestimmten Bedingungen
Wir setzen die Entwicklung der Bibliotheksfunktionalität fort, die den Handel mit schwebenden Anfragen ermöglicht. Wir haben bereits das Senden von bedingten Handelsanfragen für die Eröffnung von Positionen und die Platzierung von Pending Orders implementiert. Im aktuellen Artikel werden wir die bedingte Schließung von Positionen implementieren - vollständig, teilweise und das Schließen durch eine entgegengesetzte Position.


Cross-Plattform Expert Advisor: Stopps
Dieser Artikel beschreibt eine Implementierung von Stopps in einem Experten Advisor, die mit den beiden Plattformen MetaTrader 4 und MetaTrader 5 kompatibel ist.


Grafische Interfaces IV: Der Multi-Window-Modus und das System für Prioritäten (Kapitel 2)
In diesem Kapitel werden wir die Bibliothek um die Möglichkeit der Erzeugung von Multi-Window-Modus-Interfaces für MQL Anwendungen erweitern. Wir werden zudem ein System für die Priorität eines Klicks mit der linken Maustaste auf grafische Objekte entwickeln. Dieses ist notwendig um Probleme zu vermeiden, falls der Anwender auf ein grafisches Element klickt und dieses nicht reagiert.


Neue Möglichkeiten mit MetaTrader5
MetaTrader 4 erfreute sich bei Händlern auf der ganzen Welt großer Beliebtheit und es sah lange so aus, als wären alle nun wunschlos glücklich. Mit seiner hohen Arbeitsgeschwindigkeit, seiner robusten Zuverlässigkeit, einem Riesenfeld an Möglichkeiten zum Schreiben von Indikatoren, Expert Advisors und informierten Handelssystemen sowie seiner Fähigkeit, aus über 100 Maklern auswählen zu können, hat sich dieses Terminal deutlich vom Rest abgesetzt. Doch die Zeit steht nicht still und deshalb stehen wir jetzt vor der Wahl: MetaTrade 4 oder MetaTrade 5? In diesem Beitrag sollen die wichtigsten Unterschiede dieses Terminals der 5. Generation aus aktuellem Blickwinkel beschrieben werden.


Grafische Interfaces IV: Informierende Interface-Elemente (Kapitel 1)
Zum aktuellen Stand der Entwicklung, beinhaltet die Bibliothek für die Erzeugung von grafischen Interfaces ein Formular und verschiedene Steuerelemente (Controls), welche dem Formular hinzugefügt werden können. Wie zuvor schon erwähnt, sollte sich einer der zukünftigen Artikel mit dem Thema Multi-Window-Modus beschäftigen. Dafür liegt nun alles vor, und wir werden in dem folgenden Kapitel dieses Thema behandeln. In diesem Kapitel schreiben wir Klassen für die Erzeugung der Statusbar und des Tooltip-Elementes.


Die Visualisierung von Optimierungsergebnissen nach dem ausgewählten Kriterium
Im Artikel wird die MQL-Anwendung für die Arbeit mit Optimierungsergebnissen weiter entwickelt. Diesmal wird ein Beispiel gezeigt, wenn die Tabelle der besten Ergebnisse bereits nach der Optimierung der Parameter gebildet werden kann, indem man ein anderes Kriterium über das grafische Interface angibt.


Grafisches Interface XI: Texteingabefelder und Kombinationsfelder in Tabellenzellen (build 15)
Diese Aktualisierung der Bibliothek versieht das Tabellensteuerelement (die Klasse CTable) mit neue Optionen. Die Palette der Steuerelemente in den Tabellenzellen wird erweitert, diesmal um Textbearbeitungs- und Kombinationsfelder. Dieses Aktualisierung führt auch die Möglichkeit ein, das Fenster einer MQL-Anwendung zur Laufzeit in der Größe zu ändern.


Baukasten des Händlers: Gestaltung der Indikatoren
In diesem Artikel finden Sie die wichtigsten Aufgaben, die es zu erledigen gilt, wenn es um die Gestaltung von Indikatoren geht, sowie auch Lösungen und Automatisierungen dafür.