Artikel über das Programmieren in MQL4 und MQL5

icon

Lernen Sie die Sprache von Handelsstrategien MQL5 nach den hier veröffentlichten Artikeln, die meisten von denen Sie - die Mitglieder der Community - geschrieben haben. Alle Artikel sind in drei Kategorien aufgeteilt, damit man eine Antwort auf unterschiedliche Fragen des Programmierens schnell finden könnte: "Integration", "Tester", "Handelsstrategien" und vieles mehr.

Verfolgen Sie neue Veröffentlichungen und diskutieren Sie über diese im Forum!

Neuer Artikel
letzte | beste
preview
Zeitreihen in der Bibliothek DoEasy (Teil 56): Nutzerdefiniertes Indikatorobjekt, das die Daten von Indikatorobjekten aus der Kollektion holt

Zeitreihen in der Bibliothek DoEasy (Teil 56): Nutzerdefiniertes Indikatorobjekt, das die Daten von Indikatorobjekten aus der Kollektion holt

In dem Artikel wird das Erstellen des nutzerdefinierten Indikatorobjekts für die Verwendung in EAs erklärt. Lassen Sie uns die Bibliotheksklassen leicht verbessern und Methoden hinzufügen, um Daten von Indikatorobjekten in EAs zu erhalten.
preview
Einen handelnden Expert Advisor von Grund auf neu entwickeln (Teil 9): Ein konzeptioneller Sprung (II)

Einen handelnden Expert Advisor von Grund auf neu entwickeln (Teil 9): Ein konzeptioneller Sprung (II)

In diesem Artikel platzieren wir einen Handelschart in einem schwebenden Fenster. Im vorherigen Teil haben wir ein Basissystem erstellt, das die Verwendung von Vorlagen innerhalb eines schwebenden Fensters ermöglicht.
preview
Entwicklung eines Replay Systems — Marktsimulation (Teil 19): Erforderliche Anpassungen

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.
preview
Neuronale Netze leicht gemacht (Teil 52): Forschung mit Optimismus und Verteilungskorrektur

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.
preview
Entwicklung eines Wiedergabesystems — Marktsimulation (Teil 04): Anpassung der Einstellungen (II)

Entwicklung eines Wiedergabesystems — Marktsimulation (Teil 04): Anpassung der Einstellungen (II)

Lassen Sie uns mit der Entwicklung des Systems und der Kontrollen fortfahren. Ohne die Möglichkeit, den Dienst zu kontrollieren, ist es schwierig, Fortschritte zu machen und das System zu verbessern.
preview
Verbessern Sie Ihre Handelscharts mit interaktiven GUIs in MQL5 (Teil I): Bewegliche GUsI (I)

Verbessern Sie Ihre Handelscharts mit interaktiven GUIs in MQL5 (Teil I): Bewegliche GUsI (I)

Entfesseln Sie die Macht der dynamischen Datendarstellung in Ihren Handelsstrategien oder Dienstprogrammen mit unserem umfassenden Leitfaden zur Erstellung beweglicher GUIs in MQL5. Tauchen Sie ein in das Kernkonzept von Chartereignissen und lernen Sie, wie Sie einfache und mehrfach bewegliche GUI auf demselben Chart entwerfen und implementieren. Dieser Artikel befasst sich auch mit dem Hinzufügen von Elementen zu Ihrer grafischen Nutzeroberfläche, um deren Funktionsweise und Ästhetik zu verbessern.
preview
Neuronale Netze leicht gemacht (Teil 58): Decision Transformer (DT)

Neuronale Netze leicht gemacht (Teil 58): Decision Transformer (DT)

Wir setzen das Studium der Methoden des Reinforcement Learning bzw. des Verstärkungslernens fort. In diesem Artikel werde ich mich auf einen etwas anderen Algorithmus konzentrieren, der die Politik des Agenten im Paradigma der Konstruktion einer Sequenz von Aktionen betrachtet.
preview
Rebuy-Algorithmus: Handelssimulation mit mehreren Währungen

Rebuy-Algorithmus: Handelssimulation mit mehreren Währungen

In diesem Artikel werden wir ein mathematisches Modell zur Simulation der Preisbildung in mehreren Währungen erstellen und die Untersuchung des Diversifizierungsprinzips als Teil der Suche nach Mechanismen zur Steigerung der Handelseffizienz abschließen, die ich im vorherigen Artikel mit theoretischen Berechnungen begonnen habe.
DoEasy. Steuerung (Teil 32): Horizontale ScrollBar, Scrollen mit dem Mausrad
DoEasy. Steuerung (Teil 32): Horizontale ScrollBar, Scrollen mit dem Mausrad

DoEasy. Steuerung (Teil 32): Horizontale ScrollBar, Scrollen mit dem Mausrad

