Quantitativer Ansatz für das Risikomanagement: Anwendung des VaR-Modells zur Optimierung eines Multiwährungsportfolios mit Python und MetaTrader 5
In diesem Artikel wird das Potenzial des Value-at-Risk (VaR)-Modells für die Optimierung von Portfolios in mehreren Währungen untersucht. Mit Hilfe von Python und der Funktionalität von MetaTrader 5 demonstrieren wir, wie man eine VaR-Analyse für eine effiziente Kapitalallokation und Positionsverwaltung implementiert. Von den theoretischen Grundlagen bis zur praktischen Umsetzung behandelt der Artikel alle Aspekte der Anwendung eines der robustesten Risikoberechnungssysteme - VaR - im algorithmischen Handel.
Entwicklung eines Replay Systems (Teil 41): Beginn der zweiten Phase (II)
Wenn Ihnen bis zu diesem Punkt alles richtig erschien, bedeutet dies, dass Sie bei der Entwicklung von Anwendungen nicht wirklich an die langfristige Perspektive denken. Im Laufe der Zeit müssen Sie keine neuen Anwendungen mehr programmieren, sondern nur noch dafür sorgen, dass sie zusammenarbeiten. Schauen wir uns also an, wie man den Mauszeiger fertigstellt.
Aufbau des Kerzenmodells Trend-Constraint (Teil 8): Entwicklung eines Expert Advisors (II)
Denken wir über einen unabhängigen Expert Advisor nach. Zuvor haben wir einen indikatorbasierten Expert Advisor besprochen, der auch mit einem unabhängigen Skript zum Zeichnen der Risiko- und Ertragsgeometrie zusammenarbeitet. Heute werden wir die Architektur eines MQL5 Expert Advisors besprechen, der alle Funktionen in einem Programm integriert.
Entwicklung eines Expertenberaters für mehrere Währungen (Teil 9): Sammeln von Optimierungsergebnissen für einzelne Handelsstrategie-Instanzen
Schauen wir uns die wichtigsten Phasen der EA-Entwicklung an. Eine der ersten Aufgaben besteht darin, eine einzelne Instanz der entwickelten Handelsstrategie zu optimieren. Versuchen wir, alle notwendigen Informationen über die Testergebnisse während der Optimierung an einem Ort zu sammeln.
Entwicklung eines Expert Advisors für mehrere Währungen (Teil 19): In Python implementierte Stufen erstellen
Bisher haben wir die Automatisierung des Starts von sequentiellen Verfahren zur Optimierung von EAs ausschließlich im Standard-Strategietester betrachtet. Was aber, wenn wir zwischen diesen Starts die gewonnenen Daten mit anderen Mitteln bearbeiten wollen? Wir werden versuchen, die Möglichkeit hinzuzufügen, neue Optimierungsstufen zu erstellen, die von in Python geschriebenen Programmen ausgeführt werden.
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.
MQL5-Assistenten-Techniken, die Sie kennen sollten (Teil 77): Verwendung des Gator-Oszillators und des Akkumulations-/Distributions-Oszillators
Der Gator Oscillator von Bill Williams und der Accumulation/Distribution Oscillator sind ein weiteres Indikatorpaar, das harmonisch in einem MQL5 Expert Advisor verwendet werden kann. Wir verwenden den Gator-Oszillator, weil er in der Lage ist, Trends zu bestätigen, während der A/D-Oszillator verwendet wird, um die Trends durch die Überprüfung des Volumens zu bestätigen. Bei der Erkundung dieser Indikatorenkombination verwenden wir wie immer den MQL5-Assistenten, um ihr Potenzial zu ermitteln und zu testen.
Developing a Replay System (Part 37): Paving the Path (I)
In this article, we will finally begin to do what we wanted to do much earlier. However, due to the lack of "solid ground", I did not feel confident to present this part publicly. Now I have the basis to do this. I suggest that you focus as much as possible on understanding the content of this article. I mean not simply reading it. I want to emphasize that if you do not understand this article, you can completely give up hope of understanding the content of the following ones.
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.
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 54): Die Geburt des ersten Moduls
In diesem Artikel werden wir uns ansehen, wie wir das erste einer Reihe von wirklich funktionalen Modulen für die Verwendung im Replay-/Simulatorsystem zusammenstellen, die auch für andere Zwecke geeignet sein werden. Die Rede ist vom Mausmodul.
Wichtigste Änderungen des Algorithmus für die künstliche kooperative Suche (ACSm)
Hier werden wir die Entwicklung des ACS-Algorithmus betrachten: drei Änderungen zur Verbesserung der Konvergenzeigenschaften und der Effizienz des Algorithmus. Umwandlung eines der führenden Optimierungsalgorithmen. Von Matrixmodifikationen bis hin zu revolutionären Ansätzen zur Bevölkerungsbildung.
Preisgesteuertes CGI-Modell: Erweiterte Datennachbearbeitung und Implementierung
In diesem Artikel befassen wir uns mit der Entwicklung eines vollständig anpassbaren Skripts für den Preisdatenexport mit MQL5, das einen neuen Fortschritt in der Simulation des CGI-Modells Price Man darstellt. Wir haben fortschrittliche Verfeinerungstechniken implementiert, um sicherzustellen, dass die Daten nutzerfreundlich und für Animationszwecke optimiert sind. Außerdem werden wir die Möglichkeiten von Blender 3D bei der effektiven Arbeit mit und der Visualisierung von Preisdaten kennenlernen und sein Potenzial für die Erstellung dynamischer und ansprechender Animationen demonstrieren.
Algorithmus zur Optimierung der Migration der Tiere (AMO)
Der Artikel ist dem AMO-Algorithmus gewidmet, der die saisonale Migration von Tieren auf der Suche nach optimalen Bedingungen für Leben und Fortpflanzung modelliert. Zu den Hauptfunktionen von AMO gehören die Verwendung topologischer Nachbarschaften und ein probabilistischer Aktualisierungsmechanismus, der die Implementierung vereinfacht und die Flexibilität für verschiedene Optimierungsaufgaben gewährleistet.
Arithmetischer Optimierungsalgorithmus (AOA): Von AOA zu SOA (Simpler Optimierungsalgorithmus)
In diesem Artikel stellen wir den Arithmetischen Optimierungsalgorithmus (AOA) vor, der auf einfachen arithmetischen Operationen basiert: Addition, Subtraktion, Multiplikation und Division. Diese grundlegenden mathematischen Operationen dienen als Grundlage für die Suche nach optimalen Lösungen für verschiedene Probleme.
Algorithmus für die künstliche, kooperative Suche (Artificial Cooperative Search, ACS)
Die künstliche, kooperative Suche (Artificial Cooperative Search, ACS) ist eine innovative Methode, bei der eine binäre Matrix und mehrere dynamische Populationen auf der Grundlage von wechselseitigen Beziehungen und Kooperation verwendet werden, um schnell und genau optimale Lösungen zu finden. Der einzigartige Ansatz von ACS in Bezug auf Räuber und Beute ermöglicht es, hervorragende Ergebnisse bei numerischen Optimierungsproblemen zu erzielen.
Algorithmen zur Optimierung mit Populationen: Künstliche multisoziale Suchobjekte (MSO)
Dies ist eine Fortsetzung des vorangegangenen Artikels, der sich mit dem Konzept der sozialen Gruppen befasst. In dem Artikel wird die Entwicklung sozialer Gruppen anhand von Bewegungs- und Gedächtnisalgorithmen untersucht. Die Ergebnisse werden dazu beitragen, die Entwicklung sozialer Systeme zu verstehen und sie bei der Optimierung und Suche nach Lösungen anzuwenden.
Entwicklung eines Replay-Systems (Teil 69): Das richtige Bestimmen der Zeit (II)
Heute werden wir uns ansehen, warum wir die iSpread-Funktion benötigen. Gleichzeitig werden wir verstehen, wie das System uns über die verbleibende Zeit des Balkens informiert, wenn kein einziger Tick dafür verfügbar ist. 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.
Entwicklung eines Expertenberaters für mehrere Währungen (Teil 13): Automatisierung der zweiten Phase — Aufteilung in Gruppen
Die erste Stufe der automatischen Optimierung haben wir bereits umgesetzt. Wir führen die Optimierung für verschiedene Symbole und Zeiträume nach mehreren Kriterien durch und speichern Informationen über die Ergebnisse jedes Durchgangs in der Datenbank. Nun werden wir die besten Gruppen von Parametersätzen aus den in der ersten Stufe gefundenen auswählen.
Entwicklung eines Replay Systems (Teil 46): Chart Trade Projekt (V)
Sind Sie es leid, Zeit mit der Suche nach genau der Datei zu verschwenden, die Ihre Anwendung zum Funktionieren braucht? Wie wäre es, alles in die ausführbare Datei aufzunehmen? Auf diese Weise müssen Sie nicht nach den Dingen suchen. Ich weiß, dass viele Menschen diese Form der Verteilung und Speicherung nutzen, aber es gibt einen viel geeigneteren Weg. Zumindest was die Verteilung von ausführbaren Dateien und deren Speicherung betrifft. Die hier vorgestellte Methode kann sehr nützlich sein, da Sie den MetaTrader 5 selbst als hervorragenden Assistenten verwenden können, ebenso wie MQL5. Außerdem ist es nicht so schwer zu verstehen.
Algorithmus für künstliche elektrische Felder (AEFA)
In diesem Artikel wird ein Algorithmus für ein künstliches elektrisches Feld (AEFA) vorgestellt, der durch das Coulombsche Gesetz der elektrostatischen Kraft inspiriert ist. Der Algorithmus simuliert elektrische Phänomene, um komplexe Optimierungsprobleme mit Hilfe geladener Teilchen und ihrer Wechselwirkungen zu lösen. AEFA weist im Zusammenhang mit anderen Algorithmen, die sich auf Naturgesetze beziehen, einzigartige Eigenschaften auf.
Entwicklung eines Replay-Systems (Teil 75): Neuer Chart-Handel (II)
In diesem Artikel geht es um die Klasse C_ChartFloatingRAD. Das ist es, was Chart Trade ausmacht. Doch damit ist die Erklärung noch nicht zu Ende. Wir werden sie im nächsten Artikel vervollständigen, da der Inhalt dieses Artikels recht umfangreich ist und ein tiefes Verständnis erfordert. 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.
MQL5-Assistenten-Techniken, die Sie kennen sollten (Teil 18): Neuronale Architektursuche mit Eigenvektoren
Die Suche nach neuronaler Architektur, ein automatischer Ansatz zur Bestimmung der idealen Einstellungen für neuronale Netze, kann bei vielen Optionen und großen Testdatensätzen von Vorteil sein. Wir untersuchen, wie dieser Prozess bei gepaarten Eigenvektoren noch effizienter gestaltet werden kann.
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.
Entwicklung eines Replay-Systems (Teil 60): Abspielen des Dienstes (I)
Wir haben lange Zeit nur an den Indikatoren gearbeitet, aber jetzt ist es an der Zeit, den Dienst wieder zum Laufen zu bringen und zu sehen, wie das Chart auf der Grundlage der bereitgestellten Daten erstellt wird. Da die ganze Sache jedoch nicht so einfach ist, müssen wir aufmerksam sein, um zu verstehen, was uns erwartet.
Nutzerdefinierter Indikator: Darstellen von partiellen Eintritts-, Austritts- und Stornogeschäften für Netting-Konten
In diesem Artikel werden wir uns eine nicht standardisierte Methode zur Erstellung eines Indikators in MQL5 ansehen. Anstatt sich auf einen Trend oder ein Chartmuster zu konzentrieren, wird unser Ziel sein, unsere eigenen Positionen zu verwalten, einschließlich partieller Ein- und Ausstiege. Wir werden ausgiebig Gebrauch von dynamischen Matrizen und einigen Handelsfunktionen machen, die sich auf die Handelshistorie und offene Positionen beziehen, um auf dem Chart anzuzeigen, wo diese Geschäfte getätigt wurden.
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.
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.
Die Rolle der Qualität von Zufallszahlengeneratoren für die Effizienz von Optimierungsalgorithmen
In diesem Artikel werden wir uns den Mersenne-Twister-Zufallszahlengenerator ansehen und ihn mit dem Standardgenerator in MQL5 vergleichen. Wir werden auch herausfinden, welchen Einfluss die Qualität des Zufallszahlengenerators auf die Ergebnisse der Optimierungsalgorithmen hat.
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.
Optimierungsmethoden der ALGLIB-Bibliothek (Teil II)
In diesem Artikel werden wir die verbleibenden Optimierungsmethoden aus der ALGLIB-Bibliothek weiter untersuchen, mit besonderem Augenmerk auf deren Prüfung auf komplexe mehrdimensionale Funktionen. So können wir nicht nur die Effizienz der einzelnen Algorithmen bewerten, sondern auch ihre Stärken und Schwächen unter verschiedenen Bedingungen ermitteln.
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.
Entwicklung eines Expertenberaters für mehrere Währungen (Teil 18): Automatisierte Gruppenauswahl unter Berücksichtigung der Vorwärtszeitraum
Fahren wir fort, die Schritte zu automatisieren, die wir zuvor manuell durchgeführt haben. Diesmal kehren wir zur Automatisierung der zweiten Phase zurück, d. h. zur Auswahl der optimalen Gruppe von Einzelinstanzen von Handelsstrategien, und ergänzen sie durch die Möglichkeit, die Ergebnisse der Instanzen in dem Vorwärtszeitraum zu berücksichtigen.
Optimierungsmethoden der ALGLIB-Bibliothek (Teil I)
In diesem Artikel werden wir uns mit den Optimierungsmethoden der ALGLIB-Bibliothek für MQL5 vertraut machen. Der Artikel enthält einfache und anschauliche Beispiele für die Verwendung von ALGLIB zur Lösung von Optimierungsproblemen, die das Erlernen der Methoden so einfach wie möglich machen. Wir werden uns die Verbindung von Algorithmen wie BLEIC, L-BFGS und NS im Detail ansehen und sie zur Lösung eines einfachen Testproblems verwenden.
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.
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.
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.
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.
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.