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
preview
Sentiment-Analyse und Deep Learning für den Handel mit EA und Backtesting mit Python

Sentiment-Analyse und Deep Learning für den Handel mit EA und Backtesting mit Python

In diesem Artikel werden wir die Sentiment-Analyse und ONNX-Modelle mit Python vorstellen, die in einem EA verwendet werden können. Ein Skript führt ein trainiertes ONNX-Modell aus TensorFlow für Deep Learning-Vorhersagen aus, während ein anderes Nachrichtenschlagzeilen abruft und die Stimmung mithilfe von KI quantifiziert.
preview
Entwicklung eines Replay-Systems — Marktsimulation (Teil 05): Hinzufügen einer Vorschau

Entwicklung eines Replay-Systems — Marktsimulation (Teil 05): Hinzufügen einer Vorschau

Es ist uns gelungen, einen Weg zu finden, das Replay-System (Marktwiederholungssystem) auf realistische und zugängliche Weise umzusetzen. Lassen Sie uns nun unser Projekt fortsetzen und Daten hinzufügen, um das Wiedergabeverhalten zu verbessern.
preview
Einen handelnden Expert Advisor von Grund auf neu entwickeln (Teil 29): Die sprechende Plattform

Einen handelnden Expert Advisor von Grund auf neu entwickeln (Teil 29): Die sprechende Plattform

In diesem Artikel erfahren Sie, wie Sie die MetaTrader 5-Plattform zum Sprechen bringen. Wie wäre es, wenn wir den EA unterhaltsamer gestalten? Der Handel an den Finanzmärkten ist oft zu langweilig und eintönig, aber wir können diesen Job weniger anstrengend machen. Bitte beachten Sie, dass dieses Projekt für Menschen mit Suchtneigung gefährlich sein kann. Aber im Allgemeinen macht es die Dinge einfach weniger langweilig.
Grafik in der Bibliothek DoEasy (Teil 80): Die Objektklasse "Geometrischer Animationsrahmen"
Grafik in der Bibliothek DoEasy (Teil 80): Die Objektklasse "Geometrischer Animationsrahmen"

Grafik in der Bibliothek DoEasy (Teil 80): Die Objektklasse "Geometrischer Animationsrahmen"

In diesem Artikel werde ich den Code der Klassen aus den vorhergehenden Artikeln optimieren und die geometrische Animationsrahmen-Objektklasse erstellen, die es uns ermöglicht, regelmäßige Polygone mit einer bestimmten Anzahl von Scheitelpunkten zu zeichnen.
preview
Algorithmen zur Optimierung mit Populationen: Der Algorithmus intelligenter Wassertropfen (IWD)

Algorithmen zur Optimierung mit Populationen: Der Algorithmus intelligenter Wassertropfen (IWD)

Der Artikel befasst sich mit einem interessanten, von der unbelebten Natur abgeleiteten Algorithmus - intelligente Wassertropfen (IWD), die den Prozess der Flussbettbildung simulieren. Die Ideen dieses Algorithmus ermöglichten es, den bisherigen Spitzenreiter der Bewertung - SDS - deutlich zu verbessern. Der neue Führende (modifizierter SDSm) befindet sich wie üblich im Anhang.
Preise in der DoEasy-Bibliothek (Teil 61): Kollektion der Tickserien eines Symbols
Preise in der DoEasy-Bibliothek (Teil 61): Kollektion der Tickserien eines Symbols

Preise in der DoEasy-Bibliothek (Teil 61): Kollektion der Tickserien eines Symbols

Da ein Programm bei seiner Arbeit verschiedene Symbole verwenden kann, sollte für jedes dieser Symbole eine eigene Liste erstellt werden. In diesem Artikel werde ich solche Listen zu einer Tickdatenkollektion zusammenfassen. In der Tat wird dies eine reguläre Liste sein, die auf der Klasse des dynamischen Arrays von Zeigern auf Instanzen der Klasse CObject und ihrer Nachkommen der Standardbibliothek basiert.
preview
Hinzufügen von Trailing-Stop mit Parabolic SAR

Hinzufügen von Trailing-Stop mit Parabolic SAR

Wenn wir eine Handelsstrategie entwickeln, müssen wir verschiedene Optionen für einen schützenden Stopp testen. Hier bietet sich ein dynamisches Nachziehen des dem Kurs folgenden Stop-Loss-Levels an. Der beste Kandidat dafür ist der Parabolic SAR-Indikator. Es ist schwierig, sich etwas Einfacheres und visuell Klareres vorzustellen.
preview
Zeitreihen in der Bibliothek DoEasy (Teil 55): Die Kollektionsklasse der Indikatoren

