Artikel mit Beispielen für das Programmieren in MQL5

icon

Unterschiedlichste Artikel mit Beispielen über die Erstellung von Indikatoren und Robotern für die Handelsplattform MetaTrader in MQL5 warten auf Sie. Jeder Artikel hat Quellcodes, die Sie im MetaEditor öffnen und selbst starten können.

Diese Artikel sind hilfsreich sowohl für Anfänger im automatischen Handel, als auch für fortgeschritte Händler mit Erfahrungen im Programmieren und Handel. Hier finden Sie nicht nur Beispiele, sondern auch neue Ideen.

Neuer Artikel
letzte | beste
Algorithmen zur Populationsoptimierung
Algorithmen zur Populationsoptimierung

Algorithmen zur Populationsoptimierung

Dies ist ein einführender Artikel über die Klassifizierung von Optimierungsalgorithmen (OA). In dem Artikel wird versucht, einen Prüfstand (eine Reihe von Funktionen) zu erstellen, der zum Vergleich von OAs und vielleicht zur Ermittlung des universellsten Algorithmus unter allen bekannten Algorithmen verwendet werden soll.
preview
DoEasy. Steuerung (Teil 15): TabControl WinForms Objekt — mehrere Reihen von Registerkartenüberschriften, Methoden zur Behandlung von Registerkarten

DoEasy. Steuerung (Teil 15): TabControl WinForms Objekt — mehrere Reihen von Registerkartenüberschriften, Methoden zur Behandlung von Registerkarten

In diesem Artikel werde ich die Arbeit am Objekt TabControl WinForm fortsetzen — ich werde eine Tabulatorfeld-Objektklasse erstellen, es möglich machen, Tabulatorüberschriften in mehreren Zeilen anzuordnen und Methoden für die Handhabung von Objekttabs hinzufügen.
preview
Grafiken in der DoEasy-Bibliothek (Teil 97): Unabhängige Handhabung der Bewegung von Formularobjekten

Grafiken in der DoEasy-Bibliothek (Teil 97): Unabhängige Handhabung der Bewegung von Formularobjekten

In diesem Artikel werde ich die Implementierung des unabhängigen Ziehens von beliebigen Formularobjekten mit der Maus betrachten. Außerdem werde ich die Bibliothek um Fehlermeldungen und neue Deal-Eigenschaften ergänzen, die zuvor in das Terminal und MQL5 implementiert wurden.
preview
Algorithmen zur Optimierung mit Populationen: Ein dem Elektro-Magnetismus ähnlicher Algorithmus (ЕМ)

Algorithmen zur Optimierung mit Populationen: Ein dem Elektro-Magnetismus ähnlicher Algorithmus (ЕМ)

Der Artikel beschreibt die Prinzipien, Methoden und Möglichkeiten der Anwendung des elektromagnetischen Algorithmus bei verschiedenen Optimierungsproblemen. Der EM-Algorithmus ist ein effizientes Optimierungswerkzeug, das mit großen Datenmengen und mehrdimensionalen Funktionen arbeiten kann.
preview
Kategorientheorie in MQL5 (Teil 11): Graphen

Kategorientheorie in MQL5 (Teil 11): Graphen

Dieser Artikel ist die Fortsetzung einer Serie, die sich mit der Implementierung der Kategorientheorie in MQL5 beschäftigt. Hier untersuchen wir, wie die Graphentheorie mit Monoiden und anderen Datenstrukturen bei der Entwicklung einer Ausstiegsstrategie für ein Handelssystem integriert werden kann.
preview
Algorithmen zur Optimierung mit Populationen: Algorithmus des Mind Evolutionary Computation (MEC)

Algorithmen zur Optimierung mit Populationen: Algorithmus des Mind Evolutionary Computation (MEC)

Der Artikel befasst sich mit einem Algorithmus aus der MEC-Familie, dem Simple Mind Evolutionary Computation Algorithmus (Simple MEC, SMEC). Der Algorithmus zeichnet sich durch die Schönheit seiner Idee und die Einfachheit seiner Umsetzung aus.
Grafiken in der DoEasy-Bibliothek (Teil 90): Standard-Ereignisse für grafische Objekte. grundlegende Funktionsweise
Grafiken in der DoEasy-Bibliothek (Teil 90): Standard-Ereignisse für grafische Objekte. grundlegende Funktionsweise

Grafiken in der DoEasy-Bibliothek (Teil 90): Standard-Ereignisse für grafische Objekte. grundlegende Funktionsweise

