
Erstellen eines EA, der automatisch funktioniert (Teil 15): Automatisierung (VII)
Zum Abschluss dieser Artikelserie über Automatisierung werden wir das Thema des vorangegangenen Artikels weiter erörtern. Wir werden sehen, wie alles zusammenpassen wird, damit der EA wie ein Uhrwerk läuft.


Erstellung und Ausgabe von Handelsberichten sowie Mitteilungsversand per SMS
Börsenhändler haben nicht immer Zeit und Lust stundenlang an Ihrem Ausgabegerät für Geschäftsvorgänge zu sitzen. Besonders dann nicht, wenn ihre Handelssysteme mehr oder weniger formelgestützt arbeiten und in der Lage sind, einige Marktlagen automatisch zu erkennen. In diesem Beitrag wird beschrieben, wie man einen Bericht über Handelsergebnisse mithilfe eines Expert-Systems, eines Indikators oder eines Skripts in Form einer Datei im HTML-Format erstellt und mittels FTP auf einen Webserver lädt. Überdies wird die Frage des Versandes von Mitteilungen über Handelsereignisse per E-Mail sowie per SMS an Mobiltelefone erörtert.


Growing Neural Gas: Umsetzung in MQL5
In diesem Artikel wird ein Beispiel für die Entwicklung eines MQL5-Programms zur Umsetzung des als Growing Neural Gas (GNG) bezeichneten adaptiven Clustering-Algorithmus vorgestellt. Dieser Beitrag richtet sich an Anwender, die die Dokumentation zu dieser Programmiersprache gelesen haben und über gewisse Erfahrungen und Grundkenntnisse im Bereich Neuroinformatik verfügen.


Grafiken in der Bibliothek DoEasy (Teil 85): Grafische Objektkollektion - Hinzufügen neu erstellter Objekte
In diesem Artikel werde ich die Entwicklung der abgeleiteten Klassen der abstrakten grafischen Objektklasse abschließen und mit der Implementierung der Möglichkeit beginnen, diese Objekte in der Klasse Kollektion zu speichern. Insbesondere werde ich die Funktionalität für das Hinzufügen von neu erstellten grafischen Standardobjekten in die Kollektionsklasse erstellen.


Grafische Interfaces II: Einrichtung des Eventhandlers für die Bibliothek (Kapitel 3)
Der vorherige Artikel beinhaltet die Implementation der Klassen für das Erzeugen der Bestandteile des Hauptmenüs. Nun ist es an der Zeit, dass wir uns die Eventhandler in den Basisklassen und in den Klassen für die Controls näher betrachten. Wir werden unsere Aufmerksamkeit auch auf das Verwalten des Status des Charts, in Abhängigkeit der Position des Mauszeigers, richten.


Unterstützen Sie Ihre Entwicklungsprojekte mit EX5-Bibliotheken
Indem Sie die Umsetzungsdetails von Klassen/Funktionen in einer .ex5-Datei verbergen, können Sie Ihre Know-how-Algorithmen mit anderen Entwicklern teilen, gemeinsame Projekte in die Wege leiten und sie im Internet bewerben. Und während das Team von MetaQuotes keine Mühen scheut, um die direkte Vererbung von ex5-Bibliotheksklassen zu ermöglichen, setzen wir sie jetzt schon um.


Tracing, Debugging und strukturelle Analyse von Quellcodes
Die gesamte Problematik der Erstellung einer Struktur eines auszuführenden Codes und dessen Tracing lässt sich ohne ernsthafte Schwierigkeiten lösen. Diese Möglichkeit trat mit MetaTrader 5 dank einer neuen Funktion der MQL5-Sprache in Erscheinung: der automatischen Erstellung von Variablen eines komplexen Datentyps (Strukturen und Klassen) und deren Beseitigung beim Verlassen des lokalen Umfelds. Dieser Beitrag beschreibt die Methoden und liefert ein vorgefertigtes Tool.


PairPlot basiert auf CGraphic dient der Analyse von Korrelationen zwischen Datenarrays (Zeitreihen)
Der Vergleich mehrerer Zeitreihen während einer technischen Analyse ist eine recht häufige Aufgabe, die entsprechende Werkzeuge erfordert. In diesem Artikel schlage ich vor, ein Werkzeug für die grafische Analyse zu entwickeln und Korrelationen zwischen zwei oder mehr Zeitreihen zu erkennen.