Zeitreihen in der Bibliothek DoEasy (Teil 55): Die Kollektionsklasse der Indikatoren

Der Artikel setzt die Entwicklung von Objektklassen für die Indikatoren und deren Kollektionen fort. Für jedes Indikatorobjekt erstellen wir seine Beschreibung und die richtige Kollektionsklasse für die fehlerfreie Speicherung und das Abrufen von Indikatorobjekten aus der Kollektionsliste.
preview
Komplexe Indikatoren mit Objekten vereinfachen

Komplexe Indikatoren mit Objekten vereinfachen

In diesem Artikel wird eine Methode zur Erstellung komplexer Indikatoren vorgestellt, bei der gleichzeitig die Probleme vermieden werden, die bei der Arbeit mit mehreren Flächen, Puffern und/oder der Kombination von Daten aus mehreren Quellen auftreten.
Grafiken in der Bibliothek DoEasy (Teil 87): Grafische Kollektion - Verwaltung der Änderungen von Eigenschaften von Objekten auf allen offenen Charts
Grafiken in der Bibliothek DoEasy (Teil 87): Grafische Kollektion - Verwaltung der Änderungen von Eigenschaften von Objekten auf allen offenen Charts

Grafiken in der Bibliothek DoEasy (Teil 87): Grafische Kollektion - Verwaltung der Änderungen von Eigenschaften von Objekten auf allen offenen Charts

In diesem Artikel werde ich meine Arbeit an der Kontrolle von Standardereignissen für grafische Objekte fortsetzen und eine Funktionalität schaffen, die es den Nutzern ermöglicht, Änderungen der Eigenschaften von grafischen Objekten zu kontrollieren, die auf beliebigen im Terminal geöffneten Charts platziert sind.
preview
Zeitreihen in der Bibliothek DoEasy (Teil 52): Plattformübergreifende Eigenschaft für Standardindikatoren mit einem Puffer für mehrere Symbole und Perioden

Zeitreihen in der Bibliothek DoEasy (Teil 52): Plattformübergreifende Eigenschaft für Standardindikatoren mit einem Puffer für mehrere Symbole und Perioden

In diesem Artikel wird das Erstellen des Standardindikators Akkumulation/Distribution mehrere Symbole und Perioden behandelt. Wir verbessern die Bibliotheksklassen in Bezug auf die Indikatoren ein wenig, damit die für die veraltete Plattform MetaTrader 4 entwickelten Programme, die auf dieser Bibliothek basieren, beim Umstieg auf MetaTrader 5 normal funktionieren können.
preview
DoEasy. Steuerung (Teil 27): Arbeiten am WinForms Objekt der ProgressBar

DoEasy. Steuerung (Teil 27): Arbeiten am WinForms Objekt der ProgressBar

In diesem Artikel werde ich die Entwicklung des ProgressBar-Steuerelements fortsetzen. Insbesondere werde ich die Funktionen zur Verwaltung des Fortschrittsbalkens und der visuellen Effekte erstellen.
Zeitreihen in der Bibliothek DoEasy (Teil 59): Objekt zum Speichern der Daten eines Ticks
Zeitreihen in der Bibliothek DoEasy (Teil 59): Objekt zum Speichern der Daten eines Ticks

Zeitreihen in der Bibliothek DoEasy (Teil 59): Objekt zum Speichern der Daten eines Ticks

Ab diesem Artikel beginnen wir mit der Erstellung von Bibliotheksfunktionen für die Arbeit mit Preisdaten. Heute erstellen wir eine Objektklasse, die alle Preisdaten speichert, die mit einem weiteren Tick angekommen sind.
MQL als Darstellungsmittel für graphische Schnittstellen von MQL-Programmen. Teil 2
MQL als Darstellungsmittel für graphische Schnittstellen von MQL-Programmen. Teil 2

MQL als Darstellungsmittel für graphische Schnittstellen von MQL-Programmen. Teil 2

In diesem Beitrag wird die neue Konzeption zur Beschreibung der Fenster-Schnittstelle von MQL-Programmen anhand der Strukturen von MQL weiter überprüft. Die automatische Erstellung einer GUI auf der Grundlage des MQL-Markups bietet zusätzliche Funktionalität für die Zwischenspeicherung und dynamische Generierung der Elemente und die Steuerung der Stile und neuen Schemata für die Verarbeitung der Ereignisse. Beigefügt ist eine erweiterte Version der Standardbibliothek von Steuerelementen.
preview
Erstellung von Zeitreihenvorhersagen mit neuronalen LSTM-Netzen: Normalisierung des Preises und Tokenisierung der Zeit

