Entwicklung eines MQTT-Clients für Metatrader 5: ein TDD-Ansatz - Teil 5
Dieser Artikel ist der fünfte Teil einer Serie, die unsere Entwicklungsschritte für einen nativen MQL5-Client für das MQTT 5.0-Protokoll beschreibt. In diesem Teil beschreiben wir die Struktur von PUBLISH-Paketen, wie wir ihre Publish Flags setzen, Topic Name(s) Strings kodieren und Packet Identifier(s) setzen, falls erforderlich.
Kategorientheorie in MQL5 (Teil 5): Differenzkern oder Egalisator
Die Kategorientheorie ist ein vielfältiger und expandierender Zweig der Mathematik, der erst seit kurzem in der MQL5-Gemeinschaft Beachtung findet. In dieser Artikelserie sollen einige der Konzepte und Axiome erforscht und untersucht werden, mit dem übergeordneten Ziel, eine offene Bibliothek einzurichten, die Einblicke gewährt und hoffentlich auch die Nutzung dieses bemerkenswerten Bereichs für die Strategieentwicklung von Händlern fördert.
Kategorientheorie in MQL5 (Teil 7): Mehrere, relative und indizierte Domänen
Die Kategorientheorie ist ein vielfältiger und expandierender Zweig der Mathematik, der erst seit kurzem in der MQL5-Gemeinschaft Beachtung findet. In dieser Artikelserie sollen einige der Konzepte und Axiome erforscht und untersucht werden, mit dem übergeordneten Ziel, eine offene Bibliothek einzurichten, die Einblicke gewährt und hoffentlich auch die Nutzung dieses bemerkenswerten Bereichs für die Strategieentwicklung von Händlern fördert.
Arbeiten mit ONNX-Modellen in den Datenformaten float16 und float8
Die Datenformate, die zur Darstellung von Modellen des maschinellen Lernens verwendet werden, spielen eine entscheidende Rolle für deren Effektivität. In den letzten Jahren sind mehrere neue Datentypen aufgetaucht, die speziell für die Arbeit mit Deep-Learning-Modellen entwickelt wurden. In diesem Artikel werden wir uns auf zwei neue Datenformate konzentrieren, die sich in modernen Modellen durchgesetzt haben.
Grafiken in der Bibliothek DoEasy (Teil 98): Verschieben von Angelpunkten erweiterter grafischer Standardobjekte
In diesem Artikel setze ich die Entwicklung erweiterter grafischer Standardobjekte fort und schaffe die Funktionen zum Verschieben von Angelpunkten zusammengesetzter grafischer Objekte unter Verwendung von Kontrollpunkten zur Verwaltung der Koordinaten der Angelpunkte des grafischen Objekts.
Algorithmen zur Optimierung mit Populationen: Mikro-Künstliches Immunsystem (Mikro-AIS)
Der Artikel befasst sich mit einer Optimierungsmethode, die auf den Prinzipien des körpereigenen Immunsystems basiert - Mikro-Künstliches Immunsystem (Micro Artificial Immune System, Micro-AIS) - eine Modifikation von AIS. Micro-AIS verwendet ein einfacheres Modell des Immunsystems und einfache Informationsverarbeitungsprozesse des Immunsystems. In dem Artikel werden auch die Vor- und Nachteile von Mikro-AIS im Vergleich zu herkömmlichen AIS erörtert.
Einführung in MQL5 (Teil 3): Beherrschung der Kernelemente von MQL5
Entdecken Sie die Grundlagen der MQL5-Programmierung in diesem einsteigerfreundlichen Artikel, in dem wir Arrays, nutzerdefinierte Funktionen, Präprozessoren und die Ereignisbehandlung entmystifizieren, wobei jede Codezeile verständlich erklärt wird. Erschließen wir die Leistungsfähigkeit von MQL5 mit einem einzigartigen Ansatz, der das Verständnis bei jedem Schritt sicherstellt. Dieser Artikel legt den Grundstein für die Beherrschung von MQL5, indem er die Erklärung jeder Codezeile hervorhebt und eine eindeutige und bereichernde Lernerfahrung bietet.
DoEasy. Steuerung (Teil 5): Basisobjekt von WinForms, Paneel-Steuerelement, Parameter AutoSize
In diesem Artikel werde ich das Basisobjekt aller Bibliotheks-WinForms-Objekte erstellen und mit der Implementierung der AutoSize-Eigenschaft des Paneel-Objekts für WinForms beginnen – automatische Größenanpassung zum Anpassen des internen Inhalts des Objekts.
Kategorientheorie in MQL5 (Teil 8): Monoide
Dieser Artikel setzt die Serie über die Implementierung der Kategorientheorie in MQL5 fort. Hier führen wir Monoide als Bereich (Menge) ein, der die Kategorientheorie von anderen Datenklassifizierungsmethoden abhebt, indem er Regeln und ein Identitätselement enthält.
Implementierung des verallgemeinerten Hurst-Exponenten und des Varianz-Verhältnis-Tests in MQL5
In diesem Artikel untersuchen wir, wie der verallgemeinerte Hurst-Exponent und der Varianzverhältnis-Test verwendet werden können, um das Verhalten von Preisreihen in MQL5 zu analysieren.
Einführung in MQL5 (Teil 4): Strukturen, Klassen und Zeitfunktionen beherrschen
Enthüllen wir die Geheimnisse der MQL5-Programmierung in unserem neuesten Artikel! Vertiefen wir uns in die Grundlagen von Strukturen, Klassen und Zeitfunktionen und machen uns mit der Programmierung vertraut. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, unser Leitfaden vereinfacht komplexe Konzepte und bietet wertvolle Einblicke für die Beherrschung von MQL5. Verbessern Sie Ihre Programmierkenntnisse und bleiben Sie in der Welt des algorithmischen Handels an der Spitze!
DoEasy. Steuerung (Teil 16): TabControl WinForms-Objekt — mehrere Reihen von Registerkarten-Kopfzeilen, Dehnung der Kopfzeilen zur Anpassung an den Container
In diesem Artikel werde ich die Entwicklung von TabControl fortsetzen und die Anordnung von Tabulatorüberschriften auf allen vier Seiten des Steuerelements für alle Modi der Einstellung der Größe der Überschriften implementieren: Normal, Fixed und Fill To Right (rechts auffüllend).
DoEasy. Steuerung (Teil 13): Optimierung der Interaktion von WinForms-Objekten mit der Maus, Beginn der Entwicklung des WinForms-Objekts TabControl
In diesem Artikel werde ich den Umgang mit dem Aussehen von WinForms-Objekte nach dem Bewegen des Mauszeigers weg von dem Objekt, sowie die Entwicklung der TabControl WinForms-Objekt korrigieren und optimieren.
DoEasy. Steuerung (Teil 8): Objektkategorien von Basis-WinForms zur Steuerung von GroupBox- und CheckBox
Der Artikel befasst sich mit der Erstellung von ‚GroupBox‘ und ‚CheckBox‘ WinForms Objekten, sowie der Entwicklung von Basisobjekten für WinForms Objektkategorien. Alle erstellten Objekte sind noch statisch, d.h. sie können nicht mit der Maus interagieren.
Entwicklung eines Replay Systems (Teil 33): Auftragssystem (II)
Heute werden wir das Auftragssystem weiterentwickeln. Wie Sie sehen werden, werden wir in großem Umfang wiederverwenden, was bereits in anderen Artikeln gezeigt wurde. Dennoch werden Sie in diesem Artikel eine kleine Belohnung erhalten. Zunächst werden wir ein System entwickeln, das mit einem echten Handelsserver verwendet werden kann, sowohl von einem Demokonto als auch von einem echten Konto. Wir werden die Plattform MetaTrader 5 ausgiebig nutzen, die uns von Anfang an alle notwendige Unterstützung bietet.
Algorithmen zur Optimierung mit Populationen: Evolutionsstrategien, (μ,λ)-ES und (μ+λ)-ES
Der Artikel behandelt eine Gruppe von Optimierungsalgorithmen, die als Evolutionsstrategien (ES) bekannt sind. Sie gehören zu den allerersten Populationsalgorithmen, die evolutionäre Prinzipien für die Suche nach optimalen Lösungen nutzen. Wir werden Änderungen an den herkömmlichen ES-Varianten vornehmen und die Testfunktion und die Prüfstandsmethodik für die Algorithmen überarbeiten.
Kategorientheorie in MQL5 (Teil 4): Spannen, Experimente und Kompositionen
Die Kategorientheorie ist ein vielfältiger und expandierender Zweig der Mathematik, der in der MQL-Gemeinschaft noch relativ unentdeckt ist. In dieser Artikelserie sollen einige der Konzepte vorgestellt und untersucht werden, mit dem übergeordneten Ziel, eine offene Bibliothek einzurichten, die Einblicke gewährt und hoffentlich die Nutzung dieses bemerkenswerten Bereichs für die Strategieentwicklung von Händlern fördert.
Neuronale Netze leicht gemacht (Teil 68): Offline Preference-guided Policy Optimization
Seit den ersten Artikeln, die sich mit dem Verstärkungslernen befassten, haben wir uns auf die eine oder andere Weise mit zwei Problemen befasst: der Erkundung der Umgebung und der Bestimmung der Belohnungsfunktion. Jüngste Artikel haben sich mit dem Problem der Exploration beim Offline-Lernen befasst. In diesem Artikel möchte ich Ihnen einen Algorithmus vorstellen, bei dem die Autoren die Belohnungsfunktion vollständig eliminiert haben.
Entwicklung eines Replay Systems (Teil 37): Den Weg bereiten (I)
In diesem Artikel werden wir endlich das tun, was wir schon viel früher tun wollten. Da es jedoch an „festem Boden“ mangelt, habe ich mich nicht getraut, diesen Teil öffentlich zu präsentieren. Jetzt habe ich die Grundlage dafür. Ich schlage vor, dass Sie sich so weit wie möglich auf das Verständnis des Inhalts dieses Artikels konzentrieren. Ich meine nicht nur das Lesen. Ich möchte betonen, dass Sie, wenn Sie diesen Artikel nicht verstehen, die Hoffnung, den Inhalt der folgenden Artikel zu verstehen, völlig aufgeben können.
Entwicklung eines MQL5 RL-Agenten mit RestAPI-Integration (Teil 2): MQL5-Funktionen für die HTTP-Interaktion mit der REST-API des Tic-Tac-Toe-Spiels
In diesem Artikel werden wir darüber sprechen, wie MQL5 mit Python und FastAPI interagieren kann, indem wir HTTP-Aufrufe in MQL5 zur Interaktion mit dem Tic-Tac-Toe-Spiel in Python verwenden. Der Artikel beschreibt die Erstellung einer API mit FastAPI für diese Integration und bietet ein Testskript in MQL5, das die Vielseitigkeit von MQL5, die Einfachheit von Python und die Effektivität von FastAPI bei der Verbindung verschiedener Technologien zur Schaffung innovativer Lösungen hervorhebt.
MQL5-Assistenten-Techniken, die Sie kennen sollten (Teil 12): Das Newton-Polynom
Das Newtonsche Polynom, bei dem aus einer Reihe von Punkten quadratische Gleichungen erstellt werden, ist ein archaischer, aber interessanter Ansatz für die Betrachtung einer Zeitreihe. In diesem Artikel versuchen wir zu untersuchen, welche Aspekte dieses Konzept für Händler von Nutzen sein könnten, und gehen auch auf seine Grenzen ein.
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.
Entwicklung eines Replay Systems (Teil 35): Anpassungen vornehmen (I)
Bevor wir weitermachen können, müssen wir einige Dinge in Ordnung bringen. Dabei handelt es sich nicht um die notwendigen Korrekturen, sondern vielmehr um Verbesserungen bei der Verwaltung und Verwendung der Klasse. Der Grund dafür ist, dass die Fehler durch eine Interaktion innerhalb des Systems entstanden sind. Trotz der Versuche, die Ursache für diese Ausfälle herauszufinden, um sie zu beseitigen, blieben alle Versuche erfolglos. Einige dieser Fälle machen keinen Sinn, z. B. wenn wir Zeiger oder Rekursion in C/C++ verwenden, stürzt das Programm ab.
Entwicklung eines Replay Systems (Teil 36): Anpassungen vornehmen (II)
Eines der Dinge, die uns als Programmierer das Leben schwer machen können, sind Annahmen. In diesem Artikel zeige ich Ihnen, wie gefährlich es ist, Annahmen zu treffen: sowohl in der MQL5-Programmierung, wo Sie davon ausgehen, dass der Typ einen bestimmten Wert hat, als auch im MetaTrader 5, wo Sie davon ausgehen, dass verschiedene Server gleich funktionieren.
Entwicklung eines MQL5 Reinforcement Learning Agenten mit RestAPI Integration (Teil 1): Wie man RestAPIs in MQL5 verwendet
In diesem Artikel werden wir über die Bedeutung von APIs (Application Programming Interface) für die Interaktion zwischen verschiedenen Anwendungen und Softwaresystemen sprechen. Wir werden sehen, welche Rolle APIs bei der Vereinfachung der Interaktion zwischen Anwendungen spielen, damit sie Daten und Funktionen effizient gemeinsam nutzen können.
Datenkennzeichnung für die Zeitreihenanalyse (Teil 6):Anwendung und Test in einem EA mit ONNX
In dieser Artikelserie werden verschiedene Methoden zur Kennzeichnung (labeling) von Zeitreihen vorgestellt, mit denen Daten erstellt werden können, die den meisten Modellen der künstlichen Intelligenz entsprechen. Eine gezielte und bedarfsgerechte Kennzeichnung von Daten kann dazu führen, dass das trainierte Modell der künstlichen Intelligenz besser mit dem erwarteten Design übereinstimmt, die Genauigkeit unseres Modells verbessert wird und das Modell sogar einen qualitativen Sprung machen kann!
Entwicklung eines Replay System (Teil 34): Auftragssystem (III)
In diesem Artikel werden wir die erste Phase der Konstruktion abschließen. Obwohl dieser Teil recht schnell erledigt ist, werde ich auf Details eingehen, die zuvor nicht besprochen wurden. Ich werde einige Punkte erklären, die viele nicht verstehen. Wissen Sie, warum Sie die Umschalttaste oder die Strg-Taste drücken müssen?
MQL5-Assistenten-Techniken, die Sie kennen sollten (Teil 11): Number Walls
Number Walls oder Zahlenwände sind eine Variante der Linear Shift Back Registers, die Sequenzen auf ihre Vorhersagbarkeit hin überprüfen, indem sie auf Konvergenz prüfen. Wir sehen uns an, wie diese Ideen in MQL5 von Nutzen sein könnten.
Datenkennzeichnung für die Zeitreihenanalyse (Teil 5):Anwendung und Test in einem EA mit Socket
In dieser Artikelserie werden verschiedene Methoden zur Kennzeichnung (labeling) von Zeitreihen vorgestellt, mit denen Daten erstellt werden können, die den meisten Modellen der künstlichen Intelligenz entsprechen. Eine gezielte und bedarfsgerechte Kennzeichnung von Daten kann dazu führen, dass das trainierte Modell der künstlichen Intelligenz besser mit dem erwarteten Design übereinstimmt, die Genauigkeit unseres Modells verbessert wird und das Modell sogar einen qualitativen Sprung machen kann!
Erweiterte Variablen und Datentypen in MQL5
Variablen und Datentypen sind nicht nur in der MQL5-Programmierung, sondern auch in jeder anderen Programmiersprache ein sehr wichtiges Thema. MQL5-Variablen und -Datentypen können in einfache und erweiterte Typen unterteilt werden. In diesem Artikel werden wir die fortgeschrittenen identifizieren und kennenlernen, denn die einfachen haben wir bereits in einem früheren Artikel erwähnt.
Algorithmen zur Optimierung mit Populationen: Bacterial Foraging Optimization - Genetischer Algorithmus (BFO-GA)
In diesem Artikel wird ein neuer Ansatz zur Lösung von Optimierungsproblemen vorgestellt, bei dem Ideen aus BFO-Algorithmen (Bacterial Foraging Optimization, Optimierung gemäß bakterieller Nahrungssuche) und Techniken aus dem genetischen Algorithmus (GA) zu einem hybriden BFO-GA-Algorithmus kombiniert werden. Es verwendet Bakterienschwärme für die globale Suche nach einer optimalen Lösung und genetische Operatoren für die Verfeinerung lokaler Optima. Im Gegensatz zum ursprünglichen BFO können die Bakterien jetzt mutieren und Gene vererben.
Das Problem von Uneinigkeiten: Vertiefung der Erklärbarkeit von Komplexität in der KI
Tauchen Sie ein in das Herz des Rätsels der Künstlichen Intelligenz und navigieren Sie mit uns durch die turbulenten Gewässer der Erklärbarkeit. In einem Bereich, in dem Modelle ihr Innenleben verbergen, enthüllt unsere Untersuchung das „Uneinigkeitsproblem“ (disagreement problem), das in den Korridoren des maschinellen Lernens widerhallt.
Modifizierter Grid-Hedge EA in MQL5 (Teil III): Optimierung der einfachen Absicherungsstrategie (I)
In diesem dritten Teil werden die zuvor entwickelten Simple Hedge und Simple Grid Expert Advisors (EAs) erneut vorgestellt. Wir konzentrieren uns darauf, den Simple Hedge EA durch mathematische Analysen und einen Brute-Force-Ansatz zu verfeinern, mit dem Ziel, eine optimale Strategie zu entwickeln. Dieser Artikel befasst sich eingehend mit der mathematischen Optimierung der Strategie und legt den Grundstein für die künftige Erforschung der kodierungsbasierten Optimierung in späteren Ausgaben.
Deep Learning Modell GRU mit Python zu ONNX mit EA und GRU vs. LSTM Modelle
Wir werden Sie durch den gesamten Prozess der DL mit Python führen, um ein GRU ONNX-Modell zu erstellen, das in der Erstellung eines Expert Advisor (EA) für den Handel gipfelt, und anschließend das GRU-Modell mit dem LSTN-Modell vergleichen.