Grafische Interfaces X: Neue Möglichkeiten der Tabellendarstellung (build 9)
Bis heute war CTable die fortschrittlichste Tabellenart überhaupt in der Bibliothek. Diese Tabelle ist zusammengestellt aus editierbaren Boxen des Typs OBJ_EDIT Typ, aber eine weitere Entwicklung ist problematisch. Mit dem Ziel einer maximale Leistungsfähigkeit, wäre es besser, eine andere Tabellendarstellung vom Typ CCanvasTable zu entwickeln, auch beim augenblicklichen Entwicklungsstand der Bibliothek. Die aktuelle Version ist völlig starr, aber ab diesem Artikel werden wir versuchen, die Situation zu beheben.


Zeitreihen in der Bibliothek DoEasy (Teil 43): Klassen der Objekte von Indikatorpuffern
Der Artikel beschäftigt sich mit der Entwicklung von Indikatorpuffer-Objektklassen, abgeleitet vom abstrakten Pufferobjekt, um die Deklaration zu vereinfachen und mit Indikatorpuffern zu arbeiten, während gleichzeitig nutzerdefinierte Indikatorprogramme auf der Grundlage der Bibliothek DoEasy erstellt werden.


Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XVIII): Interaktivität des Kontos und aller anderen Bibliotheksobjekte
Der Artikel reiht die Arbeit eines Kontoobjekts in ein neues Basisobjekt aller Bibliotheksobjekte ein, verbessert das Basisobjekt CBaseObj und testet die Einstellung von verfolgten Parametern sowie das Empfangen von Ereignissen für alle Bibliotheksobjekte.

MQL5 beherrschen, vom Anfänger zum Profi (Teil II): Grundlegende Datentypen und die Verwendung von Variablen
Dies ist eine Fortsetzung der Serie für Anfänger. In diesem Artikel werden wir uns ansehen, wie man Konstanten und Variablen erstellt, Daten, Farben und andere nützliche Daten schreibt. Wir werden lernen, wie man Enumerationen (Aufzählungen) wie Wochentage oder Linienstile (durchgezogen, gepunktet usw.) erstellt. Variablen und Ausdrücke sind die Grundlage der Programmierung. Sie sind definitiv in 99 % der Programme vorhanden, daher ist es wichtig, sie zu verstehen. Wenn Sie also neu in der Programmierung sind, kann dieser Artikel sehr nützlich für Sie sein. Erforderliche Programmierkenntnisse: sehr einfach, innerhalb der Grenzen meines vorherigen Artikels (siehe den Link am Anfang).


Graphisches Interface X: Textauswahl im mehrzeiligen Textfeld (build 13)
In diesem Artikel erreichen wir, Text mittels verschiedener Tasten auszuwählen, und markierten Text zu löschen, genau so, wie man das von einem Texteditor kennt. Zusätzlich wird der Code weiter optimiert, und es werden die Klassen für die zweite Stufe in Richtung der endgültigen Version der Bibliothek vorbereitet, die alle Elemente als Einzelbilder vor einem Hintergrund darstellt.


Grafische Interfaces II: Das Hauptmenü Element (Kapitel 4)
Dieses ist das letzte Kapitel des zweiten Teils der Serie über die grafischen Interfaces. Hier betrachten wir die Erzeugung des Hauptmenüs. Hier demonstrieren wir die Entwicklung dieses Controls und das Einrichten der Eventhandler innerhalb der Bibliotheks-Klasse, damit später die Anwendung korrekt auf die Aktionen des Users reagiert. Wir besprechen hier zudem, wie man Kontextmenüs dem Hauptmenü hinzufügt. Zudem werden wir noch besprechen, wie man inaktive Elemente blockiert.


Anlegen eines Spektrumanalysators
Der hier vorliegende Beitrag möchte seine Leser mit einer möglichen Variante der Verwendung der grafischen Objekte der Programmiersprache MQL5 vertraut machen. Es wird ein Indikator analysiert, der mithilfe grafischer Objekte ein Feld zur Steuerung eines einfachen Spektrumanalysators anlegt. Der Beitrag richtet sich an Leser mit Grundkenntnissen in MQL5.