Erstellung von Zeitreihenvorhersagen mit neuronalen LSTM-Netzen: Normalisierung des Preises und Tokenisierung der Zeit

In diesem Artikel wird eine einfache Strategie zur Normalisierung der Marktdaten anhand der täglichen Spanne und zum Training eines neuronalen Netzes zur Verbesserung der Marktprognosen beschrieben. Die entwickelten Modelle können in Verbindung mit einem bestehenden technischen Analysesystem oder auf eigenständiger Basis verwendet werden, um die allgemeine Marktrichtung vorherzusagen. Der in diesem Artikel skizzierte Rahmen kann von jedem technischen Analysten weiter verfeinert werden, um Modelle zu entwickeln, die sowohl für manuelle als auch für automatisierte Handelsstrategien geeignet sind.
Grafiken in der Bibliothek DoEasy (Teil 82): Die Umgestaltung von Bibliotheksobjekten und Kollektion von grafischen Objekten
Grafiken in der Bibliothek DoEasy (Teil 82): Die Umgestaltung von Bibliotheksobjekten und Kollektion von grafischen Objekten

Grafiken in der Bibliothek DoEasy (Teil 82): Die Umgestaltung von Bibliotheksobjekten und Kollektion von grafischen Objekten

In diesem Artikel werde ich alle Bibliotheksobjekte verbessern, indem ich jedem Objekt einen eindeutigen Typ zuordne und die Entwicklung der Klasse der grafischen Bibliotheksobjekte Kollektion fortsetze.
preview
Verständnis von Programmierparadigmen (Teil 1): Ein verfahrenstechnischer Ansatz für die Entwicklung eines Price Action Expert Advisors

Verständnis von Programmierparadigmen (Teil 1): Ein verfahrenstechnischer Ansatz für die Entwicklung eines Price Action Expert Advisors

Lernen Sie die Programmierparadigmen und ihre Anwendung in MQL5-Code kennen. In diesem Artikel werden die Besonderheiten der prozeduralen Programmierung untersucht und anhand eines praktischen Beispiels in die Praxis umgesetzt. Sie lernen, wie Sie einen Price Action Expert Advisor mit dem EMA-Indikator und Kerzen-Kursdaten entwickeln. Außerdem führt der Artikel in das Paradigma der funktionalen Programmierung ein.
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.
Zeitreihen in der Bibliothek DoEasy (Teil 44): Kollektionsklasse der Objekte von Indikatorpuffern
Zeitreihen in der Bibliothek DoEasy (Teil 44): Kollektionsklasse der Objekte von Indikatorpuffern

Zeitreihen in der Bibliothek DoEasy (Teil 44): Kollektionsklasse der Objekte von Indikatorpuffern

Der Artikel befasst sich mit der Erstellung einer Kollektionsklasse der Objekte von Indikatorpuffern. Ich werde die Fähigkeit testen, eine beliebige Anzahl von Puffern für Indikatoren zu erstellen und mit ihnen zu arbeiten (die maximale Anzahl von Indikatorpuffern, die in MQL erstellt werden können, beträgt 512).
Grafik in der Bibliothek DoEasy (Teil 78): Animationsprinzipien in der Bibliothek. Schneiden von Bildern
Grafik in der Bibliothek DoEasy (Teil 78): Animationsprinzipien in der Bibliothek. Schneiden von Bildern

Grafik in der Bibliothek DoEasy (Teil 78): Animationsprinzipien in der Bibliothek. Schneiden von Bildern

In diesem Artikel werde ich die Animationsprinzipien definieren, die in einigen Teilen der Bibliothek verwendet werden sollen. Außerdem werde ich eine Klasse entwickeln, mit der ein Teil des Bildes kopiert und an einer bestimmten Stelle des Formularobjekts eingefügt werden kann, wobei der Teil des Formularhintergrunds, über den das Bild gelegt werden soll, erhalten bleibt und wiederhergestellt wird.
preview
Selbstoptimierende Expert Advisors mit MQL5 und Python erstellen

Selbstoptimierende Expert Advisors mit MQL5 und Python erstellen

In diesem Artikel werden wir erörtern, wie wir Expert Advisors erstellen können, die in der Lage sind, Handelsstrategien auf der Grundlage der vorherrschenden Marktbedingungen eigenständig auszuwählen und zu ändern. Wir werden etwas über Markov-Ketten lernen und wie sie algorithmischen Händler helfen können.
Andere Klassen in der Bibliothek DoEasy (Teil 71): Ereignisse der Kollektion von Chartobjekten
Andere Klassen in der Bibliothek DoEasy (Teil 71): Ereignisse der Kollektion von Chartobjekten

