Artikel über das Testen von Strategien in MQL5

icon

Wie wird eine Handelsstrategie entwickelt, geschrieben und getestet, wie findet man optimale Systemparameter und analysiert Ergebnisse? Die Plattform MetaTrader bietet den Programmierern von Handelsrobotern viele Möglichkeiten, Handelideen schnell und präzise zu testen.  Erfahren Sie, wie Handelsroboter für mehrere Währungspaare getestet werden und wie man MQL5 Cloud Network für Optimierung nutzen kann.

Die Programmierer automatischer Handelssysteme können mit den Grundlagen des Testens und den Algorithmen der Tickgenerierung im Strategietester beginnen.

Neuer Artikel
letzte | beste
preview
Blood inheritance optimization (BIO)

Blood inheritance optimization (BIO)

Ich stelle Ihnen meinen neuen Algorithmus zur Populationsoptimierung vor – Blood Inheritance Optimization (BIO), inspiriert durch das menschliche Blutgruppenvererbungssystem. Bei diesem Algorithmus hat jede Lösung ihre eigene „Blutgruppe“, die bestimmt, wie sie sich weiterentwickelt. Wie in der Natur, wo die Blutgruppe eines Kindes nach bestimmten Regeln vererbt wird, erhalten neue Lösungen in BIO ihre Eigenschaften durch ein System von Vererbung und Mutationen.
preview
Vom Einsteiger zum Experten: Entwicklung einer Liquiditätsstrategie

Vom Einsteiger zum Experten: Entwicklung einer Liquiditätsstrategie

Liquiditätszonen werden üblicherweise gehandelt, indem man darauf wartet, dass der Kurs zurückkehrt und die Zone von Interesse erneut testet, oft durch die Platzierung von Pending Orders innerhalb dieser Bereiche. In diesem Artikel setzen wir MQL5 ein, um dieses Konzept praktisch umzusetzen. Wir zeigen, wie solche Zonen programmatisch identifiziert werden können und wie das Risikomanagement systematisch angewendet werden kann. Nehmen Sie an der Diskussion teil, in der wir sowohl die Logik hinter dem liquiditätsbasierten Handel als auch seine praktische Umsetzung untersuchen.
preview
Entwicklung eines Expert Advisors für mehrere Währungen (Teil 21): Vorbereitungen für ein wichtiges Experiment und Optimierung des Codes

Entwicklung eines Expert Advisors für mehrere Währungen (Teil 21): Vorbereitungen für ein wichtiges Experiment und Optimierung des Codes

Um weitere Fortschritte zu erzielen, wäre es gut zu sehen, ob wir die Ergebnisse verbessern können, indem wir die automatische Optimierung in regelmäßigen Abständen erneut durchführen und einen neuen EA erstellen. Der Stolperstein in vielen Debatten über den Einsatz der Parameteroptimierung ist die Frage, wie lange die erhaltenen Parameter für den Handel in der Zukunft verwendet werden können, während die Rentabilität und der Drawdown auf dem vorgegebenen Niveau bleiben. Und ist das überhaupt möglich?
preview
Marktsimulation (Teil 19): Erste Schritte mit SQL (II)

Marktsimulation (Teil 19): Erste Schritte mit SQL (II)

Wie wir im ersten Artikel über SQL erklärt haben, ist es sinnlos, Zeit in die Programmierung von Prozeduren zu investieren, um das zu tun, was bereits in SQL integriert ist. Ohne die Grundlagen zu kennen, werden Sie jedoch nicht in der Lage sein, irgendetwas mit SQL zu tun oder die Vorteile dieses Tools voll auszuschöpfen. In diesem Artikel werden wir uns daher ansehen, wie man grundlegende Aufgaben in Datenbanken durchführt.
preview
Marktsimulation (Teil 15): Sockets (IX)

Marktsimulation (Teil 15): Sockets (IX)

In diesem Artikel besprechen wir eine der möglichen Lösungen für das, was wir versucht haben zu demonstrieren, nämlich wie man es einem Excel-Nutzer ermöglicht, eine Aktion in MetaTrader 5 auszuführen, ohne Aufträge zu senden oder Positionen zu öffnen oder zu schließen. Die Idee ist, dass der Nutzer Excel verwendet, um eine fundamentale Analyse eines bestimmten Symbols durchzuführen. Und allein mit Excel lässt sich ein in MetaTrader 5 laufender Expert Advisor anweisen, eine bestimmte Position zu eröffnen oder zu schließen.
preview
Marktsimulation (Teil 18): Erste Schritte mit SQL (I)

