Trainieren des Klassifikators CatBoost in Python und Exportieren des Modells nach mql5, sowie Parsen der Modellparameter und eines nutzerdefinierten Strategietesters. Die Python-Sprache und die MetaTrader 5-Bibliothek werden zur Vorbereitung der Daten und zum Training des Modells verwendet.
In diesem Artikel werden wir die Möglichkeiten der Werkzeuge erweitern: Wir werden die Möglichkeit hinzufügen, Handelspositionen unter bestimmten Bedingungen zu schließen, und wir werden Tabellen zur Kontrolle von Markt-Aufträgen und Pending-Orders erstellen, mit der Möglichkeit, diese Aufträge zu bearbeiten.
Heutzutage wechseln viele Händler zu automatisierten Handelssystemen, die eine zusätzliche Einrichtung erfordern oder vollständig automatisiert und einsatzbereit sein können. Es gibt jedoch einen beträchtlichen Teil der Händler, die es vorziehen, auf die altmodische Art und Weise manuell zu handeln. In diesem Artikel erstellen wir "Market Order" (Marktorder) das Toolkit für den schnellen manuellen Handel, für die Verwendung von Hotkeys und für die Durchführung typischer Handelsaktionen mit einem Klick.
Dies ist der erste Artikel in einer Serie, in der ich ein Werkzeug beschreiben werde, das die manuelle Verwendung von Chartgrafiken mit Hilfe von Tastaturkürzeln ermöglicht. Es ist sehr praktisch: man drückt eine Taste und eine Trendlinie erscheint, drückt man eine andere Taste — so entsteht ein Fibonacci-Fächer mit den benötigten Parametern. Es wird auch möglich sein, den Zeitrahmen zu wechseln, die Ebenen neu anzuordnen oder alle Objekte aus dem Diagramm zu löschen.
Im fünften Artikel, der sich auf die Schaffung eines Handelssignalmonitors bezieht, werden wir zusammengesetzte Signale betrachten und die notwendige Funktionalität implementieren. In früheren Versionen verwendeten wir einfache Signale, wie RSI, WPR und CCI, und wir führten auch die Möglichkeit ein, nutzerdefinierte Indikatoren zu verwenden.
In diesem Teil erweitern wir das System zur Suche und Bearbeitung von Handelssignalen und führen die Möglichkeit ein, benutzerdefinierte Indikatoren zu verwenden und Programmlokalisierung hinzuzufügen. Zuvor haben wir ein Basissystem für die Suche nach Signalen geschaffen, das jedoch auf einem kleinen Satz von Indikatoren und einem einfachen Satz von Suchregeln basierte.
Im vorherigen Artikel haben wir den visuellen Teil der Anwendung sowie die grundlegende Interaktion der GUI-Elementen entwickelt. Diesmal fügen wir die interne Logik und den Algorithmus der Vorbereitung der Handelssignaldaten hinzu, sowie die Fähigkeit, Signale einzurichten, sie zu durchsuchen und auf dem Monitor zu visualisieren.
Der Artikel bietet grundlegende Werkzeuge für die OLAP-Analyse von Testberichten in Bezug auf einzelne Durchläufe und Optimierungsergebnisse. Das Werkzeug kann mit Dateien im Standardformat (tst und opt) arbeiten und bietet auch eine grafische Schnittstelle. MQL-Quellcodes sind unten angefügt.
Ein großes Programm beginnt mit einer kleinen Datei, die dann immer größer wird, je mehr Funktionen und Objekte Sie hinzufügen. Die meisten Roboterentwickler verwenden Include-Dateien, um dieses Problem zu lösen. Es gibt jedoch eine bessere Lösung: Beginnen Sie mit der Entwicklung einer beliebigen Handelsanwendung in einem Projekt. Es gibt so viele Gründe, dies zu tun.
Im vorigen Artikel haben wir den Anwendungsrahmen geschaffen, den wir als Grundlage für alle weiteren Arbeiten verwenden werden. In diesem Teil werden wir mit der Entwicklung fortfahren: Wir werden den visuellen Teil der Anwendung erstellen und die grundlegende Interaktion der Oberflächenelemente konfigurieren.
Die Entwicklung von Handelsstrategien ist mit dem Umgang mit großen Datenmengen verbunden. Jetzt können Sie mit Datenbanken mit SQL-Abfragen auf der Basis von SQLite direkt in MQL5 arbeiten. Ein wichtiges Merkmal dieser Engine ist, dass die gesamte Datenbank in einer einzigen Datei auf dem PC des Benutzers abgelegt wird.
In diesem Artikel werden wir die saisonalen Charakteristika von Finanzzeitreihen mit Hilfe von Boxplot-Diagrammen betrachten. Jedes separate Boxplot (oder Box-and-Whiskey-Diagramm) bietet eine gute Visualisierung der Verteilung von Werten entlang des Datensatzes. Boxplots sollten nicht mit den Kerzencharts verwechselt werden, obwohl sie visuell ähnlich aussehen.
In den beiden vorangegangenen Artikeln haben wir die Anwendung von Merrill-Mustern auf verschiedene Datentypen diskutiert. Es wurde eine Anwendung entwickelt, um die vorgestellten Ideen zu testen. In diesem Artikel werden wir die Arbeit mit dem Strategy Builder fortsetzen, um seine Effizienz zu verbessern und neue Funktionen und Fähigkeiten zu implementieren.
Dieser Artikel stellt den Pivot Mean Oscillator (PMO) vor, eine Implementierung des kumulativen Moving Average (CMA) als Handelsindikator für die MetaTrader-Plattformen. Insbesondere führen wir zunächst Pivot Mean (PM) als Normalisierungsindex für Zeitreihen ein, der den Bruchteil zwischen einem beliebigen Datenpunkt und dem CMA berechnet. Wir bilden dann den PMO als Differenz zwischen den gleitenden Durchschnitten, die auf zwei PM-Signale angewendet werden. Einige erste Experimente, die mit dem EURUSD-Symbol durchgeführt wurden, um die Wirksamkeit des vorgeschlagenen Indikators zu testen, werden ebenfalls besprochen, so dass genügend Raum für weitere Überlegungen und Verbesserungen bleibt.
Im vorherigen Artikel haben wir die Anwendung der Merill-Muster auf verschiedene Daten erwogen, wie z.B. auf einen Preiswert auf dem Chart eines Währungssymbols und auf Werte von Standard-MetaTrader-5-Indikatoren: ATR, WPR, CCI, RSI, unter anderem. Nun, lassen Sie uns versuchen, einen Strategiebaukasten zu erstellen, der auf Merill-Mustern basiert.
Ein Händler kann eine Mailing-Kampagne organisieren, um Geschäftsbeziehungen zu anderen Händlern, Abonnenten, Kunden oder Freunden zu pflegen. Außerdem kann es notwendig sein, Screenshots, Logs oder Berichte zu versenden. Dies sind vielleicht nicht die am häufigsten auftretenden Aufgaben, aber eine solche Möglichkeit ist eindeutig von Vorteil. Der Artikel beschäftigt sich mit der gleichzeitigen Nutzung mehrerer Google-Dienste, der Entwicklung einer geeigneten Assembly auf C# und der Integration mit MQL-Tools.
In diesem Artikel erstellen wir einen Expert Advisor für die automatisierte Berechnung der Losgrößen bei der Eröffnung auf Basis von Risikowerten. Auch der Expert Advisor kann TakeProfit mit dem gewählten Verhältnis zu StopLoss automatisch platzieren. Das heißt, er kann einen TakeProfit basierend auf einem beliebigen Verhältnis berechnen, z.B. 3 zu 1, 4 zu 1 oder einem anderen ausgewählten Wert.
In diesem Artikel werden wir einen Grider-EA für den Handel in einer Trendrichtung innerhalb einer Kursspanne entwickeln. Somit ist der EA vor allem für den Devisen- und Rohstoffmarkt geeignet. Nach den Tests zeigte unser Grider seit 2018 einen Gewinn. Leider gilt dies nicht für den Zeitraum 2014-2018.
Der Anwendungsbereich der Fraktionalen Differenziation ist breit genug. Beispielsweise wird in der Regel eine differenzierte Zeitreihe in maschinelle Lernalgorithmen eingegeben. Das Problem ist, dass es notwendig ist, neue Daten entsprechend der verfügbaren Historie anzuzeigen, die das Modell des maschinellen Lernens erkennen kann. In diesem Artikel werden wir einen originellen Ansatz zur Differenzierung von Zeitreihen betrachten. Der Artikel enthält zusätzlich ein Beispiel für ein selbstoptimierendes Handelssystem, das auf einer erhaltenen differenzierten Reihe basiert.
In diesem Artikel betrachten wir das Erstellen einer interaktiven grafischen Oberfläche für ein MQL-Programm, das für die Verarbeitung von Kontobewegungen und Handelsberichten mit OLAP-Techniken konzipiert ist. Für die Darstellung werden wir maximierbare und skalierbare Fenster, ein adaptives Layout der Gummikontrollen und ein neues Steuerelement für die Anzeige von Diagrammen verwenden. Damit die Darstellung funktioniert, implementieren wir eine GUI mit der Auswahl von Variablen entlang der Koordinatenachsen sowie mit der Auswahl von Aggregatfunktionen, Diagrammtypen und Sortieroptionen.
Der Artikel beschreibt, wie man einen Rahmen für die Online-Analyse von multidimensionalen Daten (OLAP) schafft, wie man diesen in MQL implementiert und wie man diese Analyse in der MetaTrader-Umgebung am Beispiel der Verarbeitung der Historie des Handelskontos anwendet.
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.
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.
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.
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.
Die Verwendung von Limit-Orders anstelle von herkömmlichen Take-Profits ist seit langem ein Diskussionsthema im Forum. Was ist der Vorteil dieses Ansatzes und wie kann er in Ihrem Handel umgesetzt werden? In diesem Artikel möchte ich Ihnen meine Vision zu diesem Thema vorstellen.
MetaTrader 5 ist eine Multi-Asset-Plattform. Darüber hinaus unterstützt sie verschiedene Positionsmanagementsysteme. Diese Möglichkeiten bieten deutlich erweiterte Möglichkeiten für die Umsetzung und Formalisierung von Handelsideen. In diesem Artikel werden Methoden zur Handhabung und Bilanzierung von Positionseigenschaften im Hedging-Modus diskutiert. Der Artikel enthält eine abgeleitete Klasse sowie Beispiele, die zeigen, wie man die Eigenschaften einer Hedge-Position abfragt und verarbeitet.
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.
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.
Mit dem Kalender bieten Webseiten einen detaillierten Zeitplan der Veröffentlichung von 500 Indikatoren und Indizes der größten Volkswirtschaften der Welt. So erhalten Händler schnell die aktuellen Informationen über alle wichtigen Ereignisse mit Erklärungen und Grafiken, zusätzlich zu den wichtigsten Inhalten der jeweiligen Webseite.
Der größte Marktplatz für fertige Anwendungen des algorithmischen Handels umfasst jetzt 13.970 Produkte. Dazu gehören 4.800 Roboter, 6.500 Indikatoren, 2.400 Hilfsprogramme und andere Lösungen. Fast die Hälfte der Anwendungen (6.000) können Sie mieten. Außerdem kann ein Viertel der Produkte (3.800) kostenlos heruntergeladen werden.
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.
Die Überwachung des Handelskontos bietet einen detaillierten Bericht über alle abgeschlossenen Geschäfte. Alle Handelsstatistiken werden automatisch gesammelt und Ihnen als leicht verständliche Diagramme und Grafiken zur Verfügung gestellt.
Dieser Artikel schließt die Serie über den Handel mit Körben von Währungspaaren ab. Diesmal testen wir das verbleibende Muster und diskutieren die Anwendung der gesamten Methode im realen Handel. Markteintritte und -austritte, die Suche nach Mustern und deren Analyse, komplexer Einsatz von kombinierten Indikatoren werden berücksichtigt.
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.
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.
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.