

Grafik in der Bibliothek DoEasy (Teil 79): Die Objektklasse "Animationsrahmen" und ihre abgeleiteten Objekte
In diesem Artikel werde ich die Klasse eines einzelnen Animationsrahmens und seiner Nachkommen entwickeln. Die Klasse soll das Zeichnen von Formen unter Beibehaltung und anschließender Wiederherstellung des Hintergrunds unter ihnen ermöglichen.


Besser Programmieren (Teil 04): Wie man ein schnellerer Entwickler wird
Jeder Entwickler möchte in der Lage sein, Code schneller zu schreiben, und die Fähigkeit, schneller und effektiver zu programmieren, ist keine besondere Fähigkeit, mit der nur wenige Menschen geboren werden. Es ist eine Fähigkeit, die von jedem Programmierer erlernt werden kann, unabhängig von seiner jahrelangen Erfahrung an der Tastatur.


Besser Programmieren (Teil 03): Geben Sie diese 5 Dinge auf, um ein erfolgreicher MQL5-Programmierer zu werden
Dieser Artikel ist ein Muss für alle, die ihre Programmierkarriere verbessern wollen. Diese Artikelserie zielt darauf ab, Sie zum besten Programmierer zu machen, der Sie sein können, unabhängig davon, wie erfahren Sie sind. Die besprochenen Ideen eignen sich sowohl für MQL5-Programmierneulinge als auch für Profis.


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.


Besser Programmieren (Teil 01): Diese 5 Dinge müssen Sie unterlassen, um ein erfolgreicher MQL5-Programmierer zu werden
Es gibt eine Menge schlechter Angewohnheiten, die Neulinge und sogar fortgeschrittene Programmierer tun, die sie davon abhalten, das Beste aus ihrer Programmierkarriere zu machen. Wir werden sie in diesem Artikel diskutieren und ansprechen. Dieser Artikel ist ein Muss für jeden, der ein erfolgreicher Entwickler in MQL5 werden will.
Dieser Artikel ist ein Muss für jeden, der ein erfolgreicher Entwickler in MQL5 werden will.


Grafik in der Bibliothek DoEasy (Teil 77): Objektklasse der Schatten
In diesem Artikel werde ich eine separate Klasse für das Schattenobjekt erstellen, das ein Nachkomme des grafischen Elementobjekts ist, und die Möglichkeit hinzufügen, den Objekthintergrund mit einem Farbverlauf zu füllen.


Grafiken in der Bibliothek DoEasy (Teil 76): Das Formularobjekt und vordefinierte Farbschemata
In diesem Artikel beschreibe ich das Konzept des Aufbaus verschiedener Designschemata der Bibliotheks-GUI, erstelle das Form-Objekt, das ein Nachkomme des Klassenobjekts für grafische Elemente ist, und bereite Daten für die Erstellung von Schatten der grafischen Bibliotheksobjekte sowie für die weitere Entwicklung der Funktionalität vor.


Grafiken in der Bibliothek DoEasy (Teil 75): Methoden zur Handhabung von Primitiven und Text im grafischen Grundelement
In diesem Artikel werde ich die Entwicklung der grundlegenden grafischen Elementklasse aller grafischen Objekte der Bibliothek fortsetzen, die von der Klasse CCanvas aus der Standardbibliothek angetrieben werden. Ich werde die Methoden zum Zeichnen grafischer Primitive und zum Anzeigen eines Textes auf einem grafischen Elementobjekt erstellen.


Grafiken in der Bibliothek DoEasy (Teil 74): Das grafisches Basiselement, das von der Klasse CCanvas unterstützt wird
In diesem Artikel werde ich das Konzept des Aufbaus von grafischen Objekten aus dem vorherigen Artikel überarbeiten und die Basisklasse aller grafischen Objekte der Bibliothek vorbereiten, die von der Klasse CCanvas der Standardbibliothek angetrieben wird.


Grafiken in der Bibliothek DoEasy (Teil 73): Das Formularobjekt eines grafischen Elements
Der Artikel erschließt einen neuen großen Bereich der Bibliothek für die Arbeit mit Grafiken. Im aktuellen Artikel werde ich das Mausstatusobjekt, das Basisobjekt aller grafischen Elemente und die Klasse des Formularobjekts der Bibliothek grafische Elemente erstellen.

