Gradient Boosting beim transduktiven und aktiven maschinellen Lernen
In diesem Artikel werden wir aktive Methoden des maschinellen Lernens anhand von realen Daten betrachten und ihre Vor- und Nachteile diskutieren. Vielleicht helfen Ihnen diese Methoden und Sie werden sie in Ihr Arsenal an maschinellen Lernmodellen aufnehmen. Die Transduktion wurde von Vladimir Vapnik eingeführt, der Miterfinder der Support-Vector Machine (SVM) ist.
Zeitreihen in der Bibliothek DoEasy (Teil 57): Das Datenobjekt der Indikatorpuffer
Wir entwickeln in diesem Artikel ein Objekt, das alle Daten eines Puffers für einen Indikator enthalten wird. Solche Objekte werden für die Speicherung serieller Daten von Indikatorpuffern benötigt. Mit ihrer Hilfe wird es möglich sein, Pufferdaten beliebiger Indikatoren zu sortieren und zu vergleichen, sowie andere ähnliche Daten miteinander zu vergleichen.
Neuronale Netze leicht gemacht (Teil 6): Experimentieren mit der Lernrate des neuronalen Netzwerks
Wir haben zuvor verschiedene Arten von neuronalen Netzen zusammen mit ihren Implementierungen betrachtet. In allen Fällen wurden die neuronalen Netze mit der Gradientenverfahren trainiert, für die wir eine Lernrate wählen müssen. In diesem Artikel möchte ich anhand von Beispielen zeigen, wie wichtig eine richtig gewählte Rate ist und welchen Einfluss sie auf das Training des neuronalen Netzes hat.
Zeitreihen in der Bibliothek DoEasy (Teil 56): Nutzerdefiniertes Indikatorobjekt, das die Daten von Indikatorobjekten aus der Kollektion holt
In dem Artikel wird das Erstellen des nutzerdefinierten Indikatorobjekts für die Verwendung in EAs erklärt. Lassen Sie uns die Bibliotheksklassen leicht verbessern und Methoden hinzufügen, um Daten von Indikatorobjekten in EAs zu erhalten.
Optimale Vorgehensweise für Entwicklung und Analyse von Handelssystemen
In diesem Artikel zeige ich Ihnen die Kriterien, die Sie bei der Auswahl eines Systems oder Signals für die Investition Ihrer Gelder berücksichtigen sollten. Außerdem beschreibe ich die optimale Vorgehensweise bei der Entwicklung von Handelssystemen und zeige auf, wie wichtig diese Angelegenheit im Forex-Handel ist.
Praktische Anwendung von neuronalen Netzen im Handel. Python (Teil I)
In diesem Artikel werden wir die schrittweise Implementierung eines Handelssystems analysieren, das auf der Programmierung von tiefen neuronalen Netzen in Python basiert. Dies wird unter Verwendung der von Google entwickelten TensorFlow-Bibliothek für maschinelles Lernen durchgeführt. Außerdem werden wir die Keras-Bibliothek zur Beschreibung von neuronalen Netzen verwenden.
Zeitreihen in der Bibliothek DoEasy (Teil 55): Die Kollektionsklasse der Indikatoren
Der Artikel setzt die Entwicklung von Objektklassen für die Indikatoren und deren Kollektionen fort. Für jedes Indikatorobjekt erstellen wir seine Beschreibung und die richtige Kollektionsklasse für die fehlerfreie Speicherung und das Abrufen von Indikatorobjekten aus der Kollektionsliste.
Neuronale Netze leicht gemacht (Teil 5): Parallele Berechnungen mit OpenCL
Wir haben bereits einige Arten von Implementierungen neuronaler Netze besprochen. In den betrachteten Netzwerken werden die gleichen Operationen für jedes Neuron wiederholt. Ein logischer weiterer Schritt ist die Nutzung der parallelen Berechnung, die die moderne Technologie bietet, um den Lernprozess des neuronalen Netzwerks zu beschleunigen. Eine der möglichen Implementierungen wird in diesem Artikel beschrieben.
Zeitreihen in der Bibliothek DoEasy (Teil 54): Abgeleitete Klassen des abstrakten Basisindikators
Der Artikel betrachtet das Erstellen von Klassen von abgeleiteten Objekten des abstrakten Basisindikators. Solche Objekte ermöglichen den Zugriff auf die Funktionen der Erstellung von Indikator-EAs, das Sammeln und Abrufen von Datenwertstatistiken verschiedener Indikatoren und Preise. Außerdem wird eine Kollektion von Indikatorobjekten erstellt, von der aus der Zugriff auf die Eigenschaften und Daten jedes im Programm erstellten Indikators möglich sein wird.
Neuronale Netze leicht gemacht (Teil 4): Rekurrente Netze
Wir setzen unser Studium der Welt der Neuronalen Netze fort. In diesem Artikel werden wir einen anderen Typ der Neuronalen Netzen betrachten, nämlich die Rekurrenten Netze. Dieser Typ wird für die Verwendung mit Zeitreihen vorgeschlagen, die in der Handelsplattform MetaTrader 5 durch Preisdiagramme dargestellt werden.
Grid und Martingale: was sind sie und wie verwendet man sie?
In diesem Artikel werde ich versuchen, im Detail zu erklären, was Grid und Martingale sind, sowie was sie gemeinsam haben. Außerdem werde ich versuchen zu analysieren, wie praktikabel diese Strategien wirklich sind. Der Artikel enthält mathematische und praktische Teile.
Brute-Force-Ansatz zur Mustersuche
In diesem Artikel werden wir nach Marktmustern suchen, Expert Advisors basierend auf den identifizierten Mustern erstellen und prüfen, wie lange diese Muster gültig bleiben, wenn sie überhaupt ihre Gültigkeit behalten.
Zeitreihen in der Bibliothek DoEasy (Teil 53): Abstrakte Basisklasse der Indikatoren
Der Artikel beschäftigt sich mit dem Erstellen eines abstrakten Indikators, der im Weiteren als Basisklasse für die Erstellung von Objekten der Standard- und nutzerdefinierten Indikatoren der Bibliothek verwendet wird.
Zeitreihen in der Bibliothek DoEasy (Teil 52): Plattformübergreifende Eigenschaft für Standardindikatoren mit einem Puffer für mehrere Symbole und Perioden
In diesem Artikel wird das Erstellen des Standardindikators Akkumulation/Distribution mehrere Symbole und Perioden behandelt. Wir verbessern die Bibliotheksklassen in Bezug auf die Indikatoren ein wenig, damit die für die veraltete Plattform MetaTrader 4 entwickelten Programme, die auf dieser Bibliothek basieren, beim Umstieg auf MetaTrader 5 normal funktionieren können.
Neuronale Netze leicht gemacht (Teil 3): Convolutional Neurale Netzwerke
Als Fortsetzung des Themas Neuronale Netze schlage ich vor, Convolutional Neurale Netzwerke (faltende Neuronale Netzwerke) zu besprechen. Diese Art von Neuronalen Netzwerken wird in der Regel für die Analyse von visuellen Bildern verwendet. In diesem Artikel werden wir die Anwendung dieser Netzwerke auf den Finanzmärkten besprechen.
Parallele Partikelschwarmoptimierung
Der Artikel beschreibt eine Methode zur schnellen Optimierung unter Verwendung des Partikelschwarm-Algorithmus. Er stellt auch die Implementierung der Methode in MQL vor, die sowohl im Single-Thread-Modus innerhalb eines Expert Advisors als auch in einem parallelen Multi-Thread-Modus als Add-on, das auf lokalen Tester-Agenten läuft, verwendet werden kann.
Grundlegende Mathematik hinter dem Forex-Handel
Der Artikel zielt darauf ab, die Hauptmerkmale des Forex-Handels so einfach und schnell wie möglich zu beschreiben sowie einige grundlegende Ideen mit Anfängern zu beschreiben. Er versucht auch, die quälendsten Fragen in der Trading-Community zu beantworten und zeigt die Entwicklung eines einfachen Indikators.
Kontinuierliche Walk-Forward-Optimierung (Teil 8): Programmverbesserungen und Korrekturen
Das Programm wurde aufgrund von Kommentaren und Wünschen von Nutzern und Lesern dieser Artikelserie geändert. Dieser Artikel enthält eine neue Version des Auto-Optimierers. Diese Version implementiert gewünschte Funktionen und bietet weitere Verbesserungen, die ich bei der Arbeit mit dem Programm gefunden habe.
Fortschrittliches Resampling und Auswahl von CatBoost-Modellen durch die Brute-Force-Methode
Dieser Artikel beschreibt einen der möglichen Ansätze zur Datentransformation mit dem Ziel, die Verallgemeinerbarkeit des Modells zu verbessern, und erörtert auch die Stichprobenziehung und Auswahl von CatBoost-Modellen.
Zeitreihen in der Bibliothek DoEasy (Teil 51): Zusammengesetzte Standardindikatoren für mehrere Symbole und Perioden
Der Artikel vervollständigt die Entwicklung von Objekten der Standardindikatoren für mehrere Symbole und Perioden. Anhand des Standardindikators Ichimoku Kinko Hyo analysieren wir beispielsweise die Erstellung von zusammengesetzten, nutzerdefinierten Indikatoren, die über gezeichnete Hilfspuffer zur Anzeige von Daten auf dem Chart verfügen.
Ein wissenschaftlicher Ansatz für die Entwicklung von Handelsalgorithmen
Der Artikel befasst sich mit der Methodik zur Entwicklung von Handelsalgorithmen, bei der ein konsistenter, wissenschaftlicher Ansatz zur Analyse möglicher Kursmuster und zur Erstellung von Handelsalgorithmen auf der Grundlage dieser Muster verwendet wird. Die Entwicklungsideale werden anhand von Beispielen demonstriert.
Zeitreihen in der Bibliothek DoEasy (Teil 50): Verschieben der Standardindikatoren für mehrere Symbole und Perioden
In diesem Artikel wollen wir die Bibliotheksmethoden für die korrekte Anzeige von Mehrsymbol- und Mehrperioden-Standardindikatoren verbessern, wobei die Linien auf dem aktuellen Symbol-Chart mit einer in den Einstellungen festgelegten Verschiebung angezeigt werden. Außerdem sollten wir die Methoden für die Arbeit mit Standardindikatoren in Ordnung bringen und den redundanten Code für den Bibliotheksbereich im endgültigen Indikatorprogramm entferne.
Der Algorithmus CatBoost von Yandex für das maschinelle Lernen, Kenntnisse von Python- oder R sind nicht erforderlich
Der Artikel liefert den Code und die Beschreibung der wichtigsten Phasen des maschinellen Lernprozesses anhand eines konkreten Beispiels. Um das Modell zu entwickeln, benötigen Sie keine Kenntnisse von Python- oder R. Es reichen grundlegende MQL5-Kenntnisse aus — das ist genau mein Niveau. Daher hoffe ich, dass der Artikel als gutes Tutorial für ein breites Publikum hilft, um diejenigen zu unterstützen, die daran interessiert sind, Fähigkeiten des maschinellen Lernens zu evaluieren und in ihre Programme zu implementieren.
Nutzerdefinierte Symbole: Praktische Grundlagen
Der Artikel ist der programmatischen Generierung von nutzerdefinierten Symbolen gewidmet, die zur Demonstration einiger gängiger Methoden zur Anzeige von Ticks verwendet werden. Er beschreibt eine vorgeschlagene Variante der minimal-invasiven Anpassung von Expert Advisors für den Handel mit einem realen Symbol aus einem abgeleiteten nutzerdefinierten Symbolchart. Die MQL-Quellcodes sind diesem Artikel beigefügt.
Neuronale Netze leicht gemacht (Teil 2): Netzwerktraining und Tests
In diesem zweiten Artikel werden wir uns weiter mit Neuronalen Netzen befassen und ein Beispiel für die Verwendung unserer geschaffenen Klasse CNet in Expert Advisors besprechen. Wir werden mit zwei Modellen neuronaler Netze arbeiten, die ähnliche Ergebnisse sowohl hinsichtlich der Trainingszeit als auch der Vorhersagegenauigkeit zeigen.
Was ist ein Trend und basiert die Marktstruktur auf einem Trend oder einer Seitwärtsbewegung?
Händler sprechen oft über Trends und Seitwärtsbewegungen (flat), aber nur sehr wenige von ihnen verstehen wirklich, was ein Trend/eine Seitwärtsbewegung wirklich ist, und noch weniger sind in der Lage, diese Konzepte klar zu erklären. Die Diskussion dieser Grundbegriffe ist oft mit einer Reihe von Vorurteilen und Missverständnissen behaftet. Wenn wir jedoch Gewinn erzielen wollen, müssen wir die mathematische und logische Bedeutung dieser Konzepte verstehen. In diesem Artikel werde ich einen genaueren Blick auf das Wesen von Trend und Seitwärtsbewegung werfen und versuchen zu definieren, ob die Marktstruktur auf Trend, Seitwärtsbewegung oder etwas anderem basiert. Ich werde auch die optimalsten Strategien zur Gewinnerzielung auf Trend- und flachen Märkten besprechen.
Diskretisierung von Preisreihen, Zufallskomponente und das Rauschen
Normalerweise analysieren wir den Markt mit Hilfe von Kerzen oder Balken, die die Preisreihen in regelmäßige Intervalle aufteilen. Verzerrt eine solche Diskretisierungsmethode nicht die reale Struktur der Marktbewegungen? Die Diskretisierung eines Audiosignals in regelmäßigen Abständen ist eine akzeptable Lösung, da ein Audiosignal eine Funktion ist, die sich mit der Zeit ändert. Das Signal selbst ist eine Amplitude, die von der Zeit abhängt. Diese Signaleigenschaft ist fundamental.
Zeitreihen in der Bibliothek DoEasy (Teil 49): Standardindikatoren mit mehreren Puffern für mehrere Symbole und Perioden
Im aktuellen Artikel werde ich die Bibliotheksklassen verbessern, um die Fähigkeit zu implementieren, Standardindikatoren mit mehreren Symbolen und mehreren Perioden zu entwickeln, die mehrere Indikatorpuffer zur Anzeige ihrer Daten benötigen.
Verwendung von Kryptographie mit externen Anwendungen
In diesem Artikel betrachten wir die Ver-/Entschlüsselung von Objekten im MetaTrader und in externen Anwendungen. Unser Ziel ist es, die Bedingungen zu bestimmen, unter denen die gleichen Ergebnisse mit den gleichen Ausgangsdaten erzielt werden.
Gradient Boosting (CatBoost) für die Entwicklung von Handelssystemen. Ein naiver Zugang
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.
Zeitreihen in der Bibliothek DoEasy (Teil 48): Mehrperioden-Multisymbol-Indikatoren mit einem Puffer in einem Unterfenster
Der Artikel betrachtet ein Beispiel für die Erstellung von Mehrsymbol- und Mehrperioden-Standardindikatoren unter Verwendung eines einzigen Indikator-Puffers für die Konstruktion und die Darstellung im Indikator-Unterfenster. Ich werde die Bibliotheksklassen auf die Arbeit mit Standardindikatoren vorbereiten, die im Hauptfenster des Programms arbeiten und mehr als einen Puffer für die Anzeige ihrer Daten haben.
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.
Zeitreihen in der Bibliothek DoEasy (Teil 47): Standardindikatoren für mehrere Symbole und Perioden
In diesem Artikel beginne ich mit der Entwicklung von Methoden für die Arbeit mit Standardindikatoren, die letztlich die Erstellung von Multisymbol- und Mehrperioden-Standardindikatoren auf der Grundlage von Bibliotheksklassen ermöglichen werden. Außerdem werde ich das Ereignis "fehlende Balken" (skipped bars) zu den Zeitreihenklassen hinzufügen und die übermäßige Belastung des Hauptprogrammcodes beseitigen, indem ich die Bibliotheksvorbereitungsfunktionen in die Klasse CEngine verlege.
Über Methoden zum Erkennen überkaufter/überverkaufter Zonen. Teil I
Überkaufte/überverkaufte Zonen kennzeichnen einen bestimmten Zustand des Marktes, der sich durch schwächere Veränderungen der Wertpapierpreise von anderen unterscheidet. Diese nachteilige Veränderung der Dynamik ist in der letzten Phase der Entwicklung von Trends jeglicher Größenordnung am stärksten ausgeprägt. Da der Gewinn beim Handel direkt von der Fähigkeit abhängt, eine möglichst große Trendamplitude abzudecken, ist die Genauigkeit der Erkennung solcher Zonen eine Schlüsselaufgabe beim Handel mit irgendwelchen Wertpapieren.
Wahrscheinlichkeitstheorie und mathematische Statistik mit Beispielen (Teil I): Grundlagen und elementare Theorie
Beim Handel geht es immer darum, im Angesicht von Unsicherheit Entscheidungen zu treffen. Das bedeutet, dass die Ergebnisse der Entscheidungen zu dem Zeitpunkt, zu dem diese Entscheidungen getroffen werden, nicht ganz eindeutig sind. Daraus ergibt sich die Bedeutung theoretischer Ansätze für die Konstruktion mathematischer Modelle, die es uns ermöglichen, solche Fälle sinnvoll zu beschreiben.
Schnelle Werkzeuge für den manuellen Handel: Arbeiten mit offenen Positionen und Pending-Orders
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.
Zeitreihen in der Bibliothek DoEasy (Teil 46): Mehrperioden-Multisymbol-Indikatorpuffer
In diesem Artikel werde ich die Klassen der Objekte der Indikatorpuffer verbessern, um im Multisymbolmodus arbeiten zu können. Dies wird den Weg für die Erstellung von Multisymbol- und Mehrperioden-Indikatoren in benutzerdefinierten Programmen ebnen. Ich werde den berechneten Pufferobjekten die fehlende Funktionalität hinzufügen, die es uns ermöglicht, multisymbol- und mehrperiodische Standardindikatoren zu erstellen.
Berechnung mathematischer Ausdrücke (Teil 2). Parser nach Pratt und dem Shunting-yard-Algorithmus
In diesem Artikel betrachten wir die Prinzipien der Analyse und Auswertung mathematischer Ausdrücke unter Verwendung von Parsern, die auf der Operator-Priorität basieren. Wir werden Parser nach Pratt und dem Shunting-yard-Algorithmus, Bytecode-Generierung und Auswertungen mit diesem Code implementieren und uns ansehen, wie Indikatoren als Funktionen in Ausdrücken verwendet und wie Handelssignale in Expert Advisors auf der Grundlage dieser Indikatoren eingerichtet werden können.
Zeitreihen in der Bibliothek DoEasy (Teil 45): Puffer für Mehrperiodenindikator
In diesem Artikel werde ich mit der Verbesserung der Indikatorpufferobjekte und der Sammelklasse für die Arbeit in Mehrperioden- und Mehrsymbolmodi beginnen. Ich werde den Betrieb von Pufferobjekten für den Empfang und die Anzeige von Daten aus einem beliebigen Zeitrahmen auf dem aktuellen Symbolchart bespreche.
Berechnung mathematischer Ausdrücke (Teil 1). Ein Parser mit rekursivem Abstieg
Der Artikel behandelt die Grundprinzipien der Analyse und Berechnung mathematischer Ausdrücke. Wir werden Parser mit rekursivem Abstieg implementieren, die im Interpreter- und beschleunigtem Berechnungsmodus arbeiten und auf einem vorgefertigten Syntaxbaum basieren.