Verständnis von Programmierparadigmen (Teil 2): Ein objektorientierter Ansatz für die Entwicklung eines Price Action Expert Advisors
Verständnis von Programmierparadigmen (Teil 2): Ein objektorientierter Ansatz für die Entwicklung eines Price Action Expert Advisors
Lernen Sie das objektorientierte Programmierparadigma und seine Anwendung im MQL5-Code kennen. Dieser zweite Artikel geht tiefer auf die Besonderheiten der objektorientierten Programmierung ein und bietet anhand eines praktischen Beispiels praktische Erfahrungen. Sie lernen, wie Sie unseren früher entwickelten prozeduralen Price Action Expert Advisor mit dem EMA-Indikator und Kursdaten der Kerzen in objektorientierten Code umwandeln können.
Modified Grid-Hedge EA in MQL5 (Part III): Optimizing Simple Hedge Strategy (I)
Modified Grid-Hedge EA in MQL5 (Part III): Optimizing Simple Hedge Strategy (I)
In this third part, we revisit the Simple Hedge and Simple Grid Expert Advisors (EAs) developed earlier. Our focus shifts to refining the Simple Hedge EA through mathematical analysis and a brute force approach, aiming for optimal strategy usage. This article delves deep into the mathematical optimization of the strategy, setting the stage for future exploration of coding-based optimization in later installments.
Advanced Variables and Data Types in MQL5
Advanced Variables and Data Types in MQL5
Variables and data types are very important topics not only in MQL5 programming but also in any programming language. MQL5 variables and data types can be categorized as simple and advanced ones. In this article, we will identify and learn about advanced ones because we already mentioned simple ones in a previous article.
Developing a Replay System (Part 36): Making Adjustments (II)
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.
Developing a Replay System (Part 37): Paving the Path (I)
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.
Neuronale Netze leicht gemacht (Teil 68): Offline Preference-guided Policy Optimization
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.
MQL5-Assistenten-Techniken, die Sie kennen sollten (Teil 12): Das Newton-Polynom
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.
Entwicklung eines Replay System (Teil 34): Auftragssystem (III)
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?
Datenwissenschaft und maschinelles Lernen (Teil 20): Algorithmische Handelseinblicke, eine Gegenüberstellung von LDA und PCA in MQL5
Datenwissenschaft und maschinelles Lernen (Teil 20): Algorithmische Handelseinblicke, eine Gegenüberstellung von LDA und PCA in MQL5
Entdecken Sie die Geheimnisse dieser leistungsstarken Dimensionsreduktionstechniken, indem wir ihre Anwendungen in der MQL5-Handelsumgebung analysieren. Vertiefen Sie sich in die Feinheiten der linearen Diskriminanzanalyse (LDA) und der Hauptkomponentenanalyse (PCA) und gewinnen Sie ein tiefes Verständnis für deren Auswirkungen auf die Strategieentwicklung und Marktanalyse,
Aufbau und Test von Keltner-Kanal-Handelssystemen
Aufbau und Test von Keltner-Kanal-Handelssystemen
In diesem Artikel werden wir versuchen, Handelssysteme anzubieten, die ein sehr wichtiges Konzept auf dem Finanzmarkt verwenden, nämlich die Volatilität. Wir werden ein Handelssystem auf der Grundlage des Keltner-Kanal-Indikators bereitstellen, nachdem wir ihn verstanden haben und wissen, wie wir ihn kodieren können und wie wir ein Handelssystem auf der Grundlage einer einfachen Handelsstrategie erstellen und es dann an verschiedenen Vermögenswerten testen können.
Aufbau und Test des Handelssystems Aroon
Aufbau und Test des Handelssystems Aroon
In diesem Artikel erfahren wir, wie wir ein Aroon-Handelssystem aufbauen können, nachdem wir die Grundlagen der Indikatoren und die erforderlichen Schritte zum Aufbau eines Handelssystems auf der Grundlage des Aroon-Indikators gelernt haben. Nachdem wir dieses Handelssystem aufgebaut haben, werden wir es testen, um zu sehen, ob es profitabel sein kann oder noch optimiert werden muss.
MQL5-Assistenten-Techniken, die Sie kennen sollten (Teil 10). Die unkonventionelle RBM
MQL5-Assistenten-Techniken, die Sie kennen sollten (Teil 10). Die unkonventionelle RBM
Restriktive Boltzmann-Maschinen (RBM) sind im Grunde genommen ein zweischichtiges neuronales Netz, das durch Dimensionsreduktion eine unbeaufsichtigte Klassifizierung ermöglicht. Wir nehmen die Grundprinzipien und untersuchen, ob wir durch eine unorthodoxe Umgestaltung und ein entsprechendes Training einen nützlichen Signalfilter erhalten können.
Deep Learning, Vorhersage und Aufträge mit Python, dem MetaTrader5 Python-Paket und ONNX-Modelldatei
Deep Learning, Vorhersage und Aufträge mit Python, dem MetaTrader5 Python-Paket und ONNX-Modelldatei
Im Rahmen des Projekts wird Python für Deep Learning-basierte Prognosen auf den Finanzmärkten eingesetzt. Wir werden die Feinheiten des Testens der Leistung des Modells anhand von Schlüsselkennzahlen wie dem mittleren absoluten Fehler (MAE), dem mittleren quadratischen Fehler (MSE) und dem R-Quadrat (R2) erkunden und lernen, wie man alles in eine ausführbare Datei verpackt. Wir werden auch eine ONNX-Modelldatei mit seinem EA erstellen.
Modifizierter Grid-Hedge EA in MQL5 (Teil II): Erstellung eines einfachen Grid EA
Modifizierter Grid-Hedge EA in MQL5 (Teil II): Erstellung eines einfachen Grid EA
In diesem Artikel wird die klassische Rasterstrategie untersucht, ihre Automatisierung mit einem Expert Advisor in MQL5 detailliert beschrieben und die ersten Backtest-Ergebnisse analysiert. Wir haben die Notwendigkeit einer hohen Haltekapazität für die Strategie hervorgehoben und Pläne für die Optimierung von Schlüsselparametern wie Abstand, TakeProfit und Losgrößen in zukünftigen Ausgaben skizziert. Die Reihe zielt darauf ab, die Effizienz der Handelsstrategien und die Anpassungsfähigkeit an unterschiedliche Marktbedingungen zu verbessern.
Algorithmischer Handel mit MetaTrader 5 und R für Einsteiger
Algorithmischer Handel mit MetaTrader 5 und R für Einsteiger
Begeben wir uns auf eine fesselnde Entdeckungsreise, bei der Finanzanalyse und algorithmischer Handel aufeinandertreffen, während wir die Kunst der nahtlosen Verbindung von R und MetaTrader 5 enträtseln. Dieser Artikel ist Ihr Leitfaden für den Brückenschlag zwischen den analytischen Finessen von R und den beeindruckenden Handelsmöglichkeiten von MetaTrader 5.
Neuronale Netze leicht gemacht (Teil 66): Explorationsprobleme beim Offline-Lernen
Neuronale Netze leicht gemacht (Teil 66): Explorationsprobleme beim Offline-Lernen
Modelle werden offline mit Daten aus einem vorbereiteten Trainingsdatensatz trainiert. Dies bietet zwar gewisse Vorteile, hat aber den Nachteil, dass die Informationen über die Umgebung stark auf die Größe des Trainingsdatensatzes komprimiert werden. Das wiederum schränkt die Möglichkeiten der Erkundung ein. In diesem Artikel wird eine Methode vorgestellt, die es ermöglicht, einen Trainingsdatensatz mit möglichst unterschiedlichen Daten zu füllen.
Händlerfreundliche Stop-Loss und Take-Profit
Händlerfreundliche Stop-Loss und Take-Profit
Stop-Loss und Take-Profit können einen erheblichen Einfluss auf die Handelsergebnisse haben. In diesem Artikel werden wir uns verschiedene Möglichkeiten ansehen, um optimale Stop-Order-Werte zu finden.
Entwurfsmuster in der Softwareentwicklung und MQL5 (Teil I): Erzeugungsmuster
Entwurfsmuster in der Softwareentwicklung und MQL5 (Teil I): Erzeugungsmuster
Es gibt Methoden, mit denen sich viele Probleme lösen lassen, die sich ständig wiederholen. Wenn Sie einmal verstanden haben, wie man diese Methoden anwendet, kann es sehr hilfreich sein, Ihre Software effektiv zu erstellen und das Konzept von DRY (Do not Repeat Yourself) anzuwenden. In diesem Zusammenhang eignet sich das Thema Entwurfsmuster sehr gut, da es sich um Muster handelt, die Lösungen für gut beschriebene und wiederkehrende Probleme bieten.
Neuronale Netze leicht gemacht (Teil 63): Unüberwachtes Pretraining für Decision Transformer (PDT)
Neuronale Netze leicht gemacht (Teil 63): Unüberwachtes Pretraining für Decision Transformer (PDT)
Wir setzen die Diskussion über die Familie der Entscheidungstransformationsmethoden fort. In einem früheren Artikel haben wir bereits festgestellt, dass das Training des Transformators, der der Architektur dieser Methoden zugrunde liegt, eine ziemlich komplexe Aufgabe ist und einen großen gekennzeichneten Datensatz für das Training erfordert. In diesem Artikel wird ein Algorithmus zur Verwendung von ungekennzeichneten Trajektorien für das vorläufige Modelltraining vorgestellt.
Neuronale Netze leicht gemacht (Teil 62): Verwendung des Entscheidungs-Transformer in hierarchischen Modellen
Neuronale Netze leicht gemacht (Teil 62): Verwendung des Entscheidungs-Transformer in hierarchischen Modellen
In den letzten Artikeln haben wir verschiedene Optionen für die Verwendung der Entscheidungs-Transformer-Methode gesehen. Die Methode erlaubt es, nicht nur den aktuellen Zustand zu analysieren, sondern auch die Trajektorie früherer Zustände und die darin durchgeführten Aktionen. In diesem Artikel werden wir uns auf die Anwendung dieser Methode in hierarchischen Modellen konzentrieren.
Entwicklung eines Replay System (Teil 32): Auftragssystem (I)
Entwicklung eines Replay System (Teil 32): Auftragssystem (I)
Von allen Dingen, die wir bisher entwickelt haben, ist dieses System, wie Sie wahrscheinlich bemerken und letztendlich zustimmen werden, das komplexeste. Nun müssen wir etwas sehr Einfaches tun: unser System soll den Betrieb eines Handelsservers simulieren. Die Notwendigkeit, die Funktionsweise des Handelsservers genau zu implementieren, scheint eine Selbstverständlichkeit zu sein. Zumindest in Worten. Aber wir müssen dies so tun, dass alles nahtlos und transparent für den Nutzer des Wiedergabe-/Simulationssystems ist.
Neuronale Netze leicht gemacht (Teil 61): Optimismusproblem beim Offline-Verstärkungslernen
Neuronale Netze leicht gemacht (Teil 61): Optimismusproblem beim Offline-Verstärkungslernen
Während des Offline-Lernens optimieren wir die Strategie des Agenten auf der Grundlage der Trainingsdaten. Die daraus resultierende Strategie gibt dem Agenten Vertrauen in sein Handeln. Ein solcher Optimismus ist jedoch nicht immer gerechtfertigt und kann zu erhöhten Risiken während des Modellbetriebs führen. Heute werden wir uns mit einer der Methoden zur Verringerung dieser Risiken befassen.
Entwicklung eines Replay System (Teil 30): Expert Advisor Projekt — Die Klasse C_Mouse (IV)
Entwicklung eines Replay System (Teil 30): Expert Advisor Projekt — Die Klasse C_Mouse (IV)
Heute werden wir eine Technik lernen, die uns in verschiedenen Phasen unseres Berufslebens als Programmierer sehr helfen kann. Oft ist es nicht die Plattform selbst, die begrenzt ist, sondern das Wissen der Person, die über die Grenzen spricht. In diesem Artikel erfahren Sie, dass Sie mit gesundem Menschenverstand und Kreativität die MetaTrader 5-Plattform viel interessanter und vielseitiger gestalten können, ohne auf verrückte Programme oder ähnliches zurückgreifen zu müssen, und einfachen, aber sicheren und zuverlässigen Code erstellen können. Wir werden unsere Kreativität nutzen, um bestehenden Code zu ändern, ohne eine einzige Zeile des Quellcodes zu löschen oder hinzuzufügen.
Entwicklung eines Replay System (Teil 29): Expert Advisor Projekt — Die Klasse C_Mouse (II)
Entwicklung eines Replay System (Teil 29): Expert Advisor Projekt — Die Klasse C_Mouse (II)
Nachdem wir die Klasse C_Mouse verbessert haben, können wir uns auf die Erstellung einer Klasse konzentrieren, die einen völlig neuen Rahmen für unsere Analyse schaffen soll. Wir werden weder Vererbung noch Polymorphismus verwenden, um diese neue Klasse zu erstellen. Stattdessen werden wir die Preislinie ändern, oder besser gesagt, neue Objekte hinzufügen. Genau das werden wir in diesem Artikel tun. In der nächsten Ausgabe werden wir uns ansehen, wie man die Analyse ändern kann. All dies geschieht, ohne den Code der Klasse C_Mouse zu ändern. Nun, eigentlich wäre es einfacher, dies durch Vererbung oder Polymorphismus zu erreichen. Es gibt jedoch auch andere Methoden, um das gleiche Ergebnis zu erzielen.
Datenwissenschaft und maschinelles Lernen (Teil 15): SVM, ein Muss im Werkzeugkasten jedes Händlers
Datenwissenschaft und maschinelles Lernen (Teil 15): SVM, ein Muss im Werkzeugkasten jedes Händlers
Entdecken Sie die unverzichtbare Rolle von Support Vector Machines (SVM) bei der Gestaltung der Zukunft des Handels. Dieser umfassende Leitfaden zeigt auf, wie SVM Ihre Handelsstrategien verbessern, die Entscheidungsfindung optimieren und neue Chancen auf den Finanzmärkten erschließen kann. Tauchen Sie ein in die Welt der SVM mit realen Anwendungen, Schritt-für-Schritt-Tutorials und Expertenwissen. Rüsten Sie sich mit dem unverzichtbaren Werkzeug aus, das Ihnen helfen kann, die Komplexität des modernen Handels zu bewältigen. Verbessern Sie das Spiel Ihres Handels mit SVM - ein Muss für den Werkzeugkasten eines jeden Händlers.
Backpropagation von Neuronalen Netze mit MQL5-Matrizen
Backpropagation von Neuronalen Netze mit MQL5-Matrizen
Der Artikel beschreibt die Theorie und Praxis der Anwendung des Backpropagation-Algorithmus in MQL5 unter Verwendung von Matrizen. Es bietet vorgefertigte Klassen zusammen mit Beispielen von Skripten, Indikatoren und Expert Advisors.
Entwicklung eines Replay System (Teil 28): Expert Advisor Projekt — Die Klasse C_Mouse (II)
Entwicklung eines Replay System (Teil 28): Expert Advisor Projekt — Die Klasse C_Mouse (II)
Als man begann, die ersten rechenfähigen Systeme zu entwickeln, war für alles die Mitwirkung von Ingenieuren erforderlich, die das Projekt sehr gut kennen mussten. Wir sprechen von den Anfängen der Computertechnologie, einer Zeit, in der es noch nicht einmal Terminals zum Programmieren gab. Im Laufe der Entwicklung, als immer mehr Menschen daran interessiert waren, etwas zu erschaffen, entstanden neue Ideen und Wege der Programmierung, die das frühere Wechseln der Steckverbindungen ersetzten. Zu diesem Zeitpunkt erschienen die ersten Terminals.
Entwicklung eines Replay System (Teil 27): Expert Advisor Projekt — Die Klasse C_Mouse (II)
Entwicklung eines Replay System (Teil 27): Expert Advisor Projekt — Die Klasse C_Mouse (II)
In diesem Artikel werden wir die Klasse C_Mouse implementieren. Es bietet die Möglichkeit, auf höchstem Niveau zu programmieren. Wenn man über High-Level- oder Low-Level-Programmiersprachen spricht, geht es jedoch nicht darum, obszöne Wörter oder Jargon in den Code aufzunehmen. Es ist genau andersherum. Wenn wir von High-Level- oder Low-Level-Programmierung sprechen, meinen wir, wie leicht oder schwer der Code für andere Programmierer zu verstehen ist.
Entwicklung eines Replay System (Teil 26): Expert Advisor Projekt — die Klasse C_Terminal
Entwicklung eines Replay System (Teil 26): Expert Advisor Projekt — die Klasse C_Terminal
Wir können nun mit der Erstellung eines Expert Advisors für die Verwendung im Wiedergabe-/Simulationssystem beginnen. Wir brauchen jedoch eine Verbesserung und keine zufällige Lösung. Trotzdem sollten wir uns von der anfänglichen Komplexität nicht einschüchtern lassen. Es ist wichtig, irgendwo anzufangen, sonst enden wir damit, dass wir über die Schwierigkeit einer Aufgabe grübeln, ohne überhaupt zu versuchen, sie zu bewältigen. Genau darum geht es beim Programmieren: Hindernisse durch Lernen, Testen und umfassende Forschung zu überwinden.