Clusteranalyse (Teil I): Die Steigung von Indikatorlinien
Die Clusteranalyse ist eines der wichtigsten Elemente der künstlichen Intelligenz. In diesem Artikel versuche ich, mit der Clusteranalyse die Steigung eines Indikators zu analysieren, um Schwellenwerte zu erhalten für die Bestimmung, ob ein Markt sich seitwärts bewegt (flat) oder ob er einem Trend folgt.


Andere Klassen in der Bibliothek DoEasy (Teil 72): Kontrolle und Aufzeichnung der Parameter von Chart-Objekten in der Kollektion
In diesem Artikel werde ich die Arbeit mit den Klassen eines Chartobjekts und ihrer Kollektion vervollständigen. Ich werde auch die automatische Kontrolle von Änderungen Eigenschaften von Chartobjekten und ihren Fenstern implementieren, sowie das Speichern neuer Parameter in den Objekteigenschaften. Eine solche Überarbeitung ermöglicht die zukünftige Implementierung einer Ereignisfunktionalität für die gesamte Kollektion des Charts.


Tipps von einem professionellen Programmierer (Teil II): Speichern und Austauschen von Parametern zwischen einem Expert Advisor, Skripten und externen Programmen
Dies sind einige Tipps von einem professionellen Programmierer über Methoden, Techniken und Hilfsmittel, die das Programmieren erleichtern können. Wir werden Parameter besprechen, die nach einem Terminal-Neustart (Shutdown) wiederhergestellt werden können. Alle Beispiele sind echte funktionierende Codesegmente aus meinem Cayman-Projekt.


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.


Andere Klassen in der Bibliothek DoEasy (Teil 70): Erweiterte Funktionalität und automatisches Aktualisieren der Kollektion der Chartobjekte
In diesem Artikel werde ich die Funktionalität von Chartobjekten erweitern und die Navigation durch Charts, die Erstellung von Screenshots sowie das Speichern und Anwenden von Vorlagen auf Charts einrichten. Außerdem werde ich die automatische Aktualisierung der Kollektion von Chartobjekten, ihrer Fenster und der Indikatoren darin implementieren.

Tipps von einem professionellen Programmierer (Teil I): Code speichern, debuggen und kompilieren. Arbeiten mit Projekten und Protokollen
Dies sind einige Tipps von einem professionellen Programmierer über Methoden, Techniken und Hilfsmittel, die das Programmieren erleichtern können.


Andere Klassen in der Bibliothek DoEasy (Teil 69): Kollektionsklasse der Chart-Objekte
Mit diesem Artikel beginne ich die Entwicklung der Kollektionsklasse der Chart-Objekt. Die Klasse wird die Kollektionsliste der Chart-Objekte mit ihren Unterfenstern und Indikatoren speichern und die Möglichkeit bieten, mit beliebigen ausgewählten Charts und ihren Unterfenstern oder mit einer Liste von mehreren Charts gleichzeitig zu arbeiten.


Andere Klassen in der Bibliothek DoEasy (Teil 68): Die Chartfenster-Objektklasse und die Indikator-Objektklassen im Chartfenster
In diesem Artikel werde ich die Entwicklung der Chart-Objektklasse fortsetzen. Ich werde die Liste der Chart-Objekte hinzufügen, die Listen mit den verfügbaren Indikatoren hat.

Neuronale Netzwerke leicht gemacht (Teil 13): Batch-Normalisierung
Im vorigen Artikel haben wir begonnen, Methoden zur Verbesserung der Trainingsqualität neuronaler Netze zu besprechen. In diesem Artikel setzen wir dieses Thema fort und betrachten einen weiteren Ansatz — die Batch-Normalisierung.


Andere Klassen in der Bibliothek DoEasy (Teil 67): Objektklasse der Charts
In diesem Artikel werde ich die Objektklasse der Charts (das einzelne Chart eines Handelsinstruments) erstellen und die Kollektionsklasse von MQL5-Signalobjekten so verbessern, dass jedes in der Kollektion gespeicherte Signalobjekt alle seine Parameter beim Aktualisieren der Liste aktualisiert.


