Entwicklung eines Replay-Systems (Teil 64): Abspielen des Dienstes (V)
In diesem Artikel werden wir uns ansehen, wie zwei Fehler im Code behoben werden können. Ich werde jedoch versuchen, sie so zu erklären, dass Sie als Programmieranfänger verstehen, dass die Dinge nicht immer so laufen, wie Sie es erwarten. Wie auch immer, dies ist eine Gelegenheit, zu lernen. Der hier dargestellte Inhalt ist ausschließlich für Bildungszwecke bestimmt. Dieser Antrag sollte keinesfalls als endgültiges Dokument betrachtet werden, das lediglich der Erkundung der vorgestellten Konzepte dient.
Von der Grundstufe bis zur Mittelstufe: Indikator (I)
In diesem Artikel werden wir unseren ersten voll funktionsfähigen Indikator erstellen. Das Ziel ist nicht, zu zeigen, wie man eine Anwendung erstellt, sondern Ihnen zu helfen, zu verstehen, wie Sie Ihre eigenen Ideen entwickeln können, und Ihnen die Möglichkeit zu geben, sie auf sichere, einfache und praktische Weise anzuwenden.
Meistern der Log-Einträge (Teil 2): Formatieren der Logs
In diesem Artikel erfahren Sie, wie Sie Protokollformatierer in der Bibliothek erstellen und anwenden können. Wir werden alles sehen, von der grundlegenden Struktur eines Formatierers bis hin zu praktischen Implementierungsbeispielen. Am Ende des Kurses werden Sie über die notwendigen Kenntnisse verfügen, um Protokolle in der Bibliothek zu formatieren und zu verstehen, wie alles hinter den Kulissen funktioniert.
Von der Grundstufe bis zur Mittelstufe: Struktur (V)
In diesem Artikel werden wir untersuchen, wie man strukturellen Code überladen kann. Ich weiß, dass es anfangs schwierig sein kann, das zu verstehen, vor allem, wenn man es zum ersten Mal sieht. Es ist sehr wichtig, dass Sie diese Konzepte erfassen und gut verstehen, bevor Sie versuchen, sich in komplexere und umfangreichere Themen zu vertiefen.
Entwicklung eines Replay Systems (Teil 58): Wiederaufnahme der Arbeit am Dienst
Nach einer Pause in der Entwicklung und Verbesserung des Dienstes für Replay/Simulator nehmen wir die Arbeit daran wieder auf. Da wir nun die Verwendung von Ressourcen wie Terminalglobals aufgegeben haben, müssen wir einige Teile des Systems komplett umstrukturieren. Keine Sorge, dieser Prozess wird im Detail erklärt, sodass jeder die Entwicklung unseres Dienstes verfolgen kann.
Von der Grundstufe bis zur Mittelstufe: Rekursion
In diesem Artikel werden wir uns mit einem sehr interessanten und recht anspruchsvollen Programmierkonzept befassen, das allerdings mit großer Vorsicht zu genießen ist, da sein Missbrauch oder Missverständnis relativ einfache Programme in etwas unnötig Komplexes verwandeln kann. Aber wenn sie richtig eingesetzt und perfekt an geeignete Situationen angepasst wird, ist die Rekursion ein hervorragender Verbündeter bei der Lösung von Problemen, die sonst viel mühsamer und zeitaufwändiger wären. Die hier vorgestellten Materialien sind ausschließlich für Bildungszwecke bestimmt. Die Anwendung sollte unter keinen Umständen zu einem anderen Zweck als zum Erlernen und Beherrschen der vorgestellten Konzepte verwendet werden.
Von der Grundstufe bis zur Mittelstufe: Ereignisse (II)
In diesem Artikel werden wir sehen, dass nicht immer alles auf eine bestimmte Weise umgesetzt werden muss. Es gibt alternative Ansätze zur Problemlösung. Um diesen Artikel richtig zu verstehen, ist es notwendig, die in den vorangegangenen Artikeln beschriebenen Konzepte zu begreifen. Die hier vorgestellten Materialien sind ausschließlich für Bildungszwecke bestimmt. Sie sollten nicht als endgültige Anwendung betrachtet werden, deren Ziel es nicht ist, die hier vorgestellten Konzepte zu untersuchen.
Entwicklung eines Replay-Systems (Teil 62): Abspielen des Dienstes (III)
In diesem Artikel befassen wir uns mit dem Problem eines Übermaßes an Ticks, der die Anwendungsleistung bei der Verwendung echter Daten beeinträchtigen kann. Dieses Übermaß beeinträchtigt häufig das korrekte Timing, das erforderlich ist, um einen einminütigen Balken im entsprechenden Fenster zu erstellen.
Marktsimulation (Teil 09): Sockets (III)
Der heutige Artikel ist eine Fortsetzung des vorangegangenen Artikels. Wir werden uns die Implementierung eines Expert Advisors ansehen und uns dabei vor allem darauf konzentrieren, wie der Servercode ausgeführt wird. Der im vorigen Artikel beschriebene Code reicht nicht aus, damit alles wie erwartet funktioniert. Daher ist es notwendig, beide Artikel zu lesen, um besser zu verstehen, was passieren wird.
Selbstoptimierende Expert Advisors in MQL5 (Teil 17): Ensemble Intelligence
Alle algorithmischen Handelsstrategien sind, unabhängig von ihrer Komplexität, schwierig einzurichten und zu pflegen – eine Herausforderung für Anfänger und Experten gleichermaßen. In diesem Artikel wird ein Ensemble-Rahmenwerk vorgestellt, in dem überwachte Modelle und menschliche Intuition zusammenarbeiten, um ihre gemeinsamen Einschränkungen zu überwinden. Indem wir eine Kanalstrategie mit gleitendem Durchschnitt mit einem Ridge-Regressionsmodell für dieselben Indikatoren abgleichen, erreichen wir eine zentralisierte Kontrolle, eine schnellere Selbstkorrektur und die Rentabilität von ansonsten unrentablen Systemen.
Die „Griechen“ in Black-Scholes automatisieren: Fortgeschrittenes Scalping und Mikrostrukturhandel
Gamma und Delta wurden ursprünglich als Risikomanagement-Tools zur Absicherung von Optionsrisiken entwickelt, entwickelten sich aber im Laufe der Zeit zu leistungsstarken Instrumenten für fortgeschrittenes Scalping, Orderflow-Modellierung und Mikrostrukturhandel. Heute dienen sie als Echtzeit-Indikatoren für die Preisempfindlichkeit und das Liquiditätsverhalten und ermöglichen es den Händlern, kurzfristige Schwankungen mit bemerkenswerter Präzision zu antizipieren.
Entwicklung eines Replay-Systems (Teil 77): Neuer Chart Trade (IV)
In diesem Artikel werden wir einige der Maßnahmen und Vorsichtsmaßnahmen behandeln, die bei der Erstellung eines Kommunikationsprotokolls zu beachten sind. Dies sind recht einfache und unkomplizierte Dinge, sodass wir in diesem Artikel nicht zu sehr ins Detail gehen werden. Aber um zu verstehen, was passieren wird, müssen Sie den Inhalt des Artikels verstehen.
Entwicklung eines Replay Systems (Teil 55): Steuermodul
In diesem Artikel werden wir einen Kontrollindikator implementieren, damit er in das von uns entwickelte Nachrichtensystem integriert werden kann. Obwohl es nicht sehr schwierig ist, gibt es einige Details, die bei der Initialisierung dieses Moduls beachtet werden müssen. Das hier vorgestellte Material dient ausschließlich zu Bildungszwecken. Es sollte auf keinen Fall als Anwendung für einen anderen Zweck als das Lernen und Beherrschen der gezeigten Konzepte betrachtet werden.
Von der Grundstufe bis zur Mittelstufe: Indikator (IV)
In diesem Artikel erfahren Sie, wie Sie auf einfache Weise einen operativen Ansatz für das Einfärben von Kerzen erstellen und umsetzen können. Dieses Konzept wird von den Händlern sehr geschätzt. Bei der Umsetzung muss darauf geachtet werden, dass die Balken oder Kerzen ihr ursprüngliches Aussehen behalten und das Lesen von Kerze zu Kerze nicht behindern.
Von der Grundstufe bis zur Mittelstufe: Structs (II)
In diesem Artikel werden wir versuchen zu verstehen, warum Programmiersprachen wie MQL5 Strukturen haben und warum in einigen Fällen Strukturen der ideale Weg sind, um Werte zwischen Funktionen und Prozeduren zu übergeben, während sie in anderen Fällen vielleicht nicht der beste Weg sind, dies zu tun.
Marktsimulation (Teil 04): Erstellen der Klasse C_Orders (I)
In diesem Artikel beginnen wir mit der Erstellung der Klasse C_Orders, um Aufträge an den Handelsserver senden zu können. Wir werden dies nach und nach tun, denn unser Ziel ist es, im Detail zu erklären, wie dies über das Nachrichtensystem geschehen wird.
Von der Grundstufe bis zur Mittelstufe: Struct (I)
Heute werden wir damit beginnen, Strukturen auf eine einfachere, praktischere und bequemere Weise zu studieren. Strukturen gehören zu den Grundlagen der Programmierung, ob sie nun strukturiert sind oder nicht. Ich weiß, dass viele Menschen bei Strukturen nur an Datensammlungen denken, aber ich versichere Ihnen, dass sie viel mehr sind als nur Strukturen. Und hier werden wir beginnen, dieses neue Universum auf die didaktischste Weise zu erkunden.
Tabellen- und Kopfzeilen-Klassen auf der Grundlage eines Tabellenmodells in MQL5: Anwendung des MVC-Konzepts
Dies ist der zweite Teil des Artikels, der sich mit der Implementierung des Tabellenmodells in MQL5 unter Verwendung des MVC (Model-View-Controller) Architekturparadigmas beschäftigt. Der Artikel behandelt die Entwicklung von Tabellenklassen und des Tabellenkopfes auf der Grundlage eines zuvor erstellten Tabellenmodells. Die entwickelten Klassen bilden die Grundlage für die weitere Implementierung von View- und Controller-Komponenten, die in den folgenden Artikeln behandelt werden.
Entwicklung eines Toolkits zur Price-Action-Analyse (Teil 60): Objektive Swing-basierte Trendlinien für die Strukturanalyse
Wir stellen einen regelbasierten Ansatz für Trendlinien vor, der Indikator-Pivots vermeidet und geordnete Swings nutzt, die direkt aus unverarbeiteten Kursdaten abgeleitet werden. Der Artikel behandelt die Swing-Erkennung, die Bewertung der Swing-Größe mittels ATR oder fester Schwellenwerte sowie die Validierung von Aufwärts- und Abwärtsstrukturen und setzt diese Regeln anschließend in MQL5 mit einer Darstellung ohne Repainting und selektiver Anzeige um. Sie erhalten eine klare, reproduzierbare Methode zur Ermittlung struktureller Unterstützungs- und Widerstandsniveaus, die über verschiedene Marktbedingungen hinweg tragfähig bleibt.
Die Komponenten View und Controller für Tabellen im MQL5 MVC-Paradigma: Veränderbare Elemente
In diesem Artikel werden wir die Funktionalität der Größenänderung von Steuerelementen durch Ziehen der Kanten und Ecken des Elements mit der Maus hinzufügen.
Die Grenzen des maschinellen Lernens überwinden (Teil 7): Automatische Strategieauswahl
Dieser Artikel zeigt, wie man mit MetaTrader 5 automatisch potenziell profitable Handelsstrategien identifizieren kann. White-Box-Lösungen, die auf unüberwachter Matrixfaktorisierung beruhen, sind schneller zu konfigurieren, leichter zu interpretieren und bieten eine klare Anleitung, welche Strategien beibehalten werden sollen. Black-Box-Lösungen sind zwar zeitaufwändiger, eignen sich aber besser für komplexe Marktbedingungen, die mit White-Box-Ansätzen nicht erfasst werden können. Diskutieren Sie mit uns, wie unsere Handelsstrategien uns helfen können, unter allen Umständen profitable Strategien zu identifizieren.
Von der Grundstufe bis zur Mittelstufe: Indikator (III)
In diesem Artikel wird untersucht, wie verschiedene grafische Darstellungsindikatoren wie DRAW_COLOR_LINE und DRAW_FILLING deklariert werden können. Außerdem werden wir natürlich lernen, wie man Charts mit mehreren Indikatoren auf einfache, praktische und schnelle Weise erstellt. Dies kann Ihre Sichtweise auf den MetaTrader 5 und den Markt als Ganzes wirklich verändern.
Der MQL5 Standard Library Explorer (Teil 3): Experte für den Kanal der Standardabweichung
In dieser Diskussion werden wir einen Expert Advisor entwickeln, der die Klassen CTrade und CStdDevChannel verwendet und dabei mehrere Filter zur Verbesserung der Rentabilität anwendet. In dieser Phase wird unsere vorherige Diskussion in die Praxis umgesetzt. Außerdem werde ich einen weiteren einfachen Ansatz vorstellen, der Ihnen helfen soll, die MQL5-Standardbibliothek und die ihr zugrunde liegende Codebasis besser zu verstehen. Nehmen Sie an der Diskussion teil, um diese Konzepte in der Praxis zu erkunden.
Von der Grundstufe bis zur Mittelstufe: Template und Typename (V)
In diesem Artikel werden wir einen letzten einfachen Anwendungsfall für Vorlagen untersuchen und die Vorteile und die Notwendigkeit der Verwendung von typename in Ihrem Code diskutieren. Auch wenn dieser Artikel auf den ersten Blick etwas kompliziert erscheint, ist es wichtig, ihn richtig zu verstehen, um später Vorlagen und typename verwenden zu können.
Vom Einsteiger zum Experten: Statistische Validierung von Angebots- und Nachfragezonen
Heute decken wir die oft übersehene statistische Grundlage hinter den Handelsstrategien für Angebot und Nachfrage auf. Durch die Kombination von MQL5 mit Python über einen Jupyter-Notebook-Workflow führen wir eine strukturierte, datengesteuerte Untersuchung durch, die darauf abzielt, visuelle Marktannahmen in messbare Erkenntnisse zu verwandeln. Dieser Artikel behandelt den gesamten Forschungsprozess, einschließlich der Datenerfassung, der Python-basierten statistischen Analyse, des Algorithmusentwurfs, der Tests und der endgültigen Schlussfolgerungen. Um die Methodik und die Ergebnisse im Detail nachzuvollziehen, lesen Sie den vollständigen Artikel.
Bivariate Copulae in MQL5 (Teil 2): Implementierung archimedischer Copulae in MQL5
Im zweiten Teil der Serie diskutieren wir die Eigenschaften bivariater archimedischer Copulae und ihre Implementierung in MQL5. Wir untersuchen auch die Anwendung von Copulae bei der Entwicklung einer einfachen Paarhandelsstrategie.
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.
Entwicklung eines dynamischen Multi-Pair-EA (Teil 6): Adaptive Spread-Sensitivität für hochfrequente Symbolwechsel
In diesem Teil werden wir uns auf die Entwicklung einer intelligenten Ausführungsschicht konzentrieren, die die Spread-Bedingungen in Echtzeit über mehrere Symbole hinweg kontinuierlich überwacht und auswertet. Der EA passt seine Symbolauswahl dynamisch an, indem er den Handel auf der Grundlage der Spread-Effizienz und nicht nach festen Regeln aktiviert oder deaktiviert. Dieser Ansatz ermöglicht es Hochfrequenz-Multi-Pair-Systemen, kostengünstige Symbole zu priorisieren.
Automatisierung des Indikators Market Memory Zones: Bereiche, zu denen der Kurs voraussichtlich zurückkehrt
Dieser Artikel verwandelt Market Memory Zones von einem reinen Chart-Konzept in einen vollwertigen MQL5-Expert Advisor. Das System automatisiert die Erkennung von Displacement-Zonen, Strukturübergängen (CHoCH) und Liquidity Sweep-Zonen mithilfe von ATR- und Kerzenstruktur-Filtern, wendet eine Bestätigung auf einem niedrigeren Zeitrahmen an und sorgt für eine risikobasierte Positionsgrößenbestimmung mit dynamischen Stop-Loss- und strukturbasierten Take-Profit-Zielen. Sie erhalten die Code-Architektur für die Erkennung, die Einstiegspunkte, das Handelsmanagement und die Visualisierung sowie eine kurze Auswertung über den Backtest.
Graphentheorie: Einsatz von Breadth-First Search (BFS) im Trading
Breadth First Search (BFS) verwendet Level-Order-Traversierung, um die Marktstruktur als einen gerichteten Graphen von Swings zu modellieren, der sich im Zeitverlauf entwickelt. Durch die schichtweise Analyse historischer Bars oder Sitzungen priorisiert BFS das jüngste Kursverhalten und berücksichtigt gleichzeitig die historische Marktprägung.
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.
Integration externer Anwendungen mit MQL5 Community OAuth
Erfahren Sie, wie Sie Ihrer Android-App mit dem OAuth-2.0-Autorisierungscodefluss die Funktion „Sign in with MQL5“ hinzufügen. Die Anleitung behandelt die App-Registrierung, Endpunkte, Redirect URI, Custom Tabs, Deep-Link-Handling und ein PHP-Backend, das den Code für ein Access-Token über HTTPS austauscht. Sie werden echte MQL5-Nutzer authentifizieren und auf Profildaten wie Rang und Ruf zugreifen.
Marktsimulation (Teil 12): Sockets (VI)
In diesem Artikel werden wir uns ansehen, wie man bestimmte Probleme und Fragen lösen kann, die bei der Verwendung von Python-Code in anderen Programmen auftreten. Insbesondere werden wir ein häufiges Problem demonstrieren, das bei der Verwendung von Excel in Verbindung mit MetaTrader 5 auftritt, obwohl wir Python verwenden werden, um diese Interaktion zu erleichtern. Diese Umsetzung hat jedoch einen kleinen Nachteil. Dies trifft nicht in allen Fällen zu, sondern nur in bestimmten Situationen. Wenn es dazu kommt, muss man die Ursache verstehen. Im heutigen Artikel werden wir zunächst erklären, wie dieses Problem gelöst werden kann.
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.
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.
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.
Entwicklung eines Toolkits zur Price-Action-Analyse (Teil 62): Entwicklung eines adaptiven Systems in MQL5 zur Erkennung paralleler Kanäle und den Ausbrüchen.
Dieser Artikel stellt ein adaptives System zur Erkennung paralleler Kanäle und den Ausbrüchen daraus in MQL5 vor. Darin wird erläutert, wie Swing-Punkte ermittelt, Kanäle konstruiert und dynamisch neu berechnet werden und wie Ausbrüche durch persistente Signale bestätigt und visualisiert werden. Das Framework vereint Trendliniengeometrie, ATR-basierte Filterung und Retest-Validierung, um eine zuverlässige Kursanalyse in Echtzeit für professionelle Chartanalysen und Handelsentscheidungen zu ermöglichen.
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.
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.
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.