Die Komponenten View und Controller für Tabellen im MQL5 MVC-Paradigma: Container
In diesem Artikel geht es um die Erstellung eines „Container“ für Steuerelemente, das den Bildlauf seines Inhalts unterstützt. Im Rahmen dieses Prozesses werden die bereits implementierten Klassen von Grafikbibliothekssteuerungen verbessert.
Entwicklung eines individuellen Indikators für die Marktstimmung
In diesem Artikel entwickeln wir einen nutzerdefinierten Indikator für die Marktstimmung, um die Bedingungen in aufwärts, abwärts, mehr und weniger Risiko oder neutral zu klassifizieren. Durch die Verwendung von mehreren Zeitrahmen kann der Indikator Händlern eine klarere Perspektive der allgemeinen Markttendenz und der kurzfristigen Bestätigungen bieten.
Entwicklung eines Replay Systems (Teil 53): Die Dinge werden kompliziert (V)
In diesem Artikel behandeln wir ein wichtiges Thema, das nur wenige Menschen verstehen: Nutzerdefinierte Ereignisse. Gefahren. Vor- und Nachteile dieser Elemente. Dieses Thema ist der Schlüssel für diejenigen, die professionelle Programmierer in MQL5 oder einer anderen Sprache werden wollen. Hier werden wir uns auf MQL5 und MetaTrader 5 konzentrieren.
MQL5 Handels-Toolkit (Teil 4): Entwicklung einer EX5-Bibliothek zur Verwaltung der Handelsgeschichte
Lernen Sie, wie Sie geschlossene Positionen, Aufträge und Deals mit MQL5 abrufen, verarbeiten, klassifizieren, sortieren, analysieren und verwalten können, indem Sie in einer detaillierten Schritt-für-Schritt-Anleitung eine umfangreiche History Management EX5 Library erstellen.
USD- und EUR-Index-Charts — Beispiel für einen MetaTrader 5-Dienst
Wir werden die Erstellung und Aktualisierung von Charts für den USD-Index (USDX) und den EUR-Index (EURX) anhand eines MetaTrader 5-Dienstes als Beispiel betrachten. Beim Starten des Dienstes wird geprüft, ob das gewünschte synthetische Instrument vorhanden ist, es wird gegebenenfalls erstellt und im Fenster Market Watch platziert. Die Minuten- und Tick-Historie des synthetischen Instruments wird anschließend erstellt, gefolgt von dem Chart des erstellten Instruments.
Alternative Risiko-Ertrags-Metriken in MQL5
In diesem Artikel stellen wir die Umsetzung mehrere Risikorenditekennzahlen vor, die als Alternativen zur Sharpe-Ratio angepriesen werden, und untersuchen hypothetische Aktienkurven, um ihre Eigenschaften zu analysieren.
MQL5 beherrschen, vom Anfänger zum Profi (Teil V): Grundlegende Operatoren für die Ablaufkontrolle
Dieser Artikel befasst sich mit den wichtigsten Operatoren, die zur Änderung des Programmablaufs verwendet werden: bedingte Anweisungen, Schleifen und Switch-Anweisungen. Die Verwendung dieser Operatoren ermöglicht es den von uns erstellten Funktionen, sich „intelligenter“ zu verhalten.
Integration von MQL5 mit Datenverarbeitungspaketen (Teil 3): Verbesserte Datenvisualisierung
In diesem Artikel werden wir eine erweiterte Datenvisualisierung durchführen, indem wir über einfache Charts hinausgehen und Funktionen wie Interaktivität, geschichtete Daten und dynamische Elemente einbeziehen, die es Händlern ermöglichen, Trends, Muster und Korrelationen effektiver zu untersuchen.
Eine Einführung in die Kurven von Receiver Operating Characteristic
ROC-Kurven sind grafische Darstellungen, die zur Bewertung der Leistung von Klassifikatoren verwendet werden. Obwohl ROC-Diagramme relativ einfach zu handhaben sind, gibt es bei ihrer Verwendung in der Praxis häufig Missverständnisse und Fallstricke. Dieser Artikel bietet eine Einführung in ROC-Diagramme als Hilfsmittel für Praktiker, die die Leistungsbewertung von Klassifikatoren verstehen wollen.
Klassische Strategien neu interpretieren (Teil 14): Analyse mehrerer Strategien
In diesem Artikel setzen wir unsere Erforschung der Erstellung eines Ensembles von Handelsstrategien und der Verwendung des MT5 genetischen Optimierers zur Abstimmung der Strategieparameter fort. Heute haben wir die Daten in Python analysiert. Dabei hat sich gezeigt, dass unser Modell besser vorhersagen kann, welche Strategie besser abschneiden wird, und eine höhere Genauigkeit erreicht als die direkte Vorhersage der Marktrenditen. Als wir unsere Anwendung jedoch mit ihren statistischen Modellen testeten, fielen unsere Leistungswerte drastisch ab. In der Folge stellten wir fest, dass der genetische Optimierer leider stark korrelierte Strategien bevorzugte, was uns dazu veranlasste, unsere Methode zu überarbeiten, um die Stimmgewichte fest zu halten und die Optimierung stattdessen auf Indikatoreinstellungen zu konzentrieren.
Vom Neuling zum Experten: Backend Operations Monitor mit MQL5
Die Verwendung einer vorgefertigten Lösung im Handel, ohne sich mit der internen Funktionsweise des Systems zu befassen, mag zwar beruhigend klingen, doch ist dies für Entwickler nicht immer der Fall. Irgendwann tritt ein Upgrade, eine Leistungsstörung oder ein unerwarteter Fehler auf, und es ist wichtig, genau zu wissen, woher das Problem kommt, um es schnell zu diagnostizieren und zu beheben. Die heutige Diskussion konzentriert sich auf die Aufdeckung dessen, was normalerweise hinter den Kulissen eines Expert Advisors passiert, und auf die Entwicklung einer nutzerdefinierten Klasse für die Anzeige und Protokollierung von Backend-Prozessen mit MQL5. Dies gibt sowohl Entwicklern als auch Händlern die Möglichkeit, Fehler schnell zu lokalisieren, das Verhalten zu überwachen und auf spezifische Diagnoseinformationen für jeden EA zuzugreifen.
Erstellen eines Handelsadministrator-Panels in MQL5 (Teil VII): Vertrauenswürdiger Nutzer, Wiederherstellung und Kryptografie
Sicherheitsabfragen, wie die, die jedes Mal ausgelöst werden, wenn Sie den Chart aktualisieren, ein neues Paar zum Chat mit dem Admin Panel EA hinzufügen oder das Terminal neu starten, können lästig werden. In dieser Diskussion werden wir eine Funktion untersuchen und implementieren, die die Anzahl der Anmeldeversuche verfolgt, um einen vertrauenswürdigen Nutzer zu identifizieren. Nach einer bestimmten Anzahl von Fehlversuchen geht die Anwendung zu einem erweiterten Anmeldeverfahren über, das auch die Wiederherstellung des Passcodes für Nutzer erleichtert, die ihn vergessen haben. Außerdem werden wir uns damit beschäftigen, wie Kryptographie effektiv in das Admin Panel integriert werden kann, um die Sicherheit zu erhöhen.
Developing a Replay System (Part 36): Making Adjustments (II)
One of the things that can make our lives as programmers difficult is assumptions. In this article, I will show you how dangerous it is to make assumptions: both in MQL5 programming, where you assume that the type will have a certain value, and in MetaTrader 5, where you assume that different servers work the same.
Entwicklung eines Replay-Systems (Teil 67): Verfeinerung des Kontrollindikators
In diesem Artikel werden wir uns ansehen, was mit ein wenig Code-Verfeinerung erreicht werden kann. Diese Verfeinerung zielt darauf ab, unseren Code zu vereinfachen, mehr Gebrauch von MQL5-Bibliotheksaufrufen zu machen und ihn vor allem viel stabiler, sicherer und einfacher in anderen Projekten zu verwenden, die wir in Zukunft entwickeln werden.
Erstellen eines Handelsadministrator-Panels in MQL5 (Teil XI): Modernes Merkmal Kommunikationsschnittstelle (I)
Heute konzentrieren wir uns auf die Verbesserung der Messaging-Schnittstelle des Kommunikationspanels, um sie an die Standards moderner, leistungsstarker Kommunikationsanwendungen anzupassen. Diese Verbesserung wird durch eine Aktualisierung der Klasse CommunicationsDialog erreicht. Begleiten Sie uns in diesem Artikel und in der Diskussion, wenn wir die wichtigsten Erkenntnisse erkunden und die nächsten Schritte bei der Weiterentwicklung der Schnittstellenprogrammierung mit MQL5 skizzieren.
Erstellen eines Handelsadministrator-Panels in MQL5 (Teil IX): Code Organisation (III): Kommunikationsmodul
Nehmen Sie an einer ausführlichen Diskussion über die neuesten Fortschritte im MQL5-Schnittstellendesign teil, wenn wir das neu gestaltete Kommunikations-Panel vorstellen und unsere Serie über den Aufbau des neuen Admin-Panels unter Verwendung von Modularisierungsprinzipien fortsetzen. Wir werden die Klasse CommunicationsDialog Schritt für Schritt entwickeln und ausführlich erklären, wie man sie von der Klasse Dialog erbt. Außerdem werden wir Arrays und die ListView-Klasse in unserer Entwicklung nutzen. Gewinnen Sie umsetzbare Erkenntnisse, um Ihre MQL5-Entwicklungsfähigkeiten zu verbessern - lesen Sie den Artikel und beteiligen Sie sich an der Diskussion im Kommentarbereich!
Feature Engineering mit Python und MQL5 (Teil II): Winkel des Preises (2), Polarkoordinaten
In diesem Artikel unternehmen wir den zweiten Versuch, die Veränderungen des Preisniveaus auf einem beliebigen Markt in eine entsprechende Veränderung des Winkels umzuwandeln. Diesmal haben wir einen mathematisch anspruchsvolleren Ansatz gewählt als bei unserem ersten Versuch, und die Ergebnisse, die wir erhalten haben, legen nahe, dass unsere Änderung des Ansatzes die richtige Entscheidung war. Diskutieren Sie heute mit uns, wie wir Polarkoordinaten verwenden können, um den Winkel zu berechnen, der durch Veränderungen der Preisniveaus gebildet wird, und zwar auf sinnvolle Weise, unabhängig davon, welchen Markt Sie gerade analysieren.
Von der Grundstufe bis zur Mittelstufe: Arrays und Zeichenketten (I)
Im heutigen Artikel werden wir uns mit einigen speziellen Datentypen befassen. Zu Beginn werden wir definieren, was eine Zeichenkette ist, und erklären, wie man einige grundlegende Verfahren anwendet. Dies ermöglicht uns die Arbeit mit dieser Art von Daten, die interessant, wenn auch für Anfänger manchmal etwas verwirrend sein kann. Der hier dargestellte Inhalt ist 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.
Vom Anfänger zum Experten: Automatisierung von Intraday-Strategien
Wir setzen das Konzept des EMA-50-Retests in einen verhaltensgesteuerten Expert Advisor für den Intraday-Handel um. Die Studie formalisiert Trendrichtung, EMA-Interaktionen (Pierce-and-Close), Reaktionsbestätigungen und optionale Filter und implementiert diese anschließend in MQL5 mithilfe modularer Funktionen und ressourcensicherer Handles. Durch visuelle Tests im Strategy Tester wird die Richtigkeit der Signale überprüft. Das Ergebnis ist eine übersichtliche Vorlage für die Codierung diskretionär gehandelter Abpraller.
Entwicklung eins Replay Systems (Teil 49): Die Dinge werden kompliziert (I)
In diesem Artikel werden wir die Dinge ein wenig komplizierter machen. Anhand der in den vorangegangenen Artikeln gezeigten Vorgehensweise werden wir die Vorlagendatei öffnen, damit der Nutzer seine eigene Vorlage verwenden kann. Ich werde jedoch nach und nach Änderungen vornehmen, da ich auch den Indikator verfeinern werde, um die Belastung des MetaTrader 5 zu verringern.
Erstellen eines Handelsadministrator-Panels in MQL5 (Teil IX): Code Organisation (V): Die Klasse AnalyticsPanel
In dieser Diskussion wird untersucht, wie man Echtzeit-Marktdaten und Handelskontoinformationen abruft, verschiedene Berechnungen durchführt und die Ergebnisse in einem nutzerdefinierten Panel anzeigt. Um dies zu erreichen, werden wir die Entwicklung der Klasse AnalyticsPanel vertiefen, die all diese Funktionen, einschließlich der Panel-Erstellung, kapselt. Dieser Aufwand ist Teil unserer kontinuierlichen Erweiterung des New Admin Panel EA, mit der wir fortschrittliche Funktionalitäten unter Verwendung modularer Designprinzipien und Best Practices für die Codeorganisation einführen.
Vom Neuling zum Experten: Animierte Nachrichtenüberschrift mit MQL5 (I)
Die Zugänglichkeit von Nachrichten ist ein entscheidender Faktor beim Handel mit dem MetaTrader 5-Terminal. Obwohl zahlreiche Nachrichten-APIs verfügbar sind, stehen viele Händler vor der Herausforderung, auf diese zuzugreifen und sie effektiv in ihre Handelsumgebung zu integrieren. In dieser Diskussion wollen wir eine schlanke Lösung entwickeln, die Nachrichten direkt auf die Chart bringt – dort, wo sie am meisten gebraucht werden. Zu diesem Zweck wird ein Expert Advisor für News Headline erstellt, der Echtzeit-Nachrichten-Updates aus API-Quellen überwacht und anzeigt.
Erstellen eines Handelsadministrator-Panels in MQL5 (Teil IX): Code Organisation (II): Modularisierung
In dieser Diskussion gehen wir einen Schritt weiter, indem wir unser MQL5-Programm in kleinere, besser handhabbare Module aufteilen. Diese modularen Komponenten werden dann in das Hauptprogramm integriert, um dessen Organisation und Wartbarkeit zu verbessern. Dieser Ansatz vereinfacht die Struktur unseres Hauptprogramms und macht die einzelnen Komponenten in anderen Expert Advisors (EAs) und Indikatorentwicklungen wiederverwendbar. Durch diesen modularen Aufbau schaffen wir eine solide Grundlage für künftige Erweiterungen, von denen sowohl unser Projekt als auch die breitere Entwicklergemeinschaft profitiert.
Umstellung auf MQL5 Algo Forge (Teil 4): Arbeiten mit Versionen und Releases
Wir werden die Entwicklung der Projekte Simple Candles und Adwizard fortsetzen und dabei auch die feineren Aspekte der Verwendung des Versionskontrollsystems und des Repositorys von MQL5 Algo Forge beschreiben.
Entwicklung eines Toolkits zur Preisaktionsanalyse (Teil 56): Interpretation von Annahme und Ablehnung bei Sitzungen anhand des CPI
Dieser Artikel stellt einen sitzungsbasierten Analyseansatz vor, der zeitlich definierte Marktsitzungen mit dem Candle Pressure Index (CPI) kombiniert, um anhand von Schlusskursdaten und klar definierten Regeln das Annahme- und Ablehnungsverhalten an Sitzungsgrenzen zu klassifizieren.
Entwicklung eines Replay System (Teil 57): Verstehen eines Testdienstes
Ein Hinweis: Obwohl der Code für einen Dienst in diesem Artikel nicht enthalten ist und erst im nächsten Artikel zur Verfügung gestellt wird, werde ich ihn erläutern, da wir denselben Code als Sprungbrett für unsere eigentliche Entwicklung verwenden werden. Seien Sie also aufmerksam und geduldig. Warten Sie auf den nächsten Artikel, denn jeden Tag wird es interessanter.
Population ADAM (Adaptive Moment Estimation)
Der Artikel stellt die Umwandlung des bekannten und beliebten ADAM-Gradientenoptimierungsverfahrens in einen Populationsalgorithmus und dessen Modifikation durch die Einführung hybrider Individuen vor. Der neue Ansatz ermöglicht die Schaffung von Agenten, die Elemente erfolgreicher Entscheidungen mit Hilfe von Wahrscheinlichkeitsverteilungen kombinieren. Die wichtigste Innovation ist die Bildung hybrider Populationen, die adaptiv Informationen aus den vielversprechendsten Lösungen sammeln und so die Effizienz der Suche in komplexen mehrdimensionalen Räumen erhöhen.
Die View- und Controller-Komponenten für Tabellen im MQL5 MVC-Paradigma: Einfache Steuerung
Der Artikel behandelt einfache Steuerelemente als Komponenten von komplexeren grafischen Elementen der View-Komponente im Rahmen der Tabellenimplementierung im MVC-Paradigma (Model-View-Controller). Die Grundfunktionalität des Controllers ist für die Interaktion der Elemente mit dem Nutzer und untereinander implementiert. Dies ist der zweite Artikel über die Komponente View und der vierte in einer Reihe von Artikeln über die Erstellung von Tabellen für das MetaTrader 5 Client Terminal.
Klassische Strategien neu interpretiert (Teil 16): Doppelte Ausbrüche aus den Bollinger Bänder
Dieser Artikel führt den Leser durch eine neu gestaltete Version der klassischen Bollinger Band Ausbruchsstrategie. Sie zeigt wesentliche Schwachstellen des ursprünglichen Ansatzes auf, wie z. B. seine bekannte Anfälligkeit für falsche Ausbrüche. In diesem Artikel soll eine mögliche Lösung vorgestellt werden: die Handelsstrategie der doppelten Bollinger Bänder. Dieser relativ weniger bekannte Ansatz ergänzt die Schwächen der klassischen Version und bietet eine dynamischere Perspektive auf die Finanzmärkte. Sie hilft uns, die alten Beschränkungen zu überwinden, die durch die ursprünglichen Regeln festgelegt wurden, und bietet den Händlern einen stärkeren und anpassungsfähigeren Rahmen.
Algorithmus der Atomic Orbital Search (AOS)
Der Artikel befasst sich mit dem Algorithmus der atomare Orbitalsuche (AOS), der die Konzepte des atomaren Orbitalmodells nutzt, um die Suche nach Lösungen zu simulieren. Der Algorithmus basiert auf Wahrscheinlichkeitsverteilungen und der Dynamik von Wechselwirkungen im Atom. In dem Artikel werden die mathematischen Aspekte von AOS im Detail erörtert, einschließlich der Aktualisierung der Positionen der Lösungsvorschläge und der Mechanismen der Energieaufnahme und -abgabe. AOS eröffnet neue Horizonte für die Anwendung von Quantenprinzipien auf Computerprobleme, indem es einen innovativen Ansatz zur Optimierung bietet.
Beherrschung von Protokollaufzeichnungen (Teil 9): Implementierung des Builder-Musters und Hinzufügen von Standardkonfigurationen
Dieser Artikel zeigt, wie man die Verwendung der Logify-Bibliothek mit dem Builder-Muster und automatischen Standardkonfigurationen drastisch vereinfachen kann. Es erklärt die Struktur der spezialisierten Builder, wie man sie mit intelligenter Autovervollständigung verwendet und wie man ein funktionierendes Protokoll auch ohne manuelle Konfiguration sicherstellt. Es umfasst auch Anpassungen für MetaTrader 5 Build 5100.
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.
Analyse mehrerer Symbole mit Python und MQL5 (Teil 3): Dreieck der Wechselkurse
Händler sehen sich oft mit Drawdowns aufgrund falscher Signale konfrontiert, während das Warten auf eine Bestätigung zu verpassten Chancen führen kann. In diesem Artikel wird eine dreieckige Handelsstrategie vorgestellt, die den Silberpreis in Dollar (XAGUSD) und Euro (XAGEUR) zusammen mit dem EURUSD-Wechselkurs verwendet, um das Rauschen herauszufiltern. Durch die Nutzung marktübergreifender Beziehungen können Händler versteckte Stimmungen aufdecken und ihre Eingaben in Echtzeit verfeinern.
Selbstoptimierende Expert Advisors in MQL5 (Teil 8): Analyse mehrerer Strategien (2)
Nehmen Sie an unserer Folgediskussion teil, in der wir unsere ersten beiden Handelsstrategien zu einer Gesamthandelsstrategie zusammenführen werden. Wir werden die verschiedenen Schemata demonstrieren, die für die Kombination mehrerer Strategien möglich sind, und wir werden auch zeigen, wie man den Parameterraum kontrollieren kann, um sicherzustellen, dass eine effektive Optimierung möglich bleibt, selbst wenn unsere Parametergröße wächst.
Entwicklung eines nutzerdefinierten Indikators für die Kontoperformance-Matrix
Dieser Indikator fungiert als Disziplinierungsinstrument, indem er Kontokapital, Gewinn/Verlust und Drawdown in Echtzeit verfolgt und ein Performance-Dashboard anzeigt. Es kann den Händlern helfen, konsistent zu bleiben, übermäßiges Handeln zu vermeiden und die Regeln für die Anfechtung von Prop-Firmen einzuhalten.
Risikomanagement (Teil 3): Aufbau der Hauptklasse für das Risikomanagement
In diesem Artikel beginnen wir mit der Erstellung einer zentralen Risikomanagementklasse, die für die Kontrolle der Risiken im System entscheidend sein wird. Wir werden uns darauf konzentrieren, die Grundlagen zu schaffen und die grundlegenden Strukturen, Variablen und Funktionen zu definieren. Darüber hinaus werden wir die notwendigen Methoden zur Festlegung von Gewinn- und Verlustobergrenzen einführen und damit die Grundlage für das Risikomanagement schaffen.
Websockets für MetaTrader 5: Asynchrone Client-Verbindungen mit dem Windows-API
Dieser Artikel beschreibt die Entwicklung einer nutzerdefinierten, dynamisch gelinkten Bibliothek, die asynchrone Websocket-Client-Verbindungen für MetaTrader-Programme ermöglicht.
Adaptive Social Behavior Optimization (ASBO): Das Verfahren von Schwefel und Box-Muller
Dieser Artikel bietet einen faszinierenden Einblick in die Welt des Sozialverhaltens lebender Organismen und dessen Einfluss auf die Entwicklung eines neuen mathematischen Modells - ASBO (Adaptive Social Behavior Optimization). Wir werden untersuchen, wie die in lebenden Gesellschaften beobachteten Prinzipien von Führung, Nachbarschaft und Kooperation die Entwicklung innovativer Optimierungsalgorithmen inspirieren.
Bivariate Copulae in MQL5 (Teil 1): Implementierung von Gauß- und Studentische t-Copulae für die Modellierung von Abhängigkeiten
Dies ist der erste Teil einer Artikelserie, in der die Implementierung von bivariaten Copulae in MQL5 vorgestellt wird. Dieser Artikel enthält Code zur Implementierung der Gauß‘schen und Studentischen t-Copulae. Außerdem werden die Grundlagen der statistischen Copulae und verwandte Themen behandelt. Der Code basiert auf dem Python-Paket Arbitragelab von Hudson und Thames.
Entwicklung eines Replay-Systems (Teil 74): Neuer Chart-Handel (I)
In diesem Artikel werden wir den letzten Code, der in dieser Serie über Chart Trade gezeigt wurde, ändern. Diese Änderungen sind notwendig, um den Code an das aktuelle Wiedergabe-/Simulationssystemmodell anzupassen. Der hier dargestellte Inhalt ist 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.