In diesem Artikel werden wir die Entwicklung der Funktionalität des horizontalen Rollbalkenobjekts abschließen. Wir werden auch die Möglichkeit schaffen, den Inhalt des Containers durch Bewegen des Schiebereglers und Drehen des Mausrades zu scrollen, sowie Ergänzungen zur Bibliothek vornehmen, die die neue Auftragsausführungspolitik und die neuen Laufzeitfehlercodes in MQL5 berücksichtigen.
preview
Python, ONNX und MetaTrader 5: Erstellen eines RandomForest-Modells mit RobustScaler und PolynomialFeatures zur Datenvorverarbeitung

Python, ONNX und MetaTrader 5: Erstellen eines RandomForest-Modells mit RobustScaler und PolynomialFeatures zur Datenvorverarbeitung

In diesem Artikel werden wir ein Random-Forest-Modell in Python erstellen, das Modell trainieren und es als ONNX-Pipeline mit Datenvorverarbeitung speichern. Danach werden wir das Modell im MetaTrader 5 Terminal verwenden.
preview
Kombinatorisch symmetrische Kreuzvalidierung in MQL5

Kombinatorisch symmetrische Kreuzvalidierung in MQL5

In diesem Artikel stellen wir die Implementierung der kombinatorisch symmetrischen Kreuzvalidierung in reinem MQL5 vor, um den Grad der Überanpassung nach der Optimierung einer Strategie unter Verwendung des langsamen vollständigen Algorithmus des Strategietesters zu messen.
preview
Elastische Netzregression mit Koordinatenabstieg in MQL5

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.
preview
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.
preview
Neuronale Netze leicht gemacht (Teil 44): Erlernen von Fertigkeiten mit Blick auf die Dynamik

Neuronale Netze leicht gemacht (Teil 44): Erlernen von Fertigkeiten mit Blick auf die Dynamik

Im vorangegangenen Artikel haben wir die DIAYN-Methode vorgestellt, die einen Algorithmus zum Erlernen einer Vielzahl von Fertigkeiten (skills) bietet. Die erworbenen Fertigkeiten können für verschiedene Aufgaben genutzt werden. Aber solche Fertigkeiten können ziemlich unberechenbar sein, was ihre Anwendung schwierig machen kann. In diesem Artikel wird ein Algorithmus zum Erlernen vorhersehbarer Fertigkeiten vorgestellt.
preview
Neuronale Netze leicht gemacht (Teil 45): Training von Fertigkeiten zur Erkundung des Zustands

Neuronale Netze leicht gemacht (Teil 45): Training von Fertigkeiten zur Erkundung des Zustands

Das Training nützlicher Fertigkeiten ohne explizite Belohnungsfunktion ist eine der größten Herausforderungen beim hierarchischen Verstärkungslernen. Zuvor haben wir bereits zwei Algorithmen zur Lösung dieses Problems kennengelernt. Die Frage nach der Vollständigkeit der Umweltforschung bleibt jedoch offen. In diesem Artikel wird ein anderer Ansatz für das Training von Fertigkeiten vorgestellt, dessen Anwendung direkt vom aktuellen Zustand des Systems abhängt.
preview
Quantitative Analyse in MQL5: Implementierung eines vielversprechenden Algorithmus

Quantitative Analyse in MQL5: Implementierung eines vielversprechenden Algorithmus

Wir werden der Frage nachgehen, was eine quantitative Analyse ist und wie sie von den wichtigsten Akteuren eingesetzt wird. Wir werden einen der Algorithmen für die quantitative Analyse in der Sprache MQL5 erstellen.
preview
Experimente mit neuronalen Netzen (Teil 6): Das Perzeptron als autarkes Instrument zur Preisprognose

Experimente mit neuronalen Netzen (Teil 6): Das Perzeptron als autarkes Instrument zur Preisprognose

Der Artikel liefert ein Beispiel für die Verwendung eines Perzeptrons als autarkes Preisprognoseinstrument, indem er allgemeine Konzepte und den einfachsten vorgefertigten Expert Advisor vorstellt und anschließend die Ergebnisse seiner Optimierung zeigt.
preview
Algorithmen zur Optimierung mit Populationen: Differenzielle Evolution (DE)

Algorithmen zur Optimierung mit Populationen: Differenzielle Evolution (DE)

In diesem Artikel werden wir uns mit dem Algorithmus befassen, der von allen bisher diskutierten Algorithmen die umstrittensten Ergebnisse zeigt - der Algorithmus der differentiellen Evolution (DE).
preview
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.
preview
Neuronale Netze leicht gemacht (Teil 22): Unüberwachtes Lernen von rekurrenten Modellen

