
Erstellung eines Dashboards zur Anzeige von Daten in Indikatoren und EAs
In diesem Artikel werden wir eine Dashboard-Klasse erstellen, die in Indikatoren und EAs verwendet werden kann. Dies ist ein einleitender Artikel in einer kleinen Serie von Artikeln mit Vorlagen für die Einbeziehung und Verwendung von Standardindikatoren in Expert Advisors. Ich beginne mit der Erstellung eines Panels, das dem MetaTrader 5-Datenfenster ähnelt.

GUI: Tipps und Tricks zur Erstellung Ihrer eigenen Grafikbibliothek in MQL
Wir gehen die Grundlagen von GUI-Bibliotheken durch, damit Sie verstehen, wie sie funktionieren, oder sogar anfangen können, Ihre eigenen zu erstellen.

Kategorientheorie in MQL5 (Teil 22): Ein anderer Blick auf gleitende Durchschnitte
In diesem Artikel versuchen wir, die in dieser Reihe behandelten Konzepte zu vereinfachen, indem wir uns auf einen einzigen Indikator beschränken, der am häufigsten vorkommt und wahrscheinlich am leichtesten zu verstehen ist. Der gleitende Durchschnitt. Dabei betrachten wir die Bedeutung und die möglichen Anwendungen von vertikalen natürlichen Transformationen.

Kategorientheorie in MQL5 (Teil 21): Natürliche Transformationen mit LDA
In diesem Artikel, dem 21. in unserer Reihe, geht es weiter mit einem Blick auf natürliche Transformationen und wie sie mit Hilfe der linearen Diskriminanzanalyse umgesetzt werden können. Wir stellen diese Anwendungen in einem Signalklassenformat vor, wie im vorherigen Artikel.

Neuronale Netze leicht gemacht (Teil 55): Contrastive Intrinsic Control (CIC)
Das kontrastive Training ist eine unüberwachte Methode zum Training der Repräsentation. Ziel ist es, ein Modell zu trainieren, das Ähnlichkeiten und Unterschiede in Datensätzen aufzeigt. In diesem Artikel geht es um die Verwendung kontrastiver Trainingsansätze zur Erkundung verschiedener Fähigkeiten des Akteurs (Actor skills).

Neuronale Netze leicht gemacht (Teil 54): Einsatz von Random Encoder für eine effiziente Forschung (RE3)
Wann immer wir Methoden des Verstärkungslernens in Betracht ziehen, stehen wir vor dem Problem der effizienten Erkundung der Umgebung. Die Lösung dieses Problems führt häufig dazu, dass der Algorithmus komplizierter wird und zusätzliche Modelle trainiert werden müssen. In diesem Artikel werden wir einen alternativen Ansatz zur Lösung dieses Problems betrachten.

Brute-Force-Ansatz zur Mustersuche (Teil VI): Zyklische Optimierung
In diesem Artikel zeige ich den ersten Teil der Verbesserungen, die es mir ermöglicht haben, nicht nur die gesamte Automatisierungskette für den Handel mit MetaTrader 4 und 5 zu schließen, sondern auch etwas viel Interessanteres zu tun. Von nun an ermöglicht mir diese Lösung, sowohl die Erstellung von EAs als auch die Optimierung vollständig zu automatisieren und die Arbeitskosten für das Finden effektiver Handelskonfigurationen zu minimieren.

Entwicklung eines Replay Systems — Marktsimulation (Teil 20): FOREX (I)
Das ursprüngliche Ziel dieses Artikels ist es nicht, alle Möglichkeiten des Forex-Handels abzudecken, sondern das System so anzupassen, dass Sie zumindest ein Replay des Marktes durchführen können. Wir lassen die Simulation noch einen Moment auf sich warten. Wenn wir jedoch keine Ticks, sondern nur Balken haben, können wir mit ein wenig Aufwand mögliche Abschlüsse simulieren, die auf dem Forex-Markt passieren könnten. Dies wird der Fall sein, bis wir uns mit der Anpassung des Simulators befassen. Der Versuch, mit Forex-Daten innerhalb des Systems zu arbeiten, ohne sie zu verändern, führt zu einer Reihe von Fehlern.