Fertige Vorlagen für die Verwendung von Indikatoren in Expert Advisors (Teil 1): Oszillatoren
Der Artikel berücksichtigt Standardindikatoren aus der Kategorie der Oszillatoren. Wir werden gebrauchsfertige Vorlagen für ihre Verwendung in EAs erstellen — Deklaration und Einstellung von Parametern, Initialisierung und Deinitialisierung von Indikatoren sowie das Abrufen von Daten und Signalen aus den Indikatorpuffern in den EAs.


Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXIX): Schwebende Handelsanfrage - die Klasse der Anfrageobjekte
In den vorhergehenden Artikeln haben wir das Konzept der schwebenden Handelsanfragen geprüft. Eine schwebende Anfrage ist in der Tat ein gewöhnlicher Handelsauftrag, der unter einer bestimmten Bedingung ausgeführt wird. In diesem Artikel werden wir vollwertige Klassen von Objekten für hängige Anfragen erstellen — ein Objekt für eine Basisanfrage und seine Nachkommen.


Einen technischen Indikator selber machen
In diesem Artikel gehe ich auf die Algorithmen ein, mit denen Sie Ihren eigenen technischen Indikator erstellen können. Sie werden lernen, wie man mit sehr einfachen Ausgangsannahmen ziemlich komplexe und interessante Ergebnisse erzielen kann.


Graphische Interfaces XI: Überarbeitung des Bibliothekscodes (build 14.1)
Wenn die Bibliothek wächst, muss ihr Programmcode wiederholt optimiert werden, um die Größe zu verringern. Die Version der in diesem Artikel beschriebenen Bibliothek ist nun auch in Teilen objektorientiert. Dadurch ist der Code leichter zu verstehen. Mit der detaillierten Beschreibung der letzten Änderungen kann der Leser auf Basis dieser Bibliothek seine eigenen Ziele umsetzen.


Grafische Interfaces X: Erweitertes Management von Listen und Tabellen Code Optimierung (build 7)
Der Code der Bibliothek muss optimiert werden: Er sollte besser dem Standard folgen, das heißt — leichter lesbar und schneller zu verstehen. Weiters werden wir die als letztes entwickelten Kontrollelemente weiterentwickeln: Listen, Tabellen und Bildlaufleisten.

Multibot in MetaTrader: Starten mehrerer Roboter von einem einzigen Chart aus
In diesem Artikel werde ich eine einfache Vorlage für die Erstellung eines universellen MetaTrader-Roboters besprechen, der auf mehreren Charts verwendet werden kann, während er nur mit einem Chart läuft, ohne dass jede Instanz des Roboters auf jedem einzelnen Chart konfiguriert werden muss.


Ein System von Sprachbenachrichtigungen für Ereignisse und Signale im Handel
Heutzutage spielen Sprachassistenten eine herausragende Rolle im menschlichen Leben, da wir häufig Navigatoren, Sprachsuche und Übersetzer einsetzen. In diesem Artikel werde ich versuchen, ein einfaches und nutzerfreundliches System von Sprachbenachrichtigungen für verschiedene Handelsereignisse, Marktzustände oder durch Handelssignale erzeugte Signale zu entwickeln.


Grafische Interfaces X: Elemente der Zeit, Listen von Kontrollkästchen und das Sortieren von Tabellen (build 6)
Weiterentwicklung der Bibliothek zum Erstellen grafischer Benutzeroberflächen. Zeit und Listen von Kontrollkästchen werden diesmal behandelt. Weiters verfügt die Klasse CTable jetzt über die Möglichkeit, Daten auf- oder absteigend zu sortieren.


Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXIII): Handelsklassen - Verifikation der Parameter
In dem Artikel setzen wir die Entwicklung der Handelsklasse fort, indem wir die Kontrolle über fehlerhafte Parameterwerte von Handelsaufträgen und die Audiosignale von Handelsereignissen implementieren.

StringFormat(). Inspektion und vorgefertigte Beispiele
In diesem Artikel wird die Inspektion der Funktion PrintFormat() fortgesetzt. Wir werden uns kurz mit der Formatierung von Zeichenketten mit StringFormat() und ihrer weiteren Verwendung im Programm beschäftigen. Wir werden auch Vorlagen für die Anzeige von Symboldaten im Terminaljournal schreiben. Der Artikel ist sowohl für Anfänger als auch für erfahrene Entwickler nützlich.