Neuronale Netze leicht gemacht (Teil 22): Unüberwachtes Lernen von rekurrenten Modellen

Wir untersuchen weiterhin Modelle und Algorithmen für unüberwachtes Lernen. Diesmal schlage ich vor, dass wir die Eigenschaften von AutoAutoencodern bei der Anwendung auf das Training rekurrenter Modelle diskutieren.
preview
Wie man MetaTrader 5 mit PostgreSQL verbindet

Wie man MetaTrader 5 mit PostgreSQL verbindet

Dieser Artikel beschreibt vier Methoden zur Verbindung von MQL5-Code mit einer Postgres-Datenbank und bietet eine Schritt-für-Schritt-Anleitung zum Einrichten einer Entwicklungsumgebung für eine dieser Methoden, eine REST-API, unter Verwendung des Windows Subsystem For Linux (WSL). Eine Demo-Anwendung für die API wird zusammen mit dem entsprechenden MQL5-Code zum Einfügen von Daten und Abfragen der entsprechenden Tabellen sowie einem Demo-Expert Advisor zum Abrufen dieser Daten bereitgestellt.
preview
GUI: Tipps und Tricks zur Erstellung Ihrer eigenen Grafikbibliothek in MQL

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.
preview
Grafiken in der DoEasy-Bibliothek (Teil 99): Verschieben eines erweiterten grafischen Objekts mit einem einzigen Steuerpunkt

Grafiken in der DoEasy-Bibliothek (Teil 99): Verschieben eines erweiterten grafischen Objekts mit einem einzigen Steuerpunkt

Im vorigen Artikel habe ich die Möglichkeit implementiert, Angelpunkte eines erweiterten grafischen Objekts mithilfe von Steuerformularen zu verschieben. Jetzt werde ich die Möglichkeit implementieren, ein zusammengesetztes grafisches Objekt mithilfe eines einzelnen grafischen Objektsteuerungspunkts (Formulars) zu verschieben.
preview
Kategorientheorie in MQL5 (Teil 15) : Funktoren mit Graphen

Kategorientheorie in MQL5 (Teil 15) : Funktoren mit Graphen

Dieser Artikel über die Implementierung der Kategorientheorie in MQL5 setzt die Serie mit der Betrachtung der Funktoren fort, diesmal jedoch als Brücke zwischen Graphen und einer Menge. Wir greifen die Kalenderdaten wieder auf und plädieren trotz der Einschränkungen bei der Verwendung von Strategy Tester für die Verwendung von Funktoren zur Vorhersage der Volatilität mit Hilfe der Korrelation.
preview
Kategorientheorie in MQL5 (Teil 17): Funktoren und Monoide

Kategorientheorie in MQL5 (Teil 17): Funktoren und Monoide

Dieser Artikel, der letzte in unserer Reihe zum Thema Funktoren, befasst sich erneut mit Monoiden als Kategorie. Monoide, die wir in dieser Serie bereits vorgestellt haben, werden hier zusammen mit mehrschichtigen Perceptrons zur Unterstützung der Positionsbestimmung verwendet.
preview
Neuronale Netze leicht gemacht (Teil 23): Aufbau eines Tools für Transfer Learning

Neuronale Netze leicht gemacht (Teil 23): Aufbau eines Tools für Transfer Learning

In dieser Artikelserie haben wir bereits mehr als einmal über Transfer Learning berichtet. In diesem Artikel schlage ich vor, diese Lücke zu schließen und einen genaueren Blick auf Transfer Learning zu werfen.
preview
Die Kategorientheorie in MQL5 (Teil 1)

Die Kategorientheorie in MQL5 (Teil 1)

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 zu Kommentaren und Diskussionen anregt und hoffentlich die Nutzung dieses bemerkenswerten Bereichs für die Strategieentwicklung der Händler fördert.
preview
Strukturen in MQL5 und Methoden zum Drucken deren Daten

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.
preview
StringFormat(). Inspektion und vorgefertigte Beispiele

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.
preview
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.
preview
Erfahren Sie, wie Sie ein Handelssystem anhand des Relative Vigor Index entwickeln können

Erfahren Sie, wie Sie ein Handelssystem anhand des Relative Vigor Index entwickeln können

Ein neuer Artikel in unserer Serie darüber, wie man ein Handelssystem anhand eines beliebten technischen Indikators entwickelt. In diesem Artikel werden wir lernen, wie man das mit Hilfe des Relativen Vigot-Index-Indikators tun kann.
preview
Neuronale Netze leicht gemacht (Teil 40): Verwendung von Go-Explore bei großen Datenmengen

Neuronale Netze leicht gemacht (Teil 40): Verwendung von Go-Explore bei großen Datenmengen

