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.
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 (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.
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.
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.
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.
Wir werden ein Matrix-Prognosemodell auf der Grundlage einer Markov-Kette erstellen. Was sind Markov-Ketten, und wie können wir eine Markov-Kette für den Devisenhandel nutzen?
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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?
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.
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.
Das CATCH-Framework kombiniert Fourier-Transformation und Frequenz-Patching, um Marktanomalien genau zu erkennen, die mit herkömmlichen Methoden kaum oder gar nicht erkannt werden können. Im Folgenden untersuchen wir, wie dieser Ansatz verborgene Muster in Finanzdaten aufdeckt.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Wir implementieren weiterhin die von den Autoren des DUET-Frameworks vorgeschlagenen Ansätze, die einen innovativen Ansatz zur Analyse von Zeitreihen bieten, indem sie zeitliches und kanalbasiertes Clustering kombinieren, um versteckte Muster in den analysierten Daten aufzudecken.
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.
Wie verwendet man Renko-Bars mit KI? Schauen wir uns den Renko-Handel im Forex-Markt mit einer Prognosegenauigkeit von bis zu 59,27 % an. Wir werden die Vorteile von Renko-Bars zum Herausfiltern von Marktrauschen untersuchen, erfahren, warum das Volumen wichtiger ist als die Kursmuster, und wie man die optimale Renko-Blockgröße für EURUSD festlegt. Dies ist eine Schritt-für-Schritt-Anleitung zur Integration von CatBoost, Python und MetaTrader 5, um Ihr eigenes Renko Forex-Prognosesystem zu erstellen. Es ist ideal für Händler, die über die traditionelle technische Analyse hinausgehen wollen.
Das DUET-Framework bietet einen innovativen Ansatz für die Zeitreihenanalyse, der temporales und kanalbasiertes Clustering kombiniert, um verborgene Muster in den analysierten Daten aufzudecken. Auf diese Weise können sich die Modelle an Veränderungen im Laufe der Zeit anpassen und die Qualität der Vorhersagen durch Reduktion von Rauschen verbessern.
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.
In diesem Artikel werden wir das in früheren Veröffentlichungen entwickelte Risikomanagementsystem implementieren und den in anderen Artikeln beschriebenen Order-Block-Indikator hinzufügen. Darüber hinaus werden wir einen Backtest durchführen, um die Ergebnisse mit dem aktivierten Risikomanagementsystem zu vergleichen und die Auswirkungen des dynamischen Risikos zu bewerten.
Wir fahren fort, die von den Autoren des Attraos-Frameworks vorgeschlagenen Methoden in Handelsmodelle zu integrieren. Ich möchte Sie daran erinnern, dass dieses Framework Konzepte der Chaostheorie verwendet, um Probleme der Zeitreihenprognose zu lösen, indem es sie als Projektionen mehrdimensionaler chaotischer dynamischer Systeme interpretiert.
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.
Dies ist Teil 4 unserer Serie über Risikomanagement in MQL5, in der wir fortgeschrittene Methoden zum Schutz und zur Optimierung von Handelsstrategien erforschen. Nachdem wir in früheren Artikeln wichtige Grundlagen gelegt haben, werden wir uns nun darauf konzentrieren, alle verbleibenden, in Teil 3 verschobenen Methoden zu vervollständigen, einschließlich der Funktionen zur Überprüfung, ob bestimmte Gewinn- oder Verlustniveaus erreicht wurden. Ferner werden wir neue Schlüsselereignisse einführen, die ein genaueres und flexibleres Risikomanagement ermöglichen.