Das MQL5-Kochbuch: Abschwächen der Auswirkungen von Überanpassungen und Umgang mit mangelnden Geboten
Ganz egal, welche Handelsstrategie Sie anwenden, wird immer die Frage bestehen, welche Parameter gewählt werden sollen, um zukünftige Gewinne zu sichern. Dieser Beitrag liefert ein Beispiel für einen Expert Advisor mit der Möglichkeit, mehrere Symbolparameter gleichzeitig zu optimieren. Diese Methode dient dazu, die Auswirkungen der Überanpassung von Parametern abzuschwächen und mit Situationen umzugehen, in denen die Daten aus einem einzelnen Symbol nicht für eine eingehende Betrachtung ausreichen.

Fertige Vorlagen für die Aufnahme von Indikatoren in Expert Advisors (Teil 3): Trendindikatoren
In diesem Referenzartikel werden wir uns mit Standardindikatoren aus der Kategorie Trendindikatoren beschäftigen. Wir werden gebrauchsfertige Vorlagen für die Verwendung von Indikatoren in EAs erstellen - Deklaration und Einstellung von Parametern, Initialisierung und Deinitialisierung von Indikatoren sowie Empfang von Daten und Signalen aus Indikatorpuffern in EAs.


Nutzung von Pseudo-Templates als Alternative für C++-Templates
Dieser Beitrag beschreibt eine Art der Programmierung ohne Templates, allerdings unter Beibehaltung des ihnen eigenen Programmierstils. Er schildert die Implementierung von Templates mithilfe von benutzerdefinierten Methoden und bietet ein vorgefertigtes, angehängtes Script zur Erstellung eines Codes auf Basis festgelegter Templates.


Grafiken in der Bibliothek DoEasy (Teil 88): Grafische Objektkollektion — zweidimensionales dynamisches Array zur Speicherung der sich dynamisch ändernden Objekteigenschaften
In diesem Artikel werde ich eine dynamische mehrdimensionale Array-Klasse erstellen, die die Möglichkeit bietet, die Datenmenge in jeder Dimension zu ändern. Auf der Grundlage der erstellten Klasse werde ich ein zweidimensionales dynamisches Array erstellen, um einige dynamisch veränderte Eigenschaften von grafischen Objekten zu speichern.

Kontinuierliche Walk-Forward-Optimierung (Teil 7): Einbinden des logischen Teils des Auto-Optimizer mit Grafiken und Steuerung
Dieser Artikel beschreibt die Verbindung des grafischen Teils des Auto-Optimizers mit seinem logischen Teil. Er betrachtet den Prozess des Optimierungsstarts, von einem Tastenklick bis zur Aufgabenumleitung zum Optimierungsmanager.


Zeitreihen in der Bibliothek DoEasy (Teil 38): Kollektion von Zeitreihen - Aktualisierungen in Echtzeit und Datenzugriff aus dem Programm
Der Artikel befasst sich mit der Echtzeit-Aktualisierung von Zeitreihendaten und dem Senden von Meldungen über das Ereignis "New bar" an die Kontrollprogramm auf dem Chart aus allen Zeitreihen aller Symbole, um diese Ereignisse in benutzerdefinierten Programmen handhaben zu können. Die Klasse "New tick" wird verwendet, um die Notwendigkeit der Aktualisierung der Zeitreihen von Symbolen und Perioden zu bestimmen, die nicht dem aktuellen Chart entsprechen.

Matrizen und Vektoren in MQL5: Die Aktivierungsfunktionen
Hier wird nur einer der Aspekte des maschinellen Lernens beschrieben — die Aktivierungsfunktionen. In künstlichen neuronalen Netzen berechnet eine Neuronenaktivierungsfunktion einen Ausgangssignalwert auf der Grundlage der Werte eines Eingangssignals oder eines Satzes von Eingangssignalen. Wir werden uns mit den inneren Abläufen des Prozesses befassen.


Nativer Twitter-Client für MT4 und MT5 ohne DLL
Wollten Sie schon immer auf Tweets zugreifen und/oder Ihre Handelssignale auf Twitter posten? Suchen Sie nicht mehr, diese fortlaufenden Artikelserien zeigen Ihnen, wie Sie es ohne die Verwendung einer DLL machen können. Genießen Sie die Reise der Implementierung der Tweeter-API mit MQL. In diesem ersten Teil werden wir dem glorreichen Weg der Authentifizierung und Autorisierung beim Zugriff auf die Twitter-API folgen.


