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.
Implementierung eines Break-Even-Mechanismus in MQL5 (Teil 1): Basisklasse und Break-Even-Modus auf Basis fester Punkte
Implementierung eines Break-Even-Mechanismus in MQL5 (Teil 1): Basisklasse und Break-Even-Modus auf Basis fester Punkte
Dieser Artikel befasst sich mit der Anwendung eines Break-Even-Mechanismus in automatisierten Strategien, die die Sprache MQL5 verwenden. Wir beginnen mit einer einfachen Erklärung, was der Break-Even-Modus ist, wie er umgesetzt wird und welche Varianten möglich sind. Als Nächstes wird diese Funktionalität in den Expert Advisor Order Blocks integriert, den wir in unserem letzten Artikel über Risikomanagement erstellt haben. Um seine Wirksamkeit zu bewerten, werden wir zwei Backtests unter bestimmten Bedingungen durchführen: einen mit und einen ohne Break-Even-Mechanismus.
Das Hilbert-Schmidt-Unabhängigkeitskriterium (HSIC)
Das Hilbert-Schmidt-Unabhängigkeitskriterium (HSIC)
Der Artikel behandelt den nichtparametrischen statistischen Test HSIC (Hilbert-Schmidt Independence Criterion), mit dem sich lineare und nichtlineare Abhängigkeiten in Daten ermitteln lassen. Es werden zwei Implementierungen zur Berechnung von HSIC in der Sprache MQL5 vorgestellt: der exakte Permutationstest und die Gamma-Approximation. Die Leistungsfähigkeit der Methode wird an synthetischen Daten demonstriert, die eine nichtlineare Beziehung zwischen Merkmalen und der Zielvariablen modellieren.
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.
Von der Grundstufe bis zur Mittelstufe: Vererbung
Von der Grundstufe bis zur Mittelstufe: Vererbung
Zweifellos wird dieser Artikel einen erheblichen Teil Ihrer Zeit in Anspruch nehmen, um zu verstehen, wie und warum das hier vorgestellte Material funktioniert. Denn alles, was hier gezeigt wird, orientiert sich zunächst an der objektorientierten Programmierung, basiert aber tatsächlich auf den Prinzipien der strukturierten Programmierung.
Ereignisgesteuerte Architektur in MQL5: Wie aus einem Expert Advisor ein vollwertiges Handelssystem wird
Ereignisgesteuerte Architektur in MQL5: Wie aus einem Expert Advisor ein vollwertiges Handelssystem wird
Der Artikel widmet sich der ereignisgesteuerten Architektur in MQL5 und beschreibt den Übergang vom monolithischen OnTick-Modell zur verteilten Verarbeitung. Wir werden uns mit vordefinierten und nutzerdefinierten Ereignissen, Diensten und Nachrichtenaustausch zwischen Programmen sowie mit häufigen Architekturfehlern befassen. Ein praktisches Beispiel zeigt, wie die Interaktionen zwischen Indikatoren und einem EA organisiert werden können, um die Last zu verringern, die Lesbarkeit zu verbessern und die Wartung zu vereinfachen.
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.
Hidden-Markov-Modelle in Handelssystemen mit maschinellem Lernen
Hidden-Markov-Modelle in Handelssystemen mit maschinellem Lernen
Hidden-Markov-Modelle (HMMs) sind eine leistungsstarke Klasse probabilistischer Modelle, die für die Analyse sequenzieller Daten entwickelt wurden, bei denen beobachtete Ereignisse von einer Sequenz unbeobachteter (versteckter) Zustände abhängen, die einen Markov-Prozess bilden. Zu den wichtigsten Annahmen des HMM gehören die Markov-Eigenschaft für verborgene Zustände, was bedeutet, dass die Wahrscheinlichkeit des Übergangs zum nächsten Zustand nur vom aktuellen Zustand abhängt, und die Unabhängigkeit der Beobachtungen bei Kenntnis des aktuellen verborgenen Zustands.
Einsatz von Computer Vision im Handel mit MQL5 MQL5 (Teil 2): Erweiterung der Architektur auf die 2D-RGB-Bildanalyse
Einsatz von Computer Vision im Handel mit MQL5 MQL5 (Teil 2): Erweiterung der Architektur auf die 2D-RGB-Bildanalyse
Computer Vision für den Handel: Wie es funktioniert und wie man es Schritt für Schritt entwickelt. Wir entwickeln einen Algorithmus zur Erkennung von RGB-Bildern von Kurscharts unter Verwendung des Aufmerksamkeitsmechanismus und einer bidirektionalen LSTM-Schicht. Als Ergebnis erhalten wir ein funktionierendes Modell für die Vorhersage des EURUSD-Kurses mit einer Genauigkeit von bis zu 55 % im Validierungsteil.
Von der Grundstufe bis zur Mittelstufe: Struktur (VII)
Von der Grundstufe bis zur Mittelstufe: Struktur (VII)
Im heutigen Artikel zeigen wir, wie man an die Lösung von Problemen herangeht, die mit der Strukturierung verschiedener Elemente zusammenhängen, und wie man einfachere und ansprechendere Lösungen entwickelt. Obwohl der Inhalt auf das Lernen ausgerichtet ist und daher keinen Produktionscode darstellt, ist es wichtig, die Konzepte und das Wissen, das hier behandelt wird, gründlich zu verstehen. Auf diese Weise werden wir in Zukunft in der Lage sein, dem von uns vorgelegten Code zu folgen.
Kursbewegungen: Mathematische Modelle und technische Analyse
Kursbewegungen: Mathematische Modelle und technische Analyse
Die Vorhersage der Bewegungen von Währungspaaren ist ein wichtiger Faktor für den Handelserfolg. Dieser Artikel befasst sich mit verschiedenen Kursbewegungsmodellen, analysiert ihre Vor- und Nachteile und untersucht ihre praktische Anwendung in Handelsstrategien. Wir werden uns mit Ansätzen beschäftigen, die es uns ermöglichen, verborgene Muster zu erkennen und die Genauigkeit der Prognosen zu verbessern.
Von der CPU zur GPU in MQL5: Ein praktisches OpenCL-Framework zur Beschleunigung von Analysen, Optimierungen und Mustererkennung
Von der CPU zur GPU in MQL5: Ein praktisches OpenCL-Framework zur Beschleunigung von Analysen, Optimierungen und Mustererkennung
Erfahren Sie, wie sich in MQL5 mit OpenCL ein praxisnaher Migrationspfad von der CPU zur GPU aufbauen lässt. Wir werden uns auf die Kontextinitialisierung, die Pufferorganisation, große Datenbatches, den Start des Kernels und die Minimierung des Datenaustauschs konzentrieren. Typische Fehler und Möglichkeiten zu ihrer Behebung werden ebenfalls behandelt. Ein Beispiel mit Kerzenmustern verdeutlicht den praktischen Nutzen des Ansatzes.
Deterministische oszillatorische Suchmethode (DOS)
Deterministische oszillatorische Suchmethode (DOS)
Der Algorithmus der deterministischen oszillatorischen Suche (DOS) ist ein innovatives globales Optimierungsverfahren, das die Vorteile von Gradienten- und Schwarmalgorithmen ohne die Verwendung von Zufallszahlen kombiniert. Der Mechanismus der Fitness-Oszillation und der Steigung ermöglicht es DOS, komplexe Suchräume auf deterministische Weise zu erkunden.
Arbitragehandel im Forex-Markt: Ein Matrix-Handelssystem mit Rückkehr zum fairen Wert mit Risikokontrolle
Arbitragehandel im Forex-Markt: Ein Matrix-Handelssystem mit Rückkehr zum fairen Wert mit Risikokontrolle
Der Artikel enthält eine detaillierte Beschreibung des Berechnungsalgorithmus für Cross-Rates, eine Visualisierung der Ungleichgewichtsmatrix und Empfehlungen zur optimalen Einstellung der Parameter MinDiscrepancy und MaxRisk für einen effizienten Handel. Das System berechnet automatisch den „fairen Wert“ jedes Währungspaares anhand der Cross-Rates und generiert Kaufsignale im Falle negativer Abweichungen und Verkaufssignale im Falle positiver Abweichungen.
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.
Kamelalgorithmus (CA)
Kamelalgorithmus (CA)
Der 2016 entwickelte Kamelalgorithmus simuliert das Verhalten von Kamelen in der Wüste, um Optimierungsprobleme unter Berücksichtigung von Temperatur, Versorgung und Ausdauer zu lösen. In diesem Artikel wird auch eine modifizierte Version des Algorithmus (CAm) mit wesentlichen Verbesserungen vorgestellt: die Verwendung einer Normalverteilung bei der Generierung von Lösungen und die Optimierung der Parameter für den Oaseneffekt.
Einsatz spieltheoretischer Ansätze in Handelsalgorithmen
Einsatz spieltheoretischer Ansätze in Handelsalgorithmen
Wir entwickeln einen adaptiven, selbstlernenden Expert Advisor für den algorithmischen Handel, der auf Deep-Q-Learning (DQN) mit mehrdimensionaler kausaler Inferenz basiert. Der EA kann erfolgreich mit 7 Währungspaaren gleichzeitig handeln, und die Agenten verschiedener Paare tauschen untereinander Informationen aus.
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.
Python + MetaTrader 5: Schnelles Forschungs-Framework für Daten, Merkmale und Prototypen
Python + MetaTrader 5: Schnelles Forschungs-Framework für Daten, Merkmale und Prototypen
Der Artikel zeigt, wie die Integration von Python und MetaTrader 5 die Flexibilität der Forschung und die Handelsoperationen in einem einzigen Arbeitsablauf vereint. Python wird für die Datenanalyse, die Merkmalsauswahl und das Modelltraining verwendet, während MetaTrader 5 für Tests und die Handelsautomatisierung eingesetzt wird. Dieser Ansatz vereinfacht die Übertragung von Lösungen in die Praxis, erhöht die Reproduzierbarkeit und macht die Entwicklung von Handelssystemen schneller und strukturierter.
Forex-Arbitragehandel: Panel zur Bewertung von Wechselkursbeziehungen
Forex-Arbitragehandel: Panel zur Bewertung von Wechselkursbeziehungen
In diesem Artikel wird die Entwicklung eines Arbitrage-Analyse-Panels in MQL5 vorgestellt. Wie kann man auf verschiedene Weise faire Devisenkurse auf dem Forex erhalten? Erstellung eines Indikators zur Ermittlung von Abweichungen der Marktpreise von den fairen Wechselkursen sowie zur Bewertung der Vorteile von Arbitragemöglichkeiten beim Umtausch einer Währung in eine andere (wie bei der Dreiecksarbitrage).
Algorithmischer Handel ohne Routine: Schnelle Handelsanalyse im MetaTrader 5 mit SQLite
Algorithmischer Handel ohne Routine: Schnelle Handelsanalyse im MetaTrader 5 mit SQLite
Der Artikel stellt eine minimale arbeitsfähige Grundausstattung für die Führung eines Handelsjournals in MQL5 unter Verwendung von SQLite vor: eine Tabellenstruktur für Trades, Signale und Ereignisse, Indizes, vorbereitete Anweisungen und Trades sowie analytische Standard-SQL-Abfragen. Die Integration mit dem Statistik-Dashboard in MetaTrader 5 und das Arbeiten mit der Datenbank über MetaEditor werden demonstriert. Dieser Ansatz ermöglicht es, das Journal zu automatisieren, Berechnungen zu beschleunigen und Analysen durchzuführen, ohne den EA-Code zu verkomplizieren.
Fraktal-basierter Algorithmus (FBA)
Fraktal-basierter Algorithmus (FBA)
Der Artikel stellt eine neue metaheuristische Methode vor, die auf einem fraktalen Ansatz zur Partitionierung des Suchraums für die Lösung von Optimierungsproblemen basiert. Der Algorithmus identifiziert nacheinander vielversprechende Bereiche und trennt sie voneinander ab, wodurch eine selbstähnliche fraktale Struktur entsteht, die die Rechenressourcen auf die vielversprechendsten Bereiche konzentriert. Ein einzigartiger Mutationsmechanismus, der auf bessere Lösungen abzielt, sorgt für ein optimales Gleichgewicht zwischen globaler Erkundung und lokaler Nutzung des Suchraums, wodurch die Effizienz des Algorithmus erheblich gesteigert wird.
Winkelanalyse von Preisbewegungen: Ein hybrides Modell zur Prognose von Finanzmärkten
Winkelanalyse von Preisbewegungen: Ein hybrides Modell zur Prognose von Finanzmärkten
Was ist die Winkelanalyse der Finanzmärkte? Wie kann man mithilfe der Winkel von Preisbewegung und maschinellem Lernen genaue Prognosen mit einer Genauigkeit von 67 % erstellen? Wie kann man ein Regressions- und Klassifikationsmodell mit Winkelmerkmalen kombinieren und einen funktionierenden Algorithmus erhalten? Was hat Gann damit zu tun? Warum sind Winkel der Preisbewegung ein guter Indikator für maschinelles Lernen?
Chaos-Optimierungsalgorithmus (COA)
Chaos-Optimierungsalgorithmus (COA)
Hierbei handelt es sich um einen verbesserten chaotischen Optimierungsalgorithmus (COA), der die Effekte des Chaos mit adaptiven Suchmechanismen kombiniert. Der Algorithmus verwendet eine Reihe von chaotischen Abbildungen und Trägheitskomponenten, um den Suchraum zu erkunden. Der Artikel erläutert die theoretischen Grundlagen chaotischer Verfahren zur Finanzoptimierung.
Anwendung des L1-Trendfilters in MetaTrader 5
Anwendung des L1-Trendfilters in MetaTrader 5
Dieser Artikel befasst sich mit der praktischen Anwendung des L1-Trendfilters im MetaTrader 5, wobei sowohl die mathematischen Grundlagen als auch die Verwendung in MQL5-Programmen behandelt werden. Der L1-Filter ermöglicht die Extraktion stückweise linearer Trends, die die wesentliche Marktstruktur erhalten und gleichzeitig das Kursrauschen reduzieren. Die Studie analysiert die Skalierung der Parameter, das Verhalten der Trendschätzung und die Integration der Methode in algorithmische Handelsstrategien. Experimentelle Ergebnisse zeigen, wie der L1-Trendfilter die Signalstabilität, das Handels-Timing und die allgemeine Robustheit von Handelssystemen verbessern kann.
Eindimensionale Singularspektralanalyse
Eindimensionale Singularspektralanalyse
Der Artikel untersucht die theoretischen und praktischen Aspekte der Methode der singulären Spektralanalyse (SSA), einer effizienten Methode der Zeitreihenanalyse, die es ermöglicht, die komplexe Struktur einer Reihe als Zerlegung in einfache Komponenten, wie Trend, saisonale (periodische) Schwankungen und Rauschen, darzustellen.
Von der Grundstufe bis zur Mittelstufe: Struktur (IV)
Von der Grundstufe bis zur Mittelstufe: Struktur (IV)
In diesem Artikel werden wir untersuchen, wie man sogenannten strukturierten Code erstellt, bei dem der gesamte Kontext und die Methoden zur Manipulation von Variablen und Informationen in eine Struktur eingebettet sind, um einen geeigneten Kontext für die Implementierung beliebiger Programmteile zu schaffen. Daher werden wir die Notwendigkeit untersuchen, einen privaten Bereich des Codes zu verwenden, um zu trennen, was öffentlich ist und was nicht, um so die Regel der Kapselung einzuhalten und den Kontext zu bewahren, für den die Datenstruktur erstellt wurde.
Neuronale Netze im Trading: Adaptive Erkennung von Marktanomalien (Abschlussteil)
Neuronale Netze im Trading: Adaptive Erkennung von Marktanomalien (Abschlussteil)
Wir arbeiten weiter an der Entwicklung der Algorithmen, die dem DADA-Framework zugrunde liegen, ein fortschrittliches Instrument zur Erkennung von Anomalien in Zeitreihen. Dieser Ansatz ermöglicht eine zuverlässige Unterscheidung zwischen zufälligen Schwankungen und signifikanten Abweichungen. Im Gegensatz zu klassischen Methoden passt sich DADA dynamisch an verschiedene Datentypen an und wählt die jeweils optimale Komprimierungsstufe.
Korallenriff-Optimierung (CRO)
Korallenriff-Optimierung (CRO)
Der Artikel stellt eine umfassende Analyse des Korallenriff-Optimierungsalgorithmus (CRO) vor, einer metaheuristischen Methode, die von den biologischen Prozessen der Entstehung und Entwicklung von Korallenriffen inspiriert ist. Der Algorithmus modelliert Schlüsselaspekte der Korallenevolution: Broadcast Spawning (Massenlaichen), Brooding (interne Larvenentwicklung), Larvenansiedlung, ungeschlechtliche Fortpflanzung und Wettbewerb um den begrenzten Platz im Riff. Besondere Aufmerksamkeit gilt der verbesserten Version des Algorithmus.
Neuronale Netze im Trading: Adaptive Erkennung von Marktanomalien (DADA)
Neuronale Netze im Trading: Adaptive Erkennung von Marktanomalien (DADA)
Wir laden Sie ein, sich mit dem DADA-Framework vertraut zu machen, das eine innovative Methode zur Erkennung von Anomalien in Zeitreihen darstellt. Es hilft, zufällige Schwankungen von verdächtigen Abweichungen zu unterscheiden. Im Gegensatz zu herkömmlichen Methoden ist DADA flexibel und passt sich an unterschiedliche Daten an. Anstelle einer festen Komprimierungsstufe werden mehrere Optionen verwendet und die jeweils am besten geeignete ausgewählt.
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.
Von der Grundstufe bis zur Mittelstufe: Struktur (III)
Von der Grundstufe bis zur Mittelstufe: Struktur (III)
In diesem Artikel werden wir untersuchen, was strukturierter Code ist. Viele Leute verwechseln strukturierten Code mit organisiertem Code, aber es gibt einen Unterschied zwischen diesen beiden Konzepten. Genau darum geht es in diesem Artikel. Trotz der offensichtlichen Komplexität, die Sie vielleicht empfinden, wenn Sie dieser Art des Codierens zum ersten Mal begegnen, habe ich versucht, das Thema so einfach wie möglich anzugehen. Dieser Artikel ist jedoch nur der erste Schritt zu etwas Größerem.
Pair-Trading: Algorithmischer Handel mit automatischer Optimierung auf Basis von Z-Score-Differenzen
Pair-Trading: Algorithmischer Handel mit automatischer Optimierung auf Basis von Z-Score-Differenzen
In diesem Artikel werden wir untersuchen, was Pair-Trading ist und wie der Korrelationshandel funktioniert. Wir werden auch einen EA für die Automatisierung des Pair-Tradings erstellen und die Fähigkeit hinzufügen, diesen Handelsalgorithmus automatisch auf der Grundlage historischer Daten zu optimieren. Darüber hinaus werden wir im Rahmen des Projekts lernen, wie man mithilfe des Z-Scores die Abweichung zwischen zwei Paaren berechnet.
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.