Andere Klassen in der Bibliothek DoEasy (Teil 66): MQL5.com die Kollektionsklasse der Signale
In diesem Artikel werde ich die Kollektionsklasse der Signale des MQL5.com Signals-Dienstes mit den Funktionen zur Verwaltung von Signalen erstellen. Außerdem werde ich die Schnappschuss-Objektklasse der Markttiefe (Depth of Market, DOM) verbessern, um das gesamte Kauf- und Verkaufsvolumen im DOM anzuzeigen.

Neuronale Netze leicht gemacht (Teil 12): Dropout
Als nächsten Schritt beim Studium von neuronalen Netzwerken schlage ich vor, die Methoden zur Erhöhung der Konvergenz beim Training von neuronalen Netzwerken zu besprechen. Es gibt mehrere solcher Methoden. In diesem Artikel werden wir uns einer von ihnen mit dem Namen Dropout zuwenden.


Preise und Signale in der DoEasy-Bibliothek (Teil 65): Kollektion der Markttiefe und die Klasse für die Arbeit mit MQL5.com- Signalen
In diesem Artikel werde ich die Kollektionsklasse für die Markttiefe aller Symbole erstellen und mit der Entwicklung der Funktionalität für die Arbeit mit dem MQL5.com Signals-Dienst beginnen, indem ich die Signal-Objektklasse erstelle.


Preise in der DoEasy-Bibliothek (Teil 64): Markttiefe, Klassenobjekte für Schnappschüsse der Markttiefe und der Schnappschuss-Reihen
In diesem Artikel werde ich zwei Klassen erstellen (die Klassenobjekte des DOM-Schnappschusses und die der DOM-Schnappschuss-Reihe) und die Erstellung der DOM-Datenreihe testen.

Nützliche und exotische Techniken für den automatisierten Handel
In diesem Artikel werde ich einige sehr interessante und nützliche Techniken für den automatisierten Handel vorstellen. Einige davon sind Ihnen vielleicht schon bekannt. Ich werde versuchen, die interessantesten Methoden zu behandeln und werde erklären, warum es sich lohnt, sie zu verwenden. Außerdem werde ich zeigen, wozu diese Techniken in der Praxis taugen. Wir werden Expert Advisors erstellen und alle beschriebenen Techniken anhand von historischen Kursen testen.


Preise in der DoEasy-Bibliothek (Teil 63): Markttiefe und deren abstrakte Anforderungsklasse
In diesem Artikel werde ich mit der Entwicklung der Funktionalität für die Arbeit mit der Markttiefe (Depth of Market, DOM) beginnen. Ich werde auch die Klasse des abstrakten Objekts der Markttiefe und seine Nachkommen erstellen.


Preise in der DoEasy-Bibliothek (Teil 62): Aktualisieren der Tick-Serien in Echtzeit, Vorbereitung für die Arbeit mit Markttiefe
In diesem Artikel werde ich die Aktualisierung der Tick-Daten in Echtzeit implementieren und die Symbol-Objektklasse für die Arbeit mit Markttiefe (Depth of Market, DOM) vorbereiten (das DOM selbst wird im nächsten Artikel implementiert).


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.

Mehrschicht-Perceptron und Backpropagation-Algorithmus
Die Popularität dieser beiden Methoden wächst, sodass viele Bibliotheken in Matlab, R, Python, C++ und anderen entwickelt wurden, die einen Trainingssatz als Eingabe erhalten und automatisch ein passendes Netzwerk für das Problem erstellen. Versuchen wir zu verstehen, wie der Grundtyp des neuronalen Netzes funktioniert (einschließlich Ein-Neuronen-Perzeptron und Mehrschicht-Perzeptron). Wir werden einen spannenden Algorithmus betrachten, der für das Training des Netzes verantwortlich ist - Gradientenabstieg und Backpropagation. Bestehende komplexe Modelle basieren oft auf solchen einfachen Netzwerkmodellen.