Besser Programmieren (Teil 07): Tipps, um ein erfolgreicher freiberuflicher Entwickler zu werden
Möchten Sie ein erfolgreicher Freelance-Entwickler auf MQL5 werden? Wenn die Antwort ja lautet, ist dieser Artikel genau das Richtige für Sie.


Grafiken in der Bibliothek DoEasy (Teil 75): Methoden zur Handhabung von Primitiven und Text im grafischen Grundelement
In diesem Artikel werde ich die Entwicklung der grundlegenden grafischen Elementklasse aller grafischen Objekte der Bibliothek fortsetzen, die von der Klasse CCanvas aus der Standardbibliothek angetrieben werden. Ich werde die Methoden zum Zeichnen grafischer Primitive und zum Anzeigen eines Textes auf einem grafischen Elementobjekt erstellen.


Grafiken in der Bibliothek DoEasy (Teil 84): Abgeleitete Klassen des abstrakten grafischen Standardobjekts
In diesem Artikel geht es um das Erstellen von Nachfolgeobjekten für das abstrakte grafische Standardobjekt Terminal. Das Klassenobjekt beschreibt die Eigenschaften, die allen grafischen Objekten gemeinsam sind. Es ist also einfach eine Art grafisches Objekt. Um seine Zugehörigkeit zu einem realen grafischen Objekt zu verdeutlichen, müssen wir die Eigenschaften, die diesem speziellen grafischen Objekt eigen sind, in der Klasse des Nachfolgeobjekts festlegen.


Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XVII): Interaktivität von Bibliotheksobjekten
In diesem Artikel werden wir die Entwicklung des Basisobjekts aller Bibliotheksobjekte abschließen, so dass jedes darauf basierende Bibliotheksobjekt mit einem Nutzer interagieren kann. So kann der Nutzer beispielsweise die maximal akzeptable Größe eines Spreads zum Eröffnen einer Position und eines Preisniveaus einstellen, bei dessen Erreichen ein Ereignis aus einem Symbolobjekt mit dem spread- oder preisniveauabhängigen Signal an das Programm gesendet wird.

Entwicklung eines Replay Systems — Marktsimulation (Teil 17): Ticks und noch mehr Ticks (I)
Hier werden wir sehen, wie man etwas wirklich Interessantes, aber gleichzeitig auch sehr Schwieriges umsetzen kann, da bestimmte Punkte sehr verwirrend sein können. Das Schlimmste, was passieren kann, ist, dass einige Händler, die sich für Profis halten, nichts über die Bedeutung dieser Konzepte auf dem Kapitalmarkt wissen. Auch wenn wir uns hier auf die Programmierung konzentrieren, ist das Verständnis einiger der Probleme, die mit dem Markthandel verbunden sind, von entscheidender Bedeutung für das, was wir umsetzen werden.

Die Transaktionen des Handels Anfrage- und Antwortstrukturen, Beschreibung und Protokollierung
Der Artikel befasst sich mit der Struktur von Handelsanfragen, d. h. mit der Erstellung einer Anfrage, ihrer vorläufigen Überprüfung vor der Übermittlung an den Server, der Antwort des Servers auf eine Handelsanfrage und der Struktur von Handelsgeschäften. Wir werden einfache und bequeme Funktionen zum Senden von Handelsaufträgen an den Server erstellen und auf der Grundlage der besprochenen Informationen einen EA erstellen, der über Handelsgeschäfte informiert.

Wie man einen einfachen EA für mehrere Währungen mit MQL5 erstellt (Teil 2): Indikator-Signale: Multi-Zeitrahmen Parabolic SAR Indikator
Der Expert Advisor für mehrere Währungen in diesem Artikel ist ein Expert Advisor oder Handelsroboter, der handeln kann (z.B. Aufträge öffnen, schließen und verwalten, Trailing Stop Loss und Trailing Profit) für mehr als 1 Symbolpaar von nur einem Symbolchart aus. Dieses Mal werden wir nur 1 Indikator verwenden, nämlich den Parabolic SAR oder iSAR in mehreren Zeitrahmen von PERIOD_M15 bis PERIOD_D1.