In diesem Artikel wird die Verwendung des Go-Explore-Algorithmus über einen langen Trainingszeitraum erörtert, da die Strategie der zufälligen Aktionsauswahl mit zunehmender Trainingszeit möglicherweise nicht zu einem profitablen Durchgang führt.
preview
Frequenzbereichsdarstellungen von Zeitreihen: Das Leistungsspektrum

Frequenzbereichsdarstellungen von Zeitreihen: Das Leistungsspektrum

In diesem Artikel erörtern wir Methoden zur Analyse von Zeitreihen im Frequenzbereich. Hervorhebung des Nutzens der Untersuchung der Leistungsspektren von Zeitreihen bei der Erstellung von Vorhersagemodellen. In diesem Artikel werden wir einige der nützlichen Perspektiven erörtern, die sich aus der Analyse von Zeitreihen im Frequenzbereich unter Verwendung der diskreten Fourier-Transformation (dft) ergeben.
preview
Die visuelle Programmiersprache DRAKON - Kommunikationswerkzeug für MQL-Entwickler und Kunden

Die visuelle Programmiersprache DRAKON - Kommunikationswerkzeug für MQL-Entwickler und Kunden

DRAKON ist eine visuelle Programmiersprache, die entwickelt wurde, um die Interaktion zwischen Fachleuten aus verschiedenen Bereichen (Biologen, Physiker, Ingenieure...) und Programmierern in russischen Raumfahrtprojekten (z.B. im Projekt für das wiederverwendbare Raumschiff Buran) zu vereinfachen. In diesem Artikel werde ich darüber sprechen, wie DRAKON die Erstellung von Algorithmen zugänglich und intuitiv macht, selbst wenn Sie noch nie mit Code in Berührung gekommen sind, und wie es für Kunden einfacher ist, ihre Gedanken zu erklären, wenn sie Handelsroboter bestellen, und für Programmierer, weniger Fehler bei komplexen Funktionen zu machen.
Entwicklung eines Wiedergabesystems — Marktsimulation (Teil 10): Nur echte Daten für das Replay verwenden
Entwicklung eines Wiedergabesystems — Marktsimulation (Teil 10): Nur echte Daten für das Replay verwenden

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.
preview
Developing a Replay System — Market simulation (Part 13): Die Geburt des SIMULATORS (III)

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.
preview
Neuronale Netze leicht gemacht (Teil 36): Relationales Verstärkungslernen

Neuronale Netze leicht gemacht (Teil 36): Relationales Verstärkungslernen

In den Verstärkungslernmodellen, die wir im vorherigen Artikel besprochen haben, haben wir verschiedene Varianten von Faltungsnetzwerken verwendet, die in der Lage sind, verschiedene Objekte in den Originaldaten zu identifizieren. Der Hauptvorteil von Faltungsnetzen ist die Fähigkeit, Objekte unabhängig von ihrer Position zu erkennen. Gleichzeitig sind Faltungsnetzwerke nicht immer leistungsfähig, wenn es zu verschiedenen Verformungen von Objekten und Rauschen kommt. Dies sind die Probleme, die das relationale Modell lösen kann.
preview
DoEasy. Kontrollen (Teil 9): Neuanordnung von WinForms-Objektmethoden, Steuerung von RadioButton und Steuerungen

DoEasy. Kontrollen (Teil 9): Neuanordnung von WinForms-Objektmethoden, Steuerung von RadioButton und Steuerungen

In diesem Artikel werde ich die Namen der Methoden der WinForms-Objektklasse festlegen und WinForms-Objekte Button und RadioButton erstellen.
Grafiken in der DoEasy-Bibliothek (Teil 91): Standard-Ereignisse für grafische Objekte. Geschichte der Objektnamensänderung
Grafiken in der DoEasy-Bibliothek (Teil 91): Standard-Ereignisse für grafische Objekte. Geschichte der Objektnamensänderung

Grafiken in der DoEasy-Bibliothek (Teil 91): Standard-Ereignisse für grafische Objekte. Geschichte der Objektnamensänderung

In diesem Artikel werde ich die Grundfunktionalität für die Kontrolle über grafische Objektereignisse in einem bibliotheksbasierten Programm verfeinern. Ich beginne mit der Implementierung der Funktionalität zur Speicherung der Änderungshistorie grafischer Objekte am Beispiel der Eigenschaft "Objektname".
preview
Permutieren von Preisbalken in MQL5

Permutieren von Preisbalken in MQL5

In diesem Artikel stellen wir einen Algorithmus zur Permutation von Preisbalken vor und erläutern, wie Permutationstests verwendet werden können, um Fälle zu erkennen, in denen die Leistung einer Strategie gefälscht wurde, um potenzielle Käufer von Expert Advisors zu täuschen.