Marktsimulation (Teil 18): Erste Schritte mit SQL (I)

Es spielt keine Rolle, welches SQL-Programm wir verwenden: MySQL, SQL Server, SQLite, OpenSQL oder andere. Allen gemeinsam ist die Sprache SQL. Auch wenn wir nicht vorhaben, Workbench zu verwenden, können wir die Datenbank direkt in MetaEditor oder über MQL5 manipulieren oder mit ihr arbeiten, um Aktionen in MetaTrader 5 auszuführen, aber dazu benötigen Sie SQL-Kenntnisse. Hier werden wir also zumindest die Grundlagen lernen.
preview
Entwicklung eines Multi-Currency Expert Advisors (Teil 26): Informer für Handelsinstrumente

Entwicklung eines Multi-Currency Expert Advisors (Teil 26): Informer für Handelsinstrumente

Bevor wir mit der Entwicklung von Mehrwährungs-EAs fortfahren, wollen wir versuchen, ein neues Projekt mit der entwickelten Bibliothek zu erstellen. In diesem Beispiel wird gezeigt, wie man die Speicherung von Quellcode am besten organisiert und wie das neue Code-Repository von MetaQuotes uns dabei helfen kann.
preview
Marktsimulation (Teil 16): Sockets (X)

Marktsimulation (Teil 16): Sockets (X)

Wir sind kurz davor, diese Herausforderung abzuschließen. Bevor wir jedoch beginnen, möchte ich, dass Sie versuchen, diese beiden Artikel zu verstehen – diesen und den vorherigen. Auf diese Weise werden Sie den nächsten Artikel wirklich verstehen, in dem ich ausschließlich den Teil behandeln werde, der mit der MQL5-Programmierung zusammenhängt. Aber ich werde auch versuchen, es verständlich zu machen. Wenn Sie diese beiden letzten Artikel nicht verstehen, wird es Ihnen schwer fallen, den nächsten zu verstehen, denn der Stoff häuft sich. Je mehr Dinge es zu tun gibt, desto mehr muss man schaffen und verstehen, um das Ziel zu erreichen.
preview
Battle Royale Optimizer (BRO)

Battle Royale Optimizer (BRO)

Der Artikel untersucht den Algorithmus Battle Royale Optimizer – eine Metaheuristik, bei der Lösungen mit ihren nächsten Nachbarn konkurrieren, „Schaden“ anhäufen, ersetzt werden, wenn ein Schwellenwert überschritten wird, und den Suchraum um die aktuell beste Lösung herum regelmäßig verkleinern. Es werden sowohl Pseudocode als auch eine MQL5-Implementierung der Klasse C_AO_BRO vorgestellt, einschließlich Nachbarschaftssuche, Bewegung in Richtung der besten Lösung und eines adaptiven Delta-Intervalls. Die Testergebnisse für die Funktionen „Hilly“, „Forest“ und „Megacity“ zeigen die Stärken und Grenzen des Ansatzes auf. Der Leser erhält eine gebrauchsfertige Grundlage für Experimente und die Einstellung wichtiger Parameter wie popSize und maxDamage.
preview
MetaTrader 5 und der MQL5-Wirtschaftskalender: Wie sich News in ein reproduzierbares Handelssystem umwandeln lassen

MetaTrader 5 und der MQL5-Wirtschaftskalender: Wie sich News in ein reproduzierbares Handelssystem umwandeln lassen

Der Artikel stellt einen systematischen Ansatz für den Handel mit Nachrichten in MetaTrader 5 unter Verwendung des integrierten Wirtschaftskalenders vor: Datenstruktur, API-Funktionen, Zeitsynchronisationsregeln und Ereignisfilterung. Es werden Methoden zur Zwischenspeicherung und inkrementellen Aktualisierung ohne Überlastung des Servers beschrieben. Der Artikel beschreibt außerdem einen funktionsfähigen Mechanismus für den Export historischer Ereignisse in eine .EX5-Ressource für deterministische Tests mit demselben Algorithmus.
preview
Marktsimulation (Teil 17): Sockets (XI)

