In diesem Artikel werden wir lernen, wie man Expert Advisors (EAs) erstellt, die sowohl in MetaTrader 4 als auch in MetaTrader 5 arbeiten. Zu diesem Zweck werden wir ein EA entwickeln, der Auftragsraster (grids) erstellt. Raster-EAs oder Grider sind EAs, die mehrere Limit-Orders über dem aktuellen Preis und gleichzeitig die gleiche Anzahl von Limit-Orders unter ihm platzieren.
Eine umfassende Datenverarbeitung erfordert umfangreiche Werkzeuge und geht oft über den Sandkasten (Sandbox) einer einzigen Anwendung hinaus. Für die Verarbeitung und Analyse von Daten, Statistiken und maschinellem Lernen werden spezielle Programmiersprachen verwendet. Eine der führenden Programmiersprachen für die Datenverarbeitung ist Python. Der Artikel enthält eine Beschreibung, wie man MetaTrader 5 und Python über Sockets verbindet und wie man Kurse über die Terminal-API erhält.
Der Artikel beschreibt eine universelle Methode zur Analyse und Konvertierung von Daten aus HTML-Dokumenten auf Basis von CSS-Selektoren. Handelsberichte, Testerberichte, Ihren bevorzugten Wirtschaftskalender, öffentliche Signale, Kontoüberwachung und zusätzliche Online-Kursquellen werden direkt mit MQL verfügbar gemacht.
Im ersten Teil der Artikelserie habe ich einen modifizierten ZigZag-Indikator und eine Klasse zum Empfangen von Daten dieser Art von Indikatoren beschrieben. Hier werde ich zeigen, wie man Indikatoren entwickelt, die auf diesen Tools basieren, und ein EA für Tests schreiben, der gemäß den Signalen des ZigZag-Indikators handelt. Als Ergänzung wird der Artikel eine neue Version der Bibliothek EasyAndFast zur Entwicklung grafischer Benutzeroberflächen vorstellen.
Viele Forscher schenken dem Erkennen des Preisverhaltens nicht genügend Aufmerksamkeit. Gleichzeitig werden komplexe Methoden eingesetzt, die sehr oft nur "Black Boxes" sind, wie z.B. maschinelles Lernen oder neuronale Netze. Die wichtigste Frage, die sich in diesem Fall stellt, ist, welche Daten für das Training eines bestimmten Modells vorgelegt werden müssen.
In diesem Artikel werden wir uns ausführlich mit dem Martingal-System befassen. Wir werden prüfen, ob dieses System im Handel eingesetzt werden kann und wie es zur Risikominimierung eingesetzt werden kann. Der Hauptnachteil dieses einfachen Systems ist die Wahrscheinlichkeit, dass die gesamte Einlage verloren geht. Diese Tatsache muss berücksichtigt werden, wenn Sie sich entscheiden, mit der Martingaltechnik zu handeln.
Basierend auf universellen Tools, die für die Arbeit mit Kohonen-Netzwerken entwickelt wurden, konstruieren wir das System zur Analyse und Auswahl der optimalen EA-Parameter und besprechen die Vorhersage von Zeitreihen. In Teil I haben wir die öffentlich zugänglichen neuronalen Netzwerkklassen korrigiert und verbessert, indem wir notwendige Algorithmen hinzugefügt haben. Jetzt ist es an der Zeit, sie praktisch anzuwenden.
Im Artikel werden wir das Reinforcement-Learning (Verstärkungslernen) anwenden, um selbstlernende Expert Advisors zu entwickeln. Im vorherigen Artikel haben wir den Algorithmus Random Decision Forest betrachtet und einen einfachen, selbstlernenden EA geschrieben, der auf dem Reinforcement-Learning basiert. Die Hauptvorteile eines solchen Ansatzes (Einfachheit der Entwicklung von Handelsalgorithmen und hohe "Trainings"-Geschwindigkeit) wurden erläutert. Reinforcement-Learning (RL) lässt sich leicht in jedes Trading EA integrieren und beschleunigt dessen Optimierung.
Der Artikel betrachtet das separate Optimieren unter verschiedenen Marktbedingungen. Separates Optimieren bedeutet, die optimalen Parameter des Handelssystems zu definieren, indem man für einen Aufwärtstrend und einen Abwärtstrend getrennt optimiert. Um die Wirkung von Fehlsignalen zu reduzieren und die Rentabilität zu verbessern, werden die Systeme flexibel gestaltet, d.h. sie verfügen über einen bestimmten Satz von Einstellungen oder Eingangsdaten, was gerechtfertigt ist, da sich das Marktverhalten ständig ändert.
Der vorliegende Artikel entwickelt die Idee, die Kohonen-Netzen in MetaTrader 5 zu Verwenden, was aber auch in einigen früheren Publikationen behandelt wurde. Die verbesserten und erweiterten Klassen bieten Werkzeuge zur Lösung von Anwendungsaufgaben.
Der Artikel beschreibt den Algorithmus, um die Kerzenmuster von OpenCL für den Tester im Modus "1 Minute OHLC" zu implementieren. Wir werden auch die Geschwindigkeiten des integrierten Strategietesters, gestartet in schnellen und langsamen Modi, vergleichen.
Dies ist der letzte Artikel innerhalb der Serie, der sich mit der Strategie des Umkehrhandels beschäftigt. Hier werden wir versuchen, das Problem zu lösen, das die Instabilität der Testergebnisse in früheren Artikeln verursacht hat. Wir werden auch unseren eigenen Algorithmus für den manuellen Handel in jedem Markt mit der Reverse-Strategie entwickeln und testen.
Dieser Artikel ist eine Fortsetzung des vorherigen: "Umkehrmuster: Testen des Musters Doppelspitze/Doppelboden". Nun werden wir uns ein weiteres, bekanntes Umkehrmuster namens Kopf und Schulter ansehen, die Handelseffizienz der beiden Muster vergleichen und sie zu einem einzigen Handelssystem kombinieren.
Händler suchen oft nach Trendwendepunkten, da der Preis das größte Bewegungspotenzial zu Beginn eines neu gebildeten Trends hat. Folglich werden in der technischen Analyse verschiedene Umkehrmuster beschrieben. Doppelspitze/Doppelboden ist einer der bekanntesten und am häufigsten verwendeten. Der Artikel schlägt das Verfahren einer programmgesteuerten Mustererkennung vor. Es wird auch die Rentabilität des Musters anhand von Verlaufsdaten getestet.
In diesem Artikel führen wir die Umkehrtechnik weiter. Wir werden versuchen, den maximalen Saldorückgang auf ein akzeptables Niveau für die zuvor betrachteten Instrumente zu reduzieren. Wir werden sehen, ob die Maßnahmen den Gewinn verringern. Wir werden auch prüfen, wie sich die Umkehrmethode auf anderen Märkten, einschließlich Aktien-, Rohstoff-, Index-, ETF- und Agrarmärkten, bewährt. Achtung, der Artikel enthält viele Bilder!
Der Artikel beschäftigt sich mit Kurslücken (gaps) - signifikante Unterschiede zwischen dem Schlusskurs des vorherigen Balkens und dem Eröffnungskurs des darauf folgenden sowie auf der Prognose der Richtung des Tagesbalkens. Die Anwendung der Funktion GetOpenFileName durch die System-DLL wird ebenfalls besprochen.
Der Hauptvorteil der Handelsroboter liegt in der Möglichkeit, dass sie 24 Stunden am Tag auf einem entfernten VPS-Server arbeiten. Aber manchmal ist es notwendig, in ihre Arbeit einzugreifen, ohne dass es einen direkten Zugriff auf den Server gibt. Ist es möglich, EAs fernzusteuern? Der Artikel schlägt eine der Möglichkeiten vor, EAs über externe Befehle zu steuern.
Der Artikel beschäftigt sich mit der Entwicklung einer Anwendung zur Auswahl der besten Optimierungsdurchläufe unter Verwendung mehrerer möglicher Optionen. Die Anwendung ist in der Lage, die Optimierungsergebnisse nach einer Vielzahl von Faktoren zu sortieren. Optimierungsläufe werden immer in eine Datenbank geschrieben, so dass Sie jederzeit neue Roboterparameter ohne erneute Optimierung auswählen können. Außerdem können Sie alle Optimierungsdurchläufe in einem einzigen Diagramm sehen, parametrische VaR-Kennzahlen berechnen und die Grafik der Normalverteilung von Durchgängen und Handelsergebnissen einer Reihe bestimmter Verhältnisse erstellen. Außerdem werden die Diagramme einiger berechneter Verhältnisse dynamisch erstellt, beginnend mit dem Optimierungsstart (oder von einem ausgewählten Datum zu einem anderen ausgewählten Datum).
In diesem Artikel werden wir die umkehrende Martingaltechnik studieren und versuchen zu verstehen, ob es sich lohnt, sie zu verwenden, sowie, ob sie helfen kann, Ihre Handelsstrategie zu verbessern. Wir werden einen Expert Advisor einrichten, der mit historischen Daten arbeitet und prüft, welche Indikatoren für die Umkehrtechnik am besten geeignet sind. Wir werden auch prüfen, ob es ohne Indikator als unabhängiges Handelssystem eingesetzt werden kann. Darüber hinaus werden wir prüfen, ob die Umkehrung ein verlustbringendes Handelssystem in ein profitables umwandeln kann.
Der Artikel gibt einen Überblick über die Möglichkeiten des Terminals zum Erstellen und Arbeiten mit nutzerdefinierten Symbolen, bietet Optionen zur Simulation einer Handelshistorie mit nutzerdefinierten Symbolen, Trend- und verschiedenen Chartmustern.
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.
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?
Der Artikel betrachtet drei Methoden, die zur Erhöhung der Klassifizierungsqualität von Ensembles mit Bagging eingesetzt werden können, und schätzt deren Effizienz. Die Auswirkungen der Optimierung der Hyperparameter des neuronalen ELM-Netzwerkes und der Nachbearbeitungsparameter werden bewertet.
Mitglieder des offiziellen MetaTrader Freelance-Service haben bis Oktober 2018 mehr als 50.000 Aufträge ausgeführt. Dies ist die weltweit größte Freelance-Website für MQL-Programmierer: mehr als tausend Entwickler, Dutzende neuer Aufträge täglich und 7 Sprachlokalisierungen.
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.
Wir erstellen weitere Ensembles. Diesmal wird das zuvor mittels Bagging geschaffene Ensemble durch einen trainierbaren Kombinator (Combiner) - ein tiefes neuronales Netzwerk - ergänzt. Ein neuronales Netz kombiniert die 7 besten Ensemble-Ergebnisse nach der Bereinigung (pruning). Der zweite nimmt alle 500 Ausgänge des Ensembles als Input, bereinigt sie und kombiniert sie neu. Die neuronalen Netze werden mit dem keras/TensorFlow-Paket für Python aufgebaut. Die Eigenschaften des Pakets werden kurz erläutert. Es werden Tests durchgeführt und die Klassifizierungsqualität der Ensembles mit Bagging und Stacking verglichen.
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.
Der Artikel untersucht die Vor- und Nachteile des Handels in Seitwärtsbewegungen. Die zehn in diesem Artikel entwickelten und getesteten Strategien basieren auf der Verfolgung von Preisbewegungen innerhalb eines Kanals. Jede Strategie ist mit einem Filtermechanismus ausgestattet, der darauf abzielt, falsche Markteintrittssignale zu vermeiden.
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.
Dieser Artikel stellt einen visuellen Strategieentwickler vor. Es wird gezeigt, wie jeder Nutzer einen Handelsroboter oder ein Hilfsprogramm ohne zu programmieren, erstellen kann. Der erstellte Expert Advisor ist voll funktionsfähig und kann im Strategie-Tester getestet, in der Cloud optimiert oder auf einem realen Konto ausgeführt werden.
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.
Dies ist eine Fortsetzung der Idee der Verarbeitung und Analyse von Optimierungsergebnissen. Diesmal geht es darum, die 100 besten Optimierungsergebnisse auszuwählen und in einer GUI-Tabelle darzustellen. Der Benutzer kann eine Zeile in der Optimierungsergebnistabelle auswählen und erhält ein Saldo mehrerer Symbole und eine Drawdown-Grafik auf einer eigenen Seite.
Der Artikel schlägt eine Technologie vor, die jedem helfen kann, eine eigene Handelsstrategie durch die individuelle Auswahl von Indikatoren sowie den zu entwickelnden Signalen für die Positionseröffnung zu entwickeln.
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.
Der Artikel beschäftigt sich mit der Möglichkeit, die Bayes'sche Optimierung auf Hyperparameter von tiefen neuronalen Netzen anzuwenden, die durch verschiedene Trainingsvarianten gewonnen werden. Die Klassifikationsqualität eines DNN mit den optimalen Hyperparametern in verschiedenen Trainingsvarianten wird verglichen. Die Tiefe der Effektivität der optimalen DNN-Hyperparameter wurde in Vorwärtstests überprüft. Die möglichen Richtungen zur Verbesserung der Klassifizierungsqualität wurden festgelegt.
Der Artikel implementiert eine MQL-Anwendung mit einem grafischen Interface zur erweiterten Darstellung der Optimierung. Das grafische Interface verwendet die letzte Version der Bibliothek EasyAndFast. Viele Anwender fragen sich, warum MQL-Anwendungen überhaupt grafische Interfaces benötigen. Dieser Artikel zeigt einen von mehreren Fällen, die für Händler nützlich sein können.
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.