Preise in der DoEasy-Bibliothek (Teil 60): Listen von Serien mit Symbol-Tickdaten
In diesem Artikel werde ich eine Liste zur Speicherung von Tickdaten eines einzelnen Symbols erstellen und deren Erstellung und Abruf der benötigten Daten in einem EA überprüfen. Tickdatenlisten, die für jedes verwendete Symbol individuell sind, werden weiterhin eine Kollektion von Tickdaten darstellen.

Neuronale Netze leicht gemacht (Teil 10): Multi-Head Attention
Wir haben zuvor den Mechanismus der Self-Attention (Selbstaufmerksamkeit) in neuronalen Netzen besprochen. In der Praxis verwenden moderne neuronale Netzwerkarchitekturen mehrere parallele Self-Attention-Threads, um verschiedene Abhängigkeiten zwischen den Elementen einer Sequenz zu finden. Betrachten wir die Implementierung eines solchen Ansatzes und bewerten seine Auswirkungen auf die Gesamtleistung des Netzwerks.

Neuronale Netze leicht gemacht (Teil 9): Dokumentation der Arbeit
Wir haben schon einen langen Weg hinter uns und der Code in unserer Bibliothek wird immer umfangreicher. Das macht es schwierig, den Überblick über alle Verbindungen und Abhängigkeiten zu behalten. Daher schlage ich vor, eine Dokumentation für den früher erstellten Code zu erstellen und diese mit jedem neuen Schritt zu aktualisieren. Eine gut vorbereitete Dokumentation wird uns helfen, die Integrität unserer Arbeit zu erkennen.


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.

Neuronale Netze leicht gemacht (Teil 8): Attention-Mechanismen
In früheren Artikeln haben wir bereits verschiedene Möglichkeiten zur Organisation neuronaler Netze getestet. Wir haben auch Convolutional Networks (Faltungsnetze) besprochen, die aus Bildverarbeitungsalgorithmen entlehnt sind. In diesem Artikel schlage ich vor, sich den Attention-Mechanismen (Aufmerksamkeitsmechanismus) zuzuwenden, deren Erscheinen der Entwicklung von Sprachmodellen den Anstoß gab.


Verwendung von Tabellenkalkulationen zur Erstellung von Handelsstrategien
Der Artikel beschreibt die grundlegenden Prinzipien und Methoden, die es Ihnen ermöglichen, jede Strategie mithilfe von Tabellenkalkulationen (Excel, Calc, Google) zu analysieren. Die erzielten Ergebnisse werden mit dem MetaTrader 5-Tester verglichen.

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.

Websockets für MetaTrader 5
Vor der Einführung der Netzwerkfunktionen, die mit der aktualisierten MQL5-API zur Verfügung gestellt wurde, waren MetaTrader-Programme in ihrer Fähigkeit beschränkt, sich mit Websocket-basierten Diensten zu verbinden und eine Schnittstelle zu bilden. Aber natürlich hat sich das alles geändert. In diesem Artikel werden wir die Implementierung einer Websocket-Bibliothek in reinem MQL5 untersuchen. Eine kurze Beschreibung des Websocket-Protokolls wird zusammen mit einer Schritt-für-Schritt-Anleitung für die Verwendung der resultierenden Bibliothek gegeben.

Wie kann man $1.000.000 durch algorithmischen Handel verdienen? Nutzen Sie die Dienste von MQL5.com!
Alle Händler gehen auf den Markt mit dem Ziel, ihre erste Million Dollar zu verdienen. Wie kann man das ohne übermäßiges Risiko und großem Startkapital erreichen? Die Dienstleistungen von MQL5.com bieten diese Möglichkeit für Entwickler und Händler aus der ganzen Welt.

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.

Neuronale Netze leicht gemacht (Teil 6): Experimentieren mit der Lernrate des neuronalen Netzwerks
Wir haben zuvor verschiedene Arten von neuronalen Netzen zusammen mit ihren Implementierungen betrachtet. In allen Fällen wurden die neuronalen Netze mit der Gradientenverfahren trainiert, für die wir eine Lernrate wählen müssen. In diesem Artikel möchte ich anhand von Beispielen zeigen, wie wichtig eine richtig gewählte Rate ist und welchen Einfluss sie auf das Training des neuronalen Netzes hat.