Andere Klassen in der Bibliothek DoEasy (Teil 71): Ereignisse der Kollektion von Chartobjekten

In diesem Artikel werde ich die Funktionalität für die Verfolgung einiger Ereignisse von Chartobjekten erstellen — Hinzufügen/Entfernen von Symbolcharts und Chart-Unterfenstern, sowie Hinzufügen/Entfernen/Ändern von Indikatoren in Chart-Fenstern.
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.
Grafik in der Bibliothek DoEasy (Teil 81): Integration von Grafiken in Bibliotheksobjekt
Grafik in der Bibliothek DoEasy (Teil 81): Integration von Grafiken in Bibliotheksobjekt

Grafik in der Bibliothek DoEasy (Teil 81): Integration von Grafiken in Bibliotheksobjekt

Es ist nun an der Zeit, die bereits erstellten Objekte in die zuvor erstellten Bibliotheksobjekte zu integrieren. Dadurch wird jedes Bibliotheksobjekt mit einem eigenen grafischen Objekt ausgestattet, das den Nutzern die Interaktion mit dem Programm ermöglicht.
preview
Mehrere Indikatoren auf einem Chart (Teil 02): Erste Experiment

Mehrere Indikatoren auf einem Chart (Teil 02): Erste Experiment

Im vorherigen Artikel "Mehrere Indikatoren in einem Chart" habe ich das Konzept und die Grundlagen der Verwendung mehrerer Indikatoren in einem Chart vorgestellt. In diesem Artikel werde ich den Quellcode zur Verfügung stellen und ihn im Detail erklären.
preview
Verwendung der Klasse CCanvas in MQL-Anwendungen

Verwendung der Klasse CCanvas in MQL-Anwendungen

Der Artikel befasst sich mit der Verwendung der Klasse CCanvas in MQL-Anwendungen. Die Theorie wird von detaillierten Erklärungen und Beispielen begleitet, um ein gründliches Verständnis der CCanvas-Grundlagen zu ermöglichen.
preview
DoEasy. Steuerung (Teil 31): Scrollen des Inhalts des ScrollBar-Steuerelements

DoEasy. Steuerung (Teil 31): Scrollen des Inhalts des ScrollBar-Steuerelements

In diesem Artikel werde ich die Funktionsweise des Scrollens des Inhalts des Containers mithilfe der Schaltflächen der horizontalen Bildlaufleiste implementieren.
preview
Algorithmen zur Optimierung mit Populationen Künstliches Bienenvolk (Artificial Bee Colony, ABC)

Algorithmen zur Optimierung mit Populationen Künstliches Bienenvolk (Artificial Bee Colony, ABC)

In diesem Artikel werden wir den Algorithmus eines künstlichen Bienenvolkes untersuchen und unser Wissen durch neue Prinzipien zur Untersuchung funktionaler Räume ergänzen. In diesem Artikel werde ich meine Interpretation der klassischen Version des Algorithmus vorstellen.
preview
Nicht-lineare Indikatoren

Nicht-lineare Indikatoren

In diesem Artikel werde ich versuchen, einige Möglichkeiten zur Erstellung nichtlinearer Indikatoren und deren Verwendung im Handel zu besprechen. In der MetaTrader-Handelsplattform gibt es eine ganze Reihe von Indikatoren, die nicht-lineare Ansätze verwenden.
preview
Automatisierte Parameter-Optimierung für Handelsstrategien mit Python und MQL5

Automatisierte Parameter-Optimierung für Handelsstrategien mit Python und MQL5

Es gibt mehrere Arten von Algorithmen zur Selbstoptimierung von Handelsstrategien und Parametern. Diese Algorithmen werden zur automatischen Verbesserung von Handelsstrategien auf der Grundlage historischer und aktueller Marktdaten eingesetzt. In diesem Artikel werden wir uns eine davon mit Python und MQL5-Beispielen ansehen.
preview
DoEasy. Steuerung (Teil 20): Das WinForms-Objekt SplitContainer

DoEasy. Steuerung (Teil 20): Das WinForms-Objekt SplitContainer

In diesem Artikel werde ich mit der Entwicklung des SplitContainer-Steuerelements aus dem MS Visual Studio-Toolkit beginnen. Diese Steuerelement besteht aus zwei Feldern, die durch eine vertikale oder horizontale bewegliche Trennwand getrennt sind.
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
Zeitreihen in der Bibliothek DoEasy (Teil 57): Das Datenobjekt der Indikatorpuffer