In diesem Artikel werde ich die grundlegenden Funktionen für die Verfolgung von Standardereignissen für grafische Objekte implementieren. Ich werde von einem Doppelklick-Ereignis auf ein grafisches Objekt ausgehen.
preview
Algorithmen zur Optimierung mit Populationen: Shuffled Frog-Leaping Algorithmus (SFL)

Algorithmen zur Optimierung mit Populationen: Shuffled Frog-Leaping Algorithmus (SFL)

Der Artikel enthält eine detaillierte Beschreibung des Shuffled-Frog-Leaping-Algorithmus (SFL) und seiner Fähigkeiten bei der Lösung von Optimierungsproblemen. Der SFL-Algorithmus ist vom Verhalten der Frösche in ihrer natürlichen Umgebung inspiriert und bietet einen neuen Ansatz zur Funktionsoptimierung. Der SFL-Algorithmus ist ein effizientes und flexibles Werkzeug, das eine Vielzahl von Datentypen verarbeiten und optimale Lösungen erzielen kann.
Grafiken in der DoEasy-Bibliothek (Teil 95): Steuerelemente für zusammengesetzte grafische Objekte
Grafiken in der DoEasy-Bibliothek (Teil 95): Steuerelemente für zusammengesetzte grafische Objekte

Grafiken in der DoEasy-Bibliothek (Teil 95): Steuerelemente für zusammengesetzte grafische Objekte

In diesem Artikel befasse ich mich mit den Hilfsmitteln zur Verwaltung zusammengesetzter grafischer Objekte - Steuerelemente zur Verwaltung eines erweiterten grafischen Standardobjekts. Heute werde ich ein wenig vom Verschieben eines zusammengesetzten grafischen Objekts abweichen und den Handler für Änderungsereignisse in einem Chart mit einem zusammengesetzten grafischen Objekt implementieren. Außerdem werde ich mich auf die Steuerelemente für die Verwaltung eines zusammengesetzten grafischen Objekts konzentrieren.
preview
Algorithmen zur Optimierung mit Populationen: Harmonie-Suche (HS)

Algorithmen zur Optimierung mit Populationen: Harmonie-Suche (HS)

In diesem Artikel werde ich den leistungsstärksten Optimierungsalgorithmus untersuchen und testen - die Harmonie-Suche (HS), inspiriert durch den Prozess der Suche nach der perfekten Klangharmonie. Welcher Algorithmus ist nun der führende in unserer Bewertung?
preview
DoEasy. Steuerung (Teil 2): Arbeiten an der Klasse CPanel

DoEasy. Steuerung (Teil 2): Arbeiten an der Klasse CPanel

Im aktuellen Artikel werde ich einige Fehler im Zusammenhang mit der Handhabung von grafischen Elementen beseitigen und die Entwicklung des CPanel-Steuerelements fortsetzen. Insbesondere werde ich die Methoden zur Einstellung der Parameter der Schriftart implementieren, die standardmäßig für alle Textobjekte des Panels verwendet wird.
preview
Selbstoptimierende Expert Advisors in MQL5 erstellen

Selbstoptimierende Expert Advisors in MQL5 erstellen

Bauen wir Expert Advisor, die in die Zukunft blicken und sich an jeden Markt anpassen können.
preview
DoEasy. Steuerung (Teil 7): Steuerung der Text Label

DoEasy. Steuerung (Teil 7): Steuerung der Text Label

In diesem Artikel werde ich die Klasse des WinForms Steuerungsobjekts der Text Label erstellen. Ein solches Objekt kann seinen Container an beliebiger Stelle positionieren, während seine eigene Funktionalität die Funktionalität des MS Visual Studio-Text Label kopiert. Wir werden in der Lage sein, Schriftparameter für einen angezeigten Text festzulegen.
preview
DoEasy. Steuerung (Teil 3): Erstellen gebundener Steuerelemente

DoEasy. Steuerung (Teil 3): Erstellen gebundener Steuerelemente

In diesem Artikel werde ich untergeordnete Steuerelemente erstellen, die an das Basiselement gebunden sind. Die Entwicklung wird unter Verwendung der Basissteuerungsfunktionalität durchgeführt. Außerdem werde ich ein wenig am Schattenobjekt des grafischen Elements basteln, da es immer noch unter einigen Logikfehlern leidet, wenn es auf eines der Objekte angewendet wird, die einen Schatten haben können.
preview
Algorithmen zur Optimierung mit Populationen: Saplings Sowing and Growing up (SSG)

Algorithmen zur Optimierung mit Populationen: Saplings Sowing and Growing up (SSG)