Marktsimulation (Teil 17): Sockets (XI)

Die Implementierung des Teils des Codes, der in MetaTrader 5 ausgeführt werden soll, ist unproblematisch. Es gibt jedoch einige Punkte, die berücksichtigt werden müssen. Das ist notwendig, damit das System korrekt funktioniert. Denken Sie an einen wichtigen Punkt: Es läuft nicht nur ein einziges Programm. Tatsächlich müssen drei Programme gleichzeitig ausgeführt werden. In Wirklichkeit müssen drei Programme gleichzeitig laufen. Es ist wichtig, sie so zu implementieren und zu strukturieren, dass sie miteinander interagieren und kommunizieren können und dass jedes von ihnen versteht, was die anderen tun oder beabsichtigen.
preview
Marktsimulation (Teil 13): Sockets (VII)

Marktsimulation (Teil 13): Sockets (VII)

Wenn wir etwas in xlwings oder einem anderen Paket entwickeln, das das Lesen und Schreiben direkt in Excel ermöglicht, müssen wir beachten, dass alle Programme, Funktionen oder Prozeduren ausgeführt werden und dann ihre Aufgabe beenden. Sie bleiben nicht in einer Schleife, egal wie sehr wir uns bemühen, die Dinge anders zu machen.
preview
Entwicklung des Price Action Analysis Toolkit (Teil 57): Ein Modul zur Klassifizierung von Marktzuständen in MQL5

Entwicklung des Price Action Analysis Toolkit (Teil 57): Ein Modul zur Klassifizierung von Marktzuständen in MQL5

In diesem Artikel wird ein Modul zur Klassifizierung von Marktzuständen für MQL5 entwickelt, das das Preisverhalten anhand abgeschlossener Preisdaten interpretiert. Durch die Analyse von Volatilitätskontraktion, -expansion und struktureller Konsistenz klassifiziert das Tool die Marktbedingungen als Kompression, Transition, Expansion oder Trend und bietet so einen klaren kontextuellen Rahmen für die Price-Action-Analyse.
preview
Chaos-Optimierungsalgorithmus (COA): Fortsetzung

Chaos-Optimierungsalgorithmus (COA): Fortsetzung

Wir setzen die Untersuchung des chaotischen Optimierungsalgorithmus fort. Der zweite Teil des Artikels befasst sich mit den praktischen Aspekten der Implementierung des Algorithmus, seinen Tests und Schlussfolgerungen.
preview
Der MQL5 Standard Library Explorer (Teil 6): Optimierung eines generierten Expert Advisors

Der MQL5 Standard Library Explorer (Teil 6): Optimierung eines generierten Expert Advisors

In dieser Diskussion knüpfen wir an den zuvor entwickelten Multi-Signal-Expert Advisor an, mit dem Ziel, verfügbare Optimierungsmethoden zu erforschen und anzuwenden. Ziel ist es, festzustellen, ob die Handelsleistung des EA durch systematische Optimierung auf Basis historischer Daten sinnvoll verbessert werden kann.
preview
Entwicklung des Price Action Analysis Toolkit (Teil 58): Modul zur Analyse der Spannenverengung und Reifegradklassifizierung

Entwicklung des Price Action Analysis Toolkit (Teil 58): Modul zur Analyse der Spannenverengung und Reifegradklassifizierung

Aufbauend auf dem vorangegangenen Artikel, in dem das Modul zur Klassifizierung des Marktzustands vorgestellt wurde, konzentriert sich dieser Teil auf die Implementierung der Kernlogik zur Identifizierung und Bewertung von Kompressionszonen. Vorgestellt wird ein MQL5-System zur Erkennung von Range-Kontraktionen und zur Einstufung ihres Reifegrads, das Marktkompression ausschließlich anhand des Kursverlaufs analysiert.
preview
Marktsimulation (Teil 20): Erste Schritte mit SQL (III)

Marktsimulation (Teil 20): Erste Schritte mit SQL (III)