Zeitreihen in der Bibliothek DoEasy (Teil 57): Das Datenobjekt der Indikatorpuffer

Wir entwickeln in diesem Artikel ein Objekt, das alle Daten eines Puffers für einen Indikator enthalten wird. Solche Objekte werden für die Speicherung serieller Daten von Indikatorpuffern benötigt. Mit ihrer Hilfe wird es möglich sein, Pufferdaten beliebiger Indikatoren zu sortieren und zu vergleichen, sowie andere ähnliche Daten miteinander zu vergleichen.
preview
DoEasy. Steuerung (Teil 26): Fertigstellung des WinForms-Objekts ToolTip und Weiterführung der Entwicklung der ProgressBar

DoEasy. Steuerung (Teil 26): Fertigstellung des WinForms-Objekts ToolTip und Weiterführung der Entwicklung der ProgressBar

In diesem Artikel werde ich die Entwicklung des ToolTip-Steuerelements abschließen und mit der Entwicklung des WinForms-Objekts der ProgressBar beginnen. Bei der Arbeit an Objekten werde ich universelle Funktionen für die Animation von Steuerelementen und deren Komponenten entwickeln.
preview
DoEasy. Steuerung (Teil 4): Paneel-Steuerung, Parameter für Padding und Dock

DoEasy. Steuerung (Teil 4): Paneel-Steuerung, Parameter für Padding und Dock

In diesem Artikel werde ich die Handhabung der Parameter von Padding (interne Einzüge/Rand auf allen Seiten eines Elements) und Dock (die Art und Weise, wie sich ein Objekt in seinem Container befindet) implementieren.
preview
Zeitreihen in der Bibliothek DoEasy (Teil 50): Verschieben der Standardindikatoren für mehrere Symbole und Perioden

Zeitreihen in der Bibliothek DoEasy (Teil 50): Verschieben der Standardindikatoren für mehrere Symbole und Perioden

In diesem Artikel wollen wir die Bibliotheksmethoden für die korrekte Anzeige von Mehrsymbol- und Mehrperioden-Standardindikatoren verbessern, wobei die Linien auf dem aktuellen Symbol-Chart mit einer in den Einstellungen festgelegten Verschiebung angezeigt werden. Außerdem sollten wir die Methoden für die Arbeit mit Standardindikatoren in Ordnung bringen und den redundanten Code für den Bibliotheksbereich im endgültigen Indikatorprogramm entferne.
preview
Der Indikator CCI: Upgrade und neue Funktionen

Der Indikator CCI: Upgrade und neue Funktionen

In diesem Artikel werde ich mich mit der Möglichkeit befassen, den CCI-Indikator zu verbessern. Außerdem werde ich eine Änderung des Indikators vorstellen.
preview
Algorithmen zur Optimierung mit Populationen Fledermaus-Algorithmus (BA)

Algorithmen zur Optimierung mit Populationen Fledermaus-Algorithmus (BA)

In diesem Artikel werde ich den Fledermaus-Algorithmus (Bat-Algorithmus, BA) betrachten, der gute Konvergenz bei glatten Funktionen zeigt.
preview
Zeitreihen in der Bibliothek DoEasy (Teil 58): Zeitreihen der Datenpuffer von Indikatoren

Zeitreihen in der Bibliothek DoEasy (Teil 58): Zeitreihen der Datenpuffer von Indikatoren

Zum Abschluss des Themas Arbeit mit Zeitreihen organisieren wir das Speichern, Suchen und Sortieren von Daten, die in Indikatorpuffern gespeichert sind, was die weitere Durchführung der Analyse auf der Grundlage von Werten der Indikatoren ermöglicht, die auf der Basis der Bibliothek in Programmen zu erstellen sind. Das allgemeine Konzept aller Kollektionsklassen der Bibliothek ermöglicht es, die benötigten Daten in der entsprechenden Kollektion leicht zu finden. Dementsprechend wird das Gleiche in der heute erstellten Klasse möglich sein.
preview
Algorithmen zur Populationsoptimierung Optimierung mit invasiven Unkräutern (IWO)

Algorithmen zur Populationsoptimierung Optimierung mit invasiven Unkräutern (IWO)

Die erstaunliche Fähigkeit von Unkräutern, unter verschiedensten Bedingungen zu überleben, wurde zur Idee für einen leistungsstarken Optimierungsalgorithmus. IWO (Invasive Weed Optimization) ist einer der besten Algorithmen unter den bisher geprüften.