Der Algorithmus Saplings Sowing and Growing up (SSG, Setzen, Säen und Wachsen) wurde von einem der widerstandsfähigsten Organismen der Erde inspiriert, der unter den verschiedensten Bedingungen überleben kann.
preview
DoEasy. Steuerung (Teil 6): Paneel-Steuerung, automatische Größenanpassung des Containers an den inneren Inhalt

DoEasy. Steuerung (Teil 6): Paneel-Steuerung, automatische Größenanpassung des Containers an den inneren Inhalt

In diesem Artikel werde ich meine Arbeit an dem WinForms-Objekt Panel fortsetzen und seine automatische Größenanpassung an die allgemeine Größe der Dock-Objekte, die sich innerhalb des Paneels befinden, implementieren. Außerdem werde ich die neuen Eigenschaften zum Objekt der Symbolbibliothek hinzufügen.
preview
Kategorientheorie in MQL5 (Teil 10): Monoide Gruppen

Kategorientheorie in MQL5 (Teil 10): Monoide Gruppen

Dieser Artikel setzt die Serie über die Implementierung der Kategorientheorie in MQL5 fort. Hier betrachten wir Monoidgruppen als Mittel zur Normalisierung von Monoidmengen, um sie über eine größere Bandbreite von Monoidmengen und Datentypen hinweg vergleichbar zu machen.
preview
Algorithmen zur Optimierung mit Populationen: Mikro-Künstliches Immunsystem (Mikro-AIS)

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.
preview
DoEasy. Steuerung (Teil 12): WinForms-Objekte Basislistenobjekt, ListBox und ButtonListBox

DoEasy. Steuerung (Teil 12): WinForms-Objekte Basislistenobjekt, ListBox und ButtonListBox

In diesem Artikel werde ich das Basisobjekt der WinForms-Objektlisten sowie die beiden neuen Objekte erstellen: ListBox und ButtonListBox.
preview
Grafiken in der Bibliothek DoEasy (Teil 100): Verbesserungen im Umgang mit erweiterten grafischen Standardobjekten

Grafiken in der Bibliothek DoEasy (Teil 100): Verbesserungen im Umgang mit erweiterten grafischen Standardobjekten

Im aktuellen Artikel werde ich offensichtliche Fehler bei der gleichzeitigen Behandlung von erweiterten (und Standard-) Grafikobjekten und Formularobjekten auf der Leinwand beseitigen sowie Fehler beheben, die bei dem im vorherigen Artikel durchgeführten Test entdeckt wurden. Der Artikel schließt diesen Teil der Bibliotheksbeschreibung ab.
preview
DoEasy. Steuerung (Teil 10): WinForms-Objekte - Animieren der Nutzeroberfläche

DoEasy. Steuerung (Teil 10): WinForms-Objekte - Animieren der Nutzeroberfläche

Nun ist es an der Zeit, die grafische Oberfläche zu animieren, indem die Funktionsweise für die Interaktion von Objekten mit Nutzern und Objekten implementiert wird. Die neue Funktionsweise wird auch notwendig sein, damit komplexere Objekte korrekt funktionieren.
preview
DoEasy. Steuerung (Teil 11): WinForms Objekte — Gruppen, das WinForms-Objekt CheckedListBox

DoEasy. Steuerung (Teil 11): WinForms Objekte — Gruppen, das WinForms-Objekt CheckedListBox

Der Artikel behandelt die Gruppierung von WinForms-Objekten und die Erstellung des Listenobjekts CheckBox-Objekte.
preview
Grafiken in der Bibliothek DoEasy (Teil 98): Verschieben von Angelpunkten erweiterter grafischer Standardobjekte

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.
preview
Algorithmen zur Optimierung mit Populationen: Evolutionsstrategien, (μ,λ)-ES und (μ+λ)-ES

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.
preview
Entwicklung eines Replay Systems (Teil 33): Auftragssystem (II)

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.
preview
DoEasy. Steuerung (Teil 5): Basisobjekt von WinForms, Paneel-Steuerelement, Parameter AutoSize

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.
preview
DoEasy. Steuerung (Teil 8): Objektkategorien von Basis-WinForms zur Steuerung von GroupBox- und CheckBox

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.
preview
DoEasy. Steuerung (Teil 16): TabControl WinForms-Objekt — mehrere Reihen von Registerkarten-Kopfzeilen, Dehnung der Kopfzeilen zur Anpassung an den Container

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).
preview
DoEasy. Steuerung (Teil 13): Optimierung der Interaktion von WinForms-Objekten mit der Maus, Beginn der Entwicklung des WinForms-Objekts TabControl

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.
preview
MQL5 beherrschen, vom Anfänger zum Profi (Teil II): Grundlegende Datentypen und die Verwendung von Variablen

