Die Effizienz eines jeden Handelsroboters hängt von der richtigen Auswahl seiner Parameter ab (Stichwort Optimierung). Jedoch können Parameter, die sich für ein Zeitintervall als optimal erwiesen, ihre Wirksamkeit in einer anderen Zeitspanne der Handelshistorie nicht bestätigen. Außerdem erweisen sich EAs, die während der Tests Gewinne zeigen, als verlustbringend in Echtzeit. Damit rückt das Thema der kontinuierlichen Optimierung in den Vordergrund. Bei vielen Routinearbeiten suchen Menschen immer nach Möglichkeiten, diese zu automatisieren. In diesem Artikel schlage ich einen nicht standardisierten Ansatz zur Lösung dieses Problems vor.
Der Artikel beschäftigt sich mit dem Handelssystem von Elder-Ray, das auf den Indikatoren Bulls Power, Bears Power und einem gleitenden Durchschnitt (EMA — exponentiellen gleitenden Durchschnitt) basiert. Dieses System wurde von Alexander Elder in seinem Buch "Trading for a Living" beschrieben.
Es gibt viele Handelsstrategien 'da draußen'. Einige suchen nach Trends, andere definieren Preisspannen von Preisbewegungen und handeln dann diese. Ist es möglich beide Ansätze zu kombinieren, um die Profitabilität zu erhöhen?
Dies ist der zweite Teil des Artikels, der die Entwicklung eines Expert Advisors für den manuellen Handel mit mehreren Symbolen zeigt. Wir haben die grafische Oberfläche bereits erstellt. Es ist nun an der Zeit, sie mit den Funktionen des Programms zu verbinden.
Der Artikel beschreibt die Möglichkeit, wie ein MQL5-basierter Expert Advisors mit dem Datenbankserver Microsoft SQL Server arbeiten kann. Es wird der Import von Funktionen aus einer DLL-Datei verwendet. Die DLL wird mit der Microsoft.NET-Plattform in der Sprache C# erstellt. Die im Artikel verwendeten Methoden eignen sich, mit kleinen Anpassungen, auch für Experten, die in MQL4 geschrieben sind.
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.
Trotz der Tatsache, dass viele Händler immer noch den manuellen Handel bevorzugen, ist es kaum möglich, die Automatisierung von Routineoperationen vollständig zu vermeiden. Der Artikel zeigt ein Beispiel für die Entwicklung eines Expert Advisor mit Signalen von mehreren Symbolen für den manuellen Handel.
Der Artikel beschreibt die Methoden des Aufbaus und Trainings von Gruppen von Neuronalen Netzen mit einer Struktur für das Bagging, einer Methode, um Vorhersagen aus verschiedenen Regressions- oder Klassifikationsmodellen zu kombinieren. Es bestimmt auch die Besonderheiten der Hyperparameter-Optimierung für einzelne Neuronale Netzwerk-Klassifikatoren, aus denen sich das Ensemble zusammensetzt. Die Qualität des optimierten Neuronalen Netzes, das im vorherigen Artikel der Serie erhalten wurde, wird mit der Qualität des erzeugten Ensembles Neuronaler Netze verglichen. Möglichkeiten, die Qualität der Klassifizierung des Ensembles weiter zu verbessern, werden geprüft.
Für die Übertragung des Codes eines Indikators in einen Expert Advisor kann es unterschiedliche Gründe geben. Aber wie kann man Vor- und Nachteile eines solchen Ansatzes bewerten? In diesem Artikel wird eine Technologie für die Übertragung des Codes eines Indikators in einen Expert Advisor vorgestellt. Es wurden mehrere Experimente hinsichtlich der Arbeitsgeschwindigkeit des Expert Advisors durchgeführt.
Random Forest (RF) mit dem Einsatz von Bagging ist eine der leistungsfähigsten maschinellen Lernmethoden, die dem Gradienten-Boosting etwas unterlegen ist. Dieser Artikel versucht, ein selbstlernendes Handelssystem zu entwickeln, das Entscheidungen basierend auf den Erfahrungen aus der Interaktion mit dem Markt trifft.
Die Programmiersprache MQL erlaubt es, das Konzept der modularen Programmierung von Handelsstrategien umzusetzen. Der Artikel schildert ein Beispiel für die Erstellung eines multimodularen Expert Advisors, der aus separat kompilierten Dateimodulen besteht.
Der Artikel basiert auf dem Buch 'The Mathematics of Money Management' von Ralph Vince. Es bietet eine Beschreibung der empirischen und parametrischen Methoden zur Ermittlung der optimalen Größe des Handelsvolumens. Der Artikel beinhaltet auch die Implementierung von Handelsmodulen für den MQL5 Wizard, die auf diesen Methoden basieren.
Der Artikel beschreibt ein Beispiel für eine MQL-Anwendung mit dem grafischen Interface, in welchem die Kurven der Bilanz und des Rückgangs für mehrere Symbole nach den Ergebnissen des letzten Tests angezeigt werden.
In diesem Artikel untersuchen wir die Möglichkeit, einen flexiblen Newsfeed zu erstellen, der mehr Optionen in Bezug auf die Art der Nachrichten und auch deren Quelle bietet. Der Artikel zeigt, wie eine Web-API in das MetaTrader 5 Terminal integriert werden kann.
Der Artikel beschreibt die Art und Weise, wie man Strategien individuell testen und einen benutzerdefinierten Analysator für die Optimierungsdurchläufe erstellt. Nach dem Lesen werden Sie verstehen, wie die "Mathematische Berechnung" und der Mechanismus der sogenannten Frames funktionieren, wie Sie benutzerdefinierte Daten für Berechnungen vorbereiten und laden und effektive Algorithmen für ihre Komprimierung verwenden. Dieser Artikel wird auch für diejenigen interessant sein, die an Möglichkeiten interessiert sind, benutzerdefinierte Informationen innerhalb eines Experten zu speichern.
Kursverläufe bilden Preiskanäle, die auf dem Chart des Finanzsymbols beobachtet werden können. Der Ausbruch aus einem aktuellen Kanal ist ein starkes Signal einer Trendwende. In diesem Artikel schlage ich eine Möglichkeit vor, den Prozess der Suche nach solchen Signalen zu automatisieren und zu sehen, ob die Muster eines Kanalausbruchs für die Erstellung einer Handelsstrategie verwendet werden kann.
Der Artikel beschäftigt sich mit der Möglichkeit, mit einem Expert Advisor und den Standardelementen aus MQL5 die DiNapoli-Ebenen zu handeln. Es wird die Leistungsfähigkeit getestet und die Ergebnisse besprochen.
Im Leben eines Händlers gibt es verschiedene Situationen. Häufig wünschen wir uns, die Strategie von geschlossen, erfolgreichen Positionen fortzusetzen, während wir versuchen, die der Verlust bringenden Positionen weiterzuentwickeln und zu verbessern. In beiden Fällen vergleichen wir Positionen mit bekannten Indikatoren. Dieser Artikel schlägt die Methoden eines Batch-Vergleichs von Positionen mit einer Reihe von Indikatoren vor.
Für einen erfolgreichen Handel benötigen wir fast immer Indikatoren, die die Hauptpreisbewegung vom Hintergrundrauschen trennen können. In diesem Artikel betrachten wir einen der vielversprechendsten digitalen Filter, den Kalman-Filter. Der Artikel beschreibt, wie Sie den Filter zeichnen und verwenden können.
Der Artikel befasst sich mit einem Beispiel für die Anwendung der Fuzzy-Logik, um ein einfaches Handelssystem unter Verwendung der Fuzzy-Bibliothek zu erstellen. Es werden Varianten zur Verbesserung des Systems durch Kombination von Fuzzy-Logik, genetischen Algorithmen und neuronalen Netzen vorgeschlagen.
Das besondere Merkmal des im Artikel vorgestellten Handelssystems besteht in der Verwendung mathematischer Werkzeuge für die Analyse von Börsenkursen. Im System werden digitale Filter und die Spektralschätzung diskreter Zeitreihen verwendet. Es werden theoretische Aspekte der Strategie beschrieben und ein Expert Advisor für das Testen der Strategie erstellt.
In diesem Artikel geht es in erster Linie um die Klassen CExpertAdvisor und CExpertAdvisors, die als Container für alle anderen in dieser Artikelserie beschriebenen Komponenten im Hinblick auf einen plattformübergreifende Expert Advisor dienen.
Dieser Artikel beschreibt, wie nutzerdefinierte Stopps in einem plattformübergreifenden Expert Advisor eingerichtet werden können. Darüber hinaus wird eine eng verwandte Methode diskutiert, mit der das Nachziehen von Stopps für die Dauer einer Position entwickelt werden können.
Eine neue Version der Grafikbibliothek zum Erstellen wissenschaftlicher Diagramme (die Klasse CGraphic) wurde vor Kurzen veröffentlicht. Mit dieser Aktualisierung der weiterentwickelten Bibliothek, um grafische Interfaces zu erstellen, wird eine Version mit neuem Steuerelemente zur Erstellung von Diagrammen eingeführt. Jetzt ist es noch einfacher, Daten verschiedener Typen zu visualisieren.
Dieser Artikel beschreibt eine Implementierung von Stopps in einem Experten Advisor, die mit den beiden Plattformen MetaTrader 4 und MetaTrader 5 kompatibel ist.
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.
Dieser Artikel beschreibt die Implementierung verschiedener Methoden einer Zeitfilterung für einen Cross-Plattform Expert Advisor. Die Klassen der Zeitfilter sind verantwortlich für die Prüfung, ob ein bestimmter Zeitpunkt in eine besondere Zeitkonfiguration fällt oder nicht.
In der neuen Version der Bibliothek werden alle Steuerelemente als eigenständige Grafikobjekte des Typs OBJ_BITMAP_LABEL gezeichnet. Der Code wird auch weiterhin optimiert: die Änderungen in den Kernklassen werden beschrieben.
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.
Dieser Artikel beschreibt die Implementierung von Methoden des Geldmanagements für einen Cross-Plattform Expert Advisor. Die Klassen des Geldmanagements führen die Berechnungen der Lotgröße der nächsten Position des Expert Advisors durch.
Der achte Teil des Artikels beschreibt die Klasse CSymbol, ein spezielles Objekt, das Zugriff auf ein Handelssymbol ermöglicht. Wenn diese Klasse in einen Expert Advisor miteibezogen wird, bietet sie eine breite Palette von Symboleigenschaften und macht die Programmierung von Expert Advisors noch einfacher und multifuktionaler.
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.
Die von Bill Wolfe vorgeschlagene Methode hilft nicht nur ein Muster zu erkennen und somit den Moment und die Richtung des Einstiegs zu bestimmen, sondern auch das Ziel vorherzusagen, das der Preis erreichen muss sowie die Zeit des Erreichens. Der Artikel beschreibt die Erstellung eines Indikator für die Erkennung der Wolfe Wellen basierend auf dem ZigZag Indikator sowie einen einfachen Expert Advisor, der nach seinen Signalen handelt.
Im Artikel wurde der Prozess der Entwicklung und der Realisierung des Klasse-Signalgebers auf der Grundlage der Pivots dargestellt — der Wendeebenen. Auf der Grundlage dieser Klasse wird die Strategie unter Verwendung der Standardbibliothek gebaut. Es werden die Möglichkeiten der Entwicklung der Pivots-Strategie durch das Hinzufügen der Filter betrachtet.
Wir fahren fort mit der Entwicklung eines mehrzeiligen Textfeldes. Diesmal ist es unsere Aufgabe einen Algorithmus für den Fall, dass der Text die Breite des Textfeldes überschreitet, zu entwickeln oder, umgekehrt, einen Zeilenumbruch zu entfernen, wenn die möglich ist.
Wir fahren fort neue Elemente der Tabellendarstellung hinzuzufügen: Datensortierung, Handhabung der Zahl der Spalten und Zeilen, Setzen des Zelltyps, um dort auch Steuerelemente eintragen zu können.
Wir fahren fort neue Elemente der Tabellendarstellung hinzuzufügen (CCanvasTable). Eine Tabelle ist nun in der Lage: die Zeile unter der Maus hervorzuheben; eine Liste von Icons einer Zelle zuzuweisen und eine Methode aus der Liste ein Icon auszuwählen; die Möglichkeit während der Laufzeit Text einer Zelle zu setzen, zu verändern und noch mehr.
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.
Beschreibung eines mehrzeiligen Textfeldes. Anders als bei Grafikobjekten des Typs OBJ_EDIT ist die vorgestellte Version nicht durch eine Anzahl von Buchstaben beschränkt. Es gibt auch die Funktionen eines einfachen Editors, mit einem durch Maus oder Tasten bewegten Kursor.
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.