Obwohl wir Operationen mit einer Datenbank mit etwa 10 Datensätzen durchführen können, lässt sich das Thema deutlich besser verstehen, wenn wir mit einer Datei arbeiten, die mehr als 15 Tausend Datensätze enthält. Das heißt, wenn wir versuchen würden, eine solche Datenbank manuell zu erstellen, wäre dies ein enormer Aufwand. Es ist jedoch selbst zu Lernzwecken schwierig, eine solche Datenbank zum Download zu finden. Aber in Wirklichkeit müssen wir nicht darauf zurückgreifen – wir können MetaTrader 5 verwenden, um eine Datenbank für uns zu erstellen. Im heutigen Artikel werden wir uns ansehen, wie man das macht.
preview
Marktsimulation (Teil 24): Erste Schritte mit SQL (VII)

Marktsimulation (Teil 24): Erste Schritte mit SQL (VII)

Im vorherigen Artikel haben wir die notwendige Einführung in SQL abgeschlossen. Und meiner Meinung nach haben wir klar dargelegt, was wir über SQL zeigen und erklären wollten. Dies geschah, damit sich jeder, der sich das derzeit im Aufbau befindliche Markt-Replay-/Simulationssystem ansieht, zumindest ein Bild davon machen kann, was dort vor sich geht. Der Punkt ist, dass es keinen Sinn ergibt, Funktionen selbst zu programmieren, die SQL bereits perfekt übernimmt.
preview
Marktsimulation (Teil 23): Erste Schritte mit SQL (VI)

Marktsimulation (Teil 23): Erste Schritte mit SQL (VI)

In diesem Artikel werden wir sehen, wie man eine Datenbank visualisiert und daraus ihre Struktur versteht. Dies geschieht durch die Analyse ihrer internen Struktur. Auch wenn dies auf den ersten Blick unnötig erscheinen mag, ist es durchaus gerechtfertigt, wenn wir wirklich Datenbankadministratoren werden wollen. Schließlich verdienen manche Menschen ihren Lebensunterhalt damit, Datenbanken zu pflegen und zu entwerfen.
preview
Die MQL5-Standardbibliothek im Überblick (Teil 8): Ein hybrides Handelsjournal mit CFileTxt

Die MQL5-Standardbibliothek im Überblick (Teil 8): Ein hybrides Handelsjournal mit CFileTxt

In diesem Artikel befassen wir uns mit den Dateiverarbeitungsklassen der MQL5-Standardbibliothek, um ein robustes Reporting-Modul zu entwickeln, das automatisch Excel-kompatible CSV-Dateien generiert. Dabei unterscheiden wir klar zwischen manuell ausgeführten Trades und algorithmisch ausgeführten Orders und schaffen damit die Grundlage für ein zuverlässiges, auditierbares Trade-Reporting.
preview
Swing-Extreme und Pullbacks in MQL5 (Teil 2): Automatisierung der Strategie mit einem Expert Advisor

Swing-Extreme und Pullbacks in MQL5 (Teil 2): Automatisierung der Strategie mit einem Expert Advisor

Der Indikator basiert auf der Marktstruktur niedrigerer Zeitrahmen und wird anschließend im höheren Zeitrahmen eingeordnet. Er erkennt Swing-Extreme, bei denen der Kurs statistisch gesehen anfällig für eine Trendumkehr wird. Er visualisiert Überdehnungs- und Rücksetzerbereiche und bietet so einen frühen Einblick in das Mean-Reversion-Verhalten.
preview
Vom Neuling zum Experten:  Erweiterung einer Liquiditätsstrategie mit Trendfiltern

Vom Neuling zum Experten: Erweiterung einer Liquiditätsstrategie mit Trendfiltern

Der Artikel erweitert eine liquiditätsbasierte Strategie um einen einfachen Trendfilter: Liquiditätszonen sollen nur in Richtung des EMA(50) gehandelt werden. Darin werden Filterregeln erläutert, die wiederverwendbare Klasse „TrendFilter.mqh“ sowie die EA-Integration in MQL5 vorgestellt und Tests mit und ohne Filter miteinander verglichen. Die Leser profitieren von einer klaren Trendorientierung, weniger übermäßigen Handelsaktivitäten in Gegentrendphasen und einsatzbereiten Quelldateien.