MQL5 beherrschen, vom Anfänger zum Profi (Teil II): Grundlegende Datentypen und die Verwendung von Variablen

Dies ist eine Fortsetzung der Serie für Anfänger. In diesem Artikel werden wir uns ansehen, wie man Konstanten und Variablen erstellt, Daten, Farben und andere nützliche Daten schreibt. Wir werden lernen, wie man Enumerationen (Aufzählungen) wie Wochentage oder Linienstile (durchgezogen, gepunktet usw.) erstellt. Variablen und Ausdrücke sind die Grundlage der Programmierung. Sie sind definitiv in 99 % der Programme vorhanden, daher ist es wichtig, sie zu verstehen. Wenn Sie also neu in der Programmierung sind, kann dieser Artikel sehr nützlich für Sie sein. Erforderliche Programmierkenntnisse: sehr einfach, innerhalb der Grenzen meines vorherigen Artikels (siehe den Link am Anfang).
preview
Популяционные алгоритмы оптимизации: Гибридный алгоритм оптимизации бактериального поиска с генетическим алгоритмом (Bacterial Foraging Optimization - Genetic Algorithm, BFO-GA)

Популяционные алгоритмы оптимизации: Гибридный алгоритм оптимизации бактериального поиска с генетическим алгоритмом (Bacterial Foraging Optimization - Genetic Algorithm, BFO-GA)

В статье представлен новый подход к решению оптимизационных задач, путём объединения идей алгоритмов оптимизации бактериального поиска пищи (BFO) и приёмов, используемых в генетическом алгоритме (GA), в гибридный алгоритм BFO-GA. Он использует роение бактерий для глобального поиска оптимального решения и генетические операторы для уточнения локальных оптимумов. В отличие от оригинального BFO бактерии теперь могут мутировать и наследовать гены.
preview
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.
preview
Nachrichtenhandel leicht gemacht (Teil 1): Erstellen einer Datenbank

Nachrichtenhandel leicht gemacht (Teil 1): Erstellen einer Datenbank

Der Nachrichten basierte Handel kann kompliziert und erdrückend sein. In diesem Artikel werden wir die einzelnen Schritte zur Beschaffung von Nachrichtendaten erläutern. Außerdem werden wir mehr über den MQL5-Wirtschaftskalender und seine Möglichkeiten erfahren.
preview
Developing an MQL5 RL agent with RestAPI integration (Part 2): MQL5 functions for HTTP interaction with the tic-tac-toe game REST API

Developing an MQL5 RL agent with RestAPI integration (Part 2): MQL5 functions for HTTP interaction with the tic-tac-toe game REST API

In this article we will talk about how MQL5 can interact with Python and FastAPI, using HTTP calls in MQL5 to interact with the tic-tac-toe game in Python. The article discusses the creation of an API using FastAPI for this integration and provides a test script in MQL5, highlighting the versatility of MQL5, the simplicity of Python, and the effectiveness of FastAPI in connecting different technologies to create innovative solutions.
preview
Data label for time series mining (Part 6):Apply and Test in EA Using ONNX

Data label for time series mining (Part 6):Apply and Test in EA Using ONNX

This series of articles introduces several time series labeling methods, which can create data that meets most artificial intelligence models, and targeted data labeling according to needs can make the trained artificial intelligence model more in line with the expected design, improve the accuracy of our model, and even help the model make a qualitative leap!
preview
Verschaffen Sie sich einen Vorteil auf jedem Markt

Verschaffen Sie sich einen Vorteil auf jedem Markt

Erfahren Sie, wie Sie jedem Markt, mit dem Sie handeln möchten, einen Schritt voraus sein können, unabhängig von dem derzeitigen Niveau Ihrer Fähigkeiten.
preview
Entwicklung eines Replay Systems (Teil 35): Anpassungen vornehmen (I)

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.
preview
Die Gruppenmethode der Datenverarbeitung: Implementierung des Kombinatorischen Algorithmus in MQL5

Die Gruppenmethode der Datenverarbeitung: Implementierung des Kombinatorischen Algorithmus in MQL5

In diesem Artikel setzen wir unsere Untersuchung der Algorithmenfamilie Group Method of Data Handling mit der Implementierung des Kombinatorischen Algorithmus und seiner verfeinerten Variante, dem Kombinatorischen Selektiven Algorithmus in MQL5 fort.
preview
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.
preview
Alternative Risiko-Ertrags-Metriken in MQL5

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.