Neuronale Netze leicht gemacht (Teil 52): Forschung mit Optimismus und Verteilungskorrektur
Da das Modell auf der Grundlage des Erfahrungswiedergabepuffers trainiert wird, entfernt sich die aktuelle Strategie oder Politik des Akteurs immer weiter von den gespeicherten Beispielen, was die Effizienz des Trainings des Modells insgesamt verringert. In diesem Artikel befassen wir uns mit einem Algorithmus zur Verbesserung der Effizienz bei der Verwendung von Stichproben in Algorithmen des verstärkten Lernens.

Entwicklung eines Replay Systems — Marktsimulation (Teil 19): Erforderliche Anpassungen
Hier werden wir den Boden bereiten, damit wir, wenn wir neue Funktionen zum Code hinzufügen müssen, dies reibungslos und einfach tun können. Der derzeitige Kodex kann einige der Dinge, die notwendig sind, um sinnvolle Fortschritte zu erzielen, noch nicht abdecken oder behandeln. Wir müssen alles strukturieren, damit wir bestimmte Dinge mit minimalem Aufwand umsetzen können. Wenn wir alles richtig machen, erhalten wir ein wirklich universelles System, das sich sehr leicht an jede Situation anpassen lässt, die es zu bewältigen gilt.

Entwicklung eines Replay Systems — Marktsimulation (Teil 18): Ticks und noch mehr Ticks (II).
Offensichtlich sind die aktuellen Metriken sehr weit von der idealen Zeit für die Erstellung eines 1-Minuten-Balkens entfernt. Das ist das erste, was wir in Angriff nehmen werden. Die Behebung des Synchronisationsproblems ist nicht schwierig. Das mag schwierig erscheinen, ist aber eigentlich ganz einfach. Wir haben die erforderliche Korrektur im vorigen Artikel nicht vorgenommen, da er darauf abzielte, zu erklären, wie man die Tick-Daten, die zur Erstellung der 1-Minuten-Balken im Chart verwendet wurden, in das Fenster der Marktübersicht überträgt.

Neuronale Netze leicht gemacht (Teil 53): Aufteilung der Belohnung
Wir haben bereits mehrfach darüber gesprochen, wie wichtig die richtige Wahl der Belohnungsfunktion ist, mit der wir das gewünschte Verhalten des Agenten anregen, indem wir Belohnungen oder Bestrafungen für einzelne Aktionen hinzufügen. Aber die Frage nach der Entschlüsselung unserer Signale durch den Agenten bleibt offen. In diesem Artikel geht es um die Aufteilung der Belohnung im Sinne der Übertragung einzelner Signale an den trainierten Agenten.

Entwicklung eines Replay Systems — Marktsimulation (Teil 17): Ticks und noch mehr Ticks (I)
Hier werden wir sehen, wie man etwas wirklich Interessantes, aber gleichzeitig auch sehr Schwieriges umsetzen kann, da bestimmte Punkte sehr verwirrend sein können. Das Schlimmste, was passieren kann, ist, dass einige Händler, die sich für Profis halten, nichts über die Bedeutung dieser Konzepte auf dem Kapitalmarkt wissen. Auch wenn wir uns hier auf die Programmierung konzentrieren, ist das Verständnis einiger der Probleme, die mit dem Markthandel verbunden sind, von entscheidender Bedeutung für das, was wir umsetzen werden.

Entwicklung eines Replay Systems — Marktsimulation (Teil 16): Neues System der Klassen
Wir müssen unsere Arbeit besser organisieren. Der Code wächst, und wenn dies nicht jetzt geschieht, wird es unmöglich werden. Lasst uns teilen und erobern. MQL5 erlaubt die Verwendung von Klassen, die bei der Umsetzung dieser Aufgabe helfen, aber dafür müssen wir einige Kenntnisse über Klassen haben. Das, was Anfänger am meisten verwirrt, ist wahrscheinlich die Vererbung. In diesem Artikel werden wir uns ansehen, wie man diese Mechanismen auf praktische und einfache Weise nutzen kann.

Neuronale Netze leicht gemacht (Teil 51): Behavior-Guided Actor-Critic (BAC)
Die letzten beiden Artikel befassten sich mit dem Soft Actor-Critic-Algorithmus, der eine Entropie-Regularisierung in die Belohnungsfunktion integriert. Dieser Ansatz schafft ein Gleichgewicht zwischen Umwelterkundung und Modellnutzung, ist aber nur auf stochastische Modelle anwendbar. In diesem Artikel wird ein alternativer Ansatz vorgeschlagen, der sowohl auf stochastische als auch auf deterministische Modelle anwendbar ist.

Neuronale Netze leicht gemacht (Teil 50): Soft Actor-Critic (Modelloptimierung)
Im vorigen Artikel haben wir den Algorithmus Soft Actor-Critic (Akteur-Kritiker) implementiert, konnten aber kein profitables Modell trainieren. Hier werden wir das zuvor erstellte Modell optimieren, um die gewünschten Ergebnisse zu erzielen.

Brute-Force-Ansatz zur Mustersuche (Teil V): Neue Blickwinkel
In diesem Artikel werde ich einen völlig anderen Ansatz für den algorithmischen Handel vorstellen, den ich nach langer Zeit gefunden habe. Das alles hat natürlich mit meinem Brute-Force-Programm zu tun, das eine Reihe von Änderungen erfahren hat, die es ihm ermöglichen, mehrere Probleme gleichzeitig zu lösen. Dennoch ist der Artikel allgemeiner und so einfach wie möglich gehalten, weshalb er auch für diejenigen geeignet ist, die nichts über Brute-Force wissen.

Das Preisbewegungsmodell und seine wichtigsten Aspekte. (Teil 3): Berechnung der optimalen Parameter des Börsenhandels
Im Rahmen des vom Autor entwickelten technischen Ansatzes, der auf der Wahrscheinlichkeitstheorie basiert, werden die Bedingungen für die Eröffnung einer profitablen Position gefunden und die optimalen (gewinnmaximierenden) Take-Profit- und Stop-Loss-Werte berechnet.

Verständnis der Auftragsvergabe in MQL5
Bei der Entwicklung jedes Handelssystems gibt es eine Aufgabe, die wir effektiv bewältigen müssen. Diese Aufgabe besteht darin, Aufträge zu erteilen oder das erstellte Handelssystem automatisch mit Aufträgen umgehen zu lassen, da dies in jedem Handelssystem von entscheidender Bedeutung ist. Daher finden Sie in diesem Artikel die meisten Themen, die Sie über diese Aufgabe verstehen müssen, um Ihr Handelssystem in Bezug auf die Auftragsvergabe effektiv zu gestalten.

Datenkennzeichnung für Zeitreihenanalyse (Teil 2): Datensätze mit Trendmarkern mit Python erstellen
In dieser Artikelserie werden verschiedene Methoden zur Kennzeichnung 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!

Datenkennzeichnung für Zeitreihenanalyse (Teil 1):Erstellen eines Datensatzes mit Trendmarkierungen durch den EA auf einem Chart
In dieser Artikelserie werden verschiedene Methoden zur Kennzeichnung 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!

Kategorientheorie in MQL5 (Teil 20): Ein Abstecher über die Selbstaufmerksamkeit (Self-Attention) und den Transformer
Wir schweifen in unserer Serie ab, indem wir über einen Teil des Algorithmus zu chatGPT nachdenken. Gibt es Ähnlichkeiten oder Konzepte, die den natürlichen Transformationen entlehnt sind? Wir versuchen, diese und andere Fragen in einem unterhaltsamen Stück zu beantworten, mit unserem Code in einem Signalklassenformat.

Die Transaktionen des Handels Anfrage- und Antwortstrukturen, Beschreibung und Protokollierung
Der Artikel befasst sich mit der Struktur von Handelsanfragen, d. h. mit der Erstellung einer Anfrage, ihrer vorläufigen Überprüfung vor der Übermittlung an den Server, der Antwort des Servers auf eine Handelsanfrage und der Struktur von Handelsgeschäften. Wir werden einfache und bequeme Funktionen zum Senden von Handelsaufträgen an den Server erstellen und auf der Grundlage der besprochenen Informationen einen EA erstellen, der über Handelsgeschäfte informiert.

Kategorientheorie in MQL5 (Teil 19): Induktion natürlicher Quadrate
Wir setzen unseren Blick auf natürliche Transformationen fort, indem wir die Induktion natürlicher Quadrate besprechen. Leichte Einschränkungen bei der Implementierung von Mehrfachwährungen für Experten, die mit dem MQL5-Assistenten zusammengestellt wurden, bedeuten, dass wir unsere Fähigkeiten zur Datenklassifizierung mit einem Skript demonstrieren. Die wichtigsten Anwendungen sind die Klassifizierung von Preisänderungen und damit deren Vorhersage.

Entwicklung eines Replay Systems — Marktsimulation (Teil 15): Die Geburt des SIMULATORS (V) - RANDOM WALK
In diesem Artikel werden wir die Entwicklung eines Simulators für unser System abschließen. Das Hauptziel besteht darin, den im vorherigen Artikel beschriebenen Algorithmus zu konfigurieren. Dieser Algorithmus zielt darauf ab, eine zufällige Bewegung, einen „RANDOM WALK“ zu erzeugen. Um das heutige Material zu verstehen, ist es daher notwendig, den Inhalt der früheren Artikel zu kennen. Wenn Sie die Entwicklung des Simulators nicht verfolgt haben, empfehle ich Ihnen, diese Sequenz von Anfang an zu lesen. Andernfalls könnten Sie verwirrt sein über das, was hier erklärt wird.

Entwicklung eines Replay Systems — Marktsimulation (Teil 14): Die Geburt des SIMULATORS (IV)
In diesem Artikel werden wir die Entwicklungsphase des Simulators fortsetzen. Diesmal werden wir sehen, wie wir eine Bewegung vom Typ RANDOM WALK effektiv erstellen können. Diese Art von Bewegung ist sehr interessant, denn sie bildet die Grundlage für alles, was auf dem Kapitalmarkt geschieht. Darüber hinaus werden wir beginnen, einige Konzepte zu verstehen, die für die Durchführung von Marktanalysen grundlegend sind.

Elastische Netzregression mit Koordinatenabstieg in MQL5
In diesem Artikel untersuchen wir die praktische Umsetzung der elastischen Netzregression, um die Überanpassung zu minimieren und gleichzeitig automatisch nützliche Prädiktoren von solchen zu trennen, die wenig prognostische Kraft haben.

Entwicklung eines Qualitätsfaktors für Expert Advisors
In diesem Artikel sehen wir uns an, wie Sie eine Qualitätsbewertung entwickeln, die Ihr Expert Advisor im Strategietester anzeigen kann. Wir werden uns zwei bekannte Berechnungsmethoden ansehen – Van Tharp und Sunny Harris.

Developing a Replay System — Market simulation (Part 13): Die Geburt des SIMULATORS (III)
Hier werden wir einige Elemente im Zusammenhang mit der Arbeit im nächsten Artikel vereinfachen. Ich erkläre auch, wie Sie sich vorstellen können, was der Simulator in Bezug auf die Zufälligkeit erzeugt.

Die diskrete Hartley-Transformation
In diesem Artikel werden wir eine der Methoden der Spektralanalyse und Signalverarbeitung betrachten - die diskrete Hartley-Transformation. Es ermöglicht die Filterung von Signalen, die Analyse ihres Spektrums und vieles mehr. Die Möglichkeiten der DHT stehen denen der diskreten Fourier-Transformation in nichts nach. Im Gegensatz zur DFT werden bei der DHT jedoch nur reelle Zahlen verwendet, was die Umsetzung in der Praxis erleichtert, und die Ergebnisse der Anwendung sind anschaulicher.

StringFormat(). Inspektion und vorgefertigte Beispiele
In diesem Artikel wird die Inspektion der Funktion PrintFormat() fortgesetzt. Wir werden uns kurz mit der Formatierung von Zeichenketten mit StringFormat() und ihrer weiteren Verwendung im Programm beschäftigen. Wir werden auch Vorlagen für die Anzeige von Symboldaten im Terminaljournal schreiben. Der Artikel ist sowohl für Anfänger als auch für erfahrene Entwickler nützlich.

Neuronale Netze leicht gemacht (Teil 49): Soft Actor-Critic
Wir setzen unsere Diskussion über Algorithmen des Verstärkungslernens zur Lösung von Problemen im kontinuierlichen Aktionsraum fort. In diesem Artikel werde ich den Soft Actor-Critic (SAC) Algorithmus vorstellen. Der Hauptvorteil von SAC ist die Fähigkeit, optimale Strategien zu finden, die nicht nur die erwartete Belohnung maximieren, sondern auch eine maximale Entropie (Vielfalt) von Aktionen aufweisen.

PrintFormat() studieren und vorgefertigte Beispiele anwenden
Der Artikel ist sowohl für Anfänger als auch für erfahrene Entwickler nützlich. Wir werden uns die Funktion PrintFormat() ansehen, Beispiele für die Formatierung von Zeichenketten analysieren und Vorlagen für die Anzeige verschiedener Informationen im Terminalprotokoll schreiben.

Strukturen in MQL5 und Methoden zum Drucken deren Daten
In diesem Artikel werden wir uns die Strukturen von MqlDateTime, MqlTick, MqlRates und MqlBookInfo ansehen sowie die Methoden zum Drucken von deren Daten. Um alle Felder einer Struktur auszudrucken, gibt es die Standardfunktion ArrayPrint(), die die im Array enthaltenen Daten mit dem Typ der behandelten Struktur in einem praktischen Tabellenformat anzeigt.

Entwicklung eines Replay-Systems — Marktsimulation (Teil 12): Die Geburt des SIMULATORS (II)
Die Entwicklung eines Simulators kann viel interessanter sein, als es scheint. Heute gehen wir ein paar Schritte weiter in diese Richtung, denn die Dinge werden immer interessanter.

Entwicklung eines Replay-Systems — Marktsimulation (Teil 11): Die Geburt des SIMULATORS (I)
Um die Daten, die die Balken bilden, nutzen zu können, müssen wir auf das Replay verzichten und einen Simulator entwickeln. Wir werden 1-Minuten-Balken verwenden, weil sie den geringsten Schwierigkeitsgrad aufweisen.


Entwicklung eines Wiedergabesystems — Marktsimulation (Teil 10): Nur echte Daten für das Replay verwenden
Hier werden wir uns ansehen, wie wir zuverlässigere Daten (gehandelte Ticks) im Wiedergabesystem verwenden können, ohne uns Gedanken darüber zu machen, ob sie angepasst sind oder nicht.

Neuronale Netze leicht gemacht (Teil 48): Methoden zur Verringerung der Überschätzung von Q-Funktionswerten
Im vorigen Artikel haben wir die DDPG-Methode vorgestellt, mit der Modelle in einem kontinuierlichen Aktionsraum trainiert werden können. Wie andere Q-Learning-Methoden neigt jedoch auch DDPG dazu, die Werte der Q-Funktion zu überschätzen. Dieses Problem führt häufig dazu, dass ein Agent mit einer suboptimalen Strategie ausgebildet wird. In diesem Artikel werden wir uns einige Ansätze zur Überwindung des genannten Problems ansehen.

Neuronale Netze leicht gemacht (Teil 47): Kontinuierlicher Aktionsraum
In diesem Artikel erweitern wir das Aufgabenspektrum unseres Agenten. Der Ausbildungsprozess wird einige Aspekte des Geld- und Risikomanagements umfassen, die ein wesentlicher Bestandteil jeder Handelsstrategie sind.

Neuronale Netze leicht gemacht (Teil 46): Goal-conditioned reinforcement learning (GCRL, zielgerichtetes Verstärkungslernen)
In diesem Artikel werfen wir einen Blick auf einen weiteren Ansatz des Reinforcement Learning. Es wird als Goal-conditioned reinforcement learning (GCRL, zielgerichtetes Verstärkungslernen) bezeichnet. Bei diesem Ansatz wird ein Agent darauf trainiert, verschiedene Ziele in bestimmten Szenarien zu erreichen.