Datenwissenschaft und maschinelles Lernen (Teil 01): Lineare Regression
Es ist an der Zeit, dass wir als Händler unsere Systeme und uns selbst darauf trainieren, Entscheidungen auf der Grundlage von Zahlen zu treffen. Nicht unsere Augen oder wenn unser Bauchgefühl uns glauben macht, dass die Welt sich in diese Richtung bewegt, also lassen Sie uns senkrecht zur Richtung der Welle gehen.
Die Anzeige eines Nachrichtenkalenders
Dieser Artikel enthält eine Anleitung dazu, wie man einen einfachen und praktischen Indikator erstellt, der in einem Arbeitsbereich die wichtigsten ökonomischen Ereignisse von externen Internetquellen anzeigt.
Wie man den Handelsverlauf mehrerer Währungen basierend auf HTML- und CSV-Berichten visualisiert.
Seit seiner Einführung bietet MetaTrader 5 die Möglichkeit, mehrere Währungen zu testen. Diese Möglichkeit wird von Händlern oft genutzt. Die Funktion ist jedoch nicht universell einsetzbar. Der Artikel stellt mehrere Programme zum Zeichnen von grafischen Objekten in Diagrammen vor, die auf den Berichten der Handelshistorie im HTML- und CSV-Format basieren. Der Mehrwährungshandel kann parallel, in mehreren Unterfenstern sowie in einem Fenster mit dem dynamischen Schaltbefehl analysiert werden.
Erzeugung eines Indikators mit graphischen Kontrolloptionen
All diejenigen, die sich mit Stimmungen auf dem Markt auskennen, kennen den MACD Indikator (seiner voller Name lautet Gleitender Durchschnitt Konvergenz/Divergenz) -das leistungsstarke Tool zur Analyse von Kursbewegungen, das von Händlers seit dem ersten Auftauchen von Computer-gestützten Analysemethoden verwendet wird. Dieser Beitrag beschäftigt sich mit möglichen Veränderungen des MACD und ihrer Implementierung in einen Indikator mit der Möglichkeit, zwischen den Veränderungen graphisch hin- und her zu wechseln.
Automatisch generierte Dokumentation für den MQL5-Code
Die meisten Personen, die Codes in Java anlegen, kennen bestimmt die automatisch generierte Dokumentation, die zusammen mit JavaDocs erstellt werden kann. Hierbei geht es um die Ergänzung des Codes durch Anmerkungen auf semi-strukturierte Weise, die dann in eine leicht zu navigierende Hilfe-Datei extrahiert werden können. In der C++ Welt gibt es ebenfalls einige automatische Dokumentations-Generatoren, von denen SandCastle und Doxygen von Microsoft die beiden Spitzenreiter sind. Dieser Beitrag beschreibt die Verwendung von Doxygen zur Erzeugung einer HTML Hilfe-Datei auf Basis strukturierter Anmerkungen im MQL5-Code. Der Versuch hat prima funktioniert und ich glaube, dass die Hilfs-Dokumentation, die Doxygen aus dem MQL5-Code liefert ganz erheblichen Mehrwert mit sich bringt.
Modellierung von Zeitreihen unter Verwendung nutzerdefinierter Symbole nach festgelegten Verteilungsgesetzen
Der Artikel gibt einen Überblick über die Möglichkeiten des Terminals zum Erstellen und Arbeiten mit nutzerdefinierten Symbolen, bietet Optionen zur Simulation einer Handelshistorie mit nutzerdefinierten Symbolen, Trend- und verschiedenen Chartmustern.
Tiefe Neuronale Netzwerke (Teil VIII). Erhöhung der Klassifizierungsqualität von Ensembles mit Bagging
Der Artikel betrachtet drei Methoden, die zur Erhöhung der Klassifizierungsqualität von Ensembles mit Bagging eingesetzt werden können, und schätzt deren Effizienz. Die Auswirkungen der Optimierung der Hyperparameter des neuronalen ELM-Netzwerkes und der Nachbearbeitungsparameter werden bewertet.
MQL-Parsing mit Hilfe von MQL
Der Artikel beschreibt einen Präprozessor, einen Scanner und einen Parser, die beim Parsen der MQL-basierten Quellcodes verwendet werden sollten. Die MQL-Implementierung ist beigefügt.
Die Funktionen des Strategy Builders erweitern
In den beiden vorangegangenen Artikeln haben wir die Anwendung von Merrill-Mustern auf verschiedene Datentypen diskutiert. Es wurde eine Anwendung entwickelt, um die vorgestellten Ideen zu testen. In diesem Artikel werden wir die Arbeit mit dem Strategy Builder fortsetzen, um seine Effizienz zu verbessern und neue Funktionen und Fähigkeiten zu implementieren.
Wie erstelle ich MetaTrader 5-Angebote für andere Applikationen
Dieser Artikel widmet sich Beispielen, die u.a. folgende Dinge veranschaulichen sollen: Verzeichnisse anlegen, Daten kopieren und ablegen, via Market Watch oder mittels der allgemeinen Liste mit Symbolen hantieren, mit Fehlern umgehen, usw. All diese Elemente können letztendlich mit einem Skript erfasst werden, das Daten in einem nutzerfreundlichen Format ablegt.
Benutzerdefinierte grafische Bedienelemente. Teil 3. Formen
Dies ist der letzte der drei Beiträge, die sich grafischen Bedienelementen widmen. Er behandelt die Erstellung der Hauptkomponente der grafischen Oberfläche – der Form – und ihre Verwendung in Kombination mit anderen Bedienelementen. Zusätzlich zu den Formklassen wurden die Klassen CFrame, CButton und CLabel der Bibliothek von Bedienelementen hinzugefügt.
Jeremy Scott - Erfolgreicher Verkäufer auf MQL5 Market
Jeremy Scott, in der MQL5.community besser bekannt unter seinem Pseudonym 'Johnnypasado', hat sich in unserem MQL5 Market einen Namen für sein Produktangebot gemacht. Jeremy hat im Market bereits mehrere Tausend Dollar verdient - und ist weiterhin erfolgreich. Daher haben wir uns diesen zukünftigen Millionär genauer angesehen und von ihm einige Tipps für andere Anbieter im MQL5 Market bekommen.
Vergleich von MQL5 und QLUA - warum sind Transaktionen in MQL5 bis zu 28 Mal schneller?
Viele Trader machen sich keine Gedanken darüber, wie schnell ihre Order die Börse erreicht, wie schnell sie da ausgeführt wird und wie viel Zeit das Terminal braucht, um das Ergebnis zu erhalten. Wir uns vorgenommen, die Geschwindigkeit der Ausführung von Transaktionen zu vergleichen, denn noch keiner hat vor uns solche Messungen mithilfe von MQL5- und QLUA-Programmen durchgeführt.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXX): Schwebende Handelsanfragen - die Verwaltung der Anfrageobjekte
Im vorigen Artikel haben wir die Klassen der schwebenden Anfrageobjekte erstellt, die dem allgemeinen Konzept der Bibliotheksobjekte entsprechen. Dieses Mal werden wir uns mit der Klasse befassen, die die Verwaltung von schwebenden Anfrageobjekten ermöglicht.
Multilayer-Perzeptron und Backpropagation-Algorithmus (Teil II): Implementierung in Python und Integration mit MQL5
Für die Entwicklung von Integrationen mit MQL steht ein Python-Paket zur Verfügung, das eine Fülle von Möglichkeiten wie Datenexploration, Erstellung und Nutzung von maschinellen Lernmodellen ermöglicht. Die eingebaute Python-Integration in MQL5 ermöglicht die Erstellung verschiedener Lösungen, von der einfachen linearen Regression bis hin zu Deep-Learning-Modellen. Werfen wir einen Blick darauf, wie man eine Entwicklungsumgebung einrichtet und vorbereitet und wie man einige der Bibliotheken für maschinelles Lernen verwendet.
Ökonometrischer Ansatz zur Ermittlung von Marktmustern: Autokorrelation, Heatmaps und Streudiagramme
Der Artikel stellt eine erweiterte Studie über jahreszeitliche Merkmale vor: Autokorrelations-Heatmaps und Streudiagramme. Der Zweck des Artikels ist es zu zeigen, dass das "Marktgedächtnis" saisonaler Natur ist, was durch eine maximale Korrelation von Zuwächsen beliebiger Ordnung ausgedrückt wird.
HTML Komplettlösung mit MQL4
HTML ist heute eine der weitverbreiteten Arten von Dokumenten. Das MetaTrader 4 Client Terminal ermöglicht Ihnen Aufstellungen, Tests und Optimierungsberichte als.htm Dateien zu speichern. Manchmal ist es erforderlich Informationen aus solchen Dateien in einem MQL4 Programm zu erhalten. Der Artikel beschreibt eine der Variationen, wie man die Tag-Struktur und die Inhalte aus HTML erhält.
Grafische Interfaces I: Testen der Bibliothek in unterschiedlichen Programmen und in dem MetaTrader 4 Terminal (Kapitel 5)
In dem vorherigen Kapitel des ersten Teils der Serie über grafische Interfaces, haben wir die Formularklasse mit Methoden für das Verwalten der Form über das Anklicken von Controls ergänzt. In diesem Teil wollen wir unsere Arbeit in verschiedenen Typen von MQL Programmen, wie zum Beispiel Indikatoren und Skripten, testen. Da unsere Bibliothek darauf ausgelegt ist, plattformübergreifend zu funktionieren, werden wir Sie in allen Metatrader-Plattformen testen, so wie zum Beispiel im MetaTrader 4.
Ein wissenschaftlicher Ansatz für die Entwicklung von Handelsalgorithmen
Der Artikel befasst sich mit der Methodik zur Entwicklung von Handelsalgorithmen, bei der ein konsistenter, wissenschaftlicher Ansatz zur Analyse möglicher Kursmuster und zur Erstellung von Handelsalgorithmen auf der Grundlage dieser Muster verwendet wird. Die Entwicklungsideale werden anhand von Beispielen demonstriert.
Grafische Interfaces VII: Das Tab-Control (Kapitel 2)
Das erste Kapitel des siebten Teils befasste sich mit drei Klassen von Controls für die Erzeugung der folgenden Tabellen: Text-Label-Tabelle (CLabelsTable), Edit-box-Tabelle (CTable) und die gerenderte Tabelle (CCanvasTable). In diesem Artikel(Kapitel 2) werden wir das Tabs-Control besprechen.
Besser Programmieren (Teil 02): Hören Sie auf, diese 5 Dinge zu tun, 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.
Neuronale Netze leicht gemacht (Teil 28): Gradientbasierte Optimierung
Wir studieren weiterhin das Verstärkungslernen, das Reinforcement Learning. Im vorigen Artikel haben wir die Methode des Deep Q-Learning kennengelernt. Bei dieser Methode wird das Modell so trainiert, dass es die bevorstehende Belohnung in Abhängigkeit von der in einer bestimmten Situation durchgeführten Aktion vorhersagt. Dann wird eine Aktion entsprechend der Strategie und der erwarteten Belohnung durchgeführt. Es ist jedoch nicht immer möglich, die Q-Funktion zu approximieren. Manchmal führt die Annäherung nicht zu dem gewünschten Ergebnis. In solchen Fällen werden Näherungsmethoden nicht auf Nutzenfunktionen, sondern auf eine direkte Handlungspolitik (Strategie) angewendet. Eine dieser Methoden ist die Gradientbasierte Optimierung, engl. „Policy Gradient“.
Grafische Interfaces X: Updates für die Easy And Fast Bibliothek (Build 3)
In diesem Artikel wird die nächste Version der Easy And Fast-Bibliothek (Version 3) vorgestellt. Es wurden Fehler behoben und neue Features hinzugefügt. Mehr Details dazu finden Sie in dem Artikel.
Combination Scalping: Analyse von Positionen aus der Vergangenheit, um die Performance zukünftiger Positionen zu steigern
Der Artikel beschreibt die Technologie, die darauf abzielt, die Effektivität jedes automatisierten Handelssystems zu erhöhen. Er bietet eine kurze Erläuterung der Idee, sowie die zugrundeliegenden Grundlagen, Möglichkeiten und Nachteile.
Verbinden von neuronalen Netzwerken von NeuroSolutions
Zusätzlich zur Erstellung von neuronalen Netzwerken ermöglicht das Softwarepaket von NeuroSolutions den Export dieser Netzwerke als DLLs. Dieser Beitrag beschreibt den Erstellprozess eines neuronalen Netzwerks, der Erzeugung einer DLL und der Verbindung dieser DLL mit einem Expert Advisor für den Handel in MetaTrader 5.
Prinzipien der wirtschaftlichen Berechnung von Indikatoren
Aufrufe von benutzerdefinierten und technischen Indikatoren nehmen im Programmcode von automatisierten Handelssystemen nur wenig Platz ein. Oft sind es nur ein paar Codezeilen. Doch oft sind es genau diese paar Codezeilen, die die meiste Zeit beim Testen des Expert Advisors benötigen. Deshalb muss alles, was mit der Berechnung von Daten in einem Indikator zusammenhängt, viel eingehender betrachtet werden, als es auf den ersten Blick als nötig erscheint. Genau das ist das Thema dieses Beitrags.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXVIII): Schließen, Entfernen und Ändern von schwebenden Handelsanfragen
Dies ist der dritte Artikel über das Konzept der schwebenden Anfragen. Wir werden die Tests von schwebenden Anfragen abschließen, indem wir die Methoden für das Schließen von Positionen, die Entfernung von schwebenden Anfragen und die Änderung der Parameter von Positionen und den Parametern von Pending-Orders erstellen.
Der universell Oszillator mit dem graphischen Interface
Im Artikel wird die Erstellung des universellen Indikators aufgrund aller Oszillators des Terminalen mit dem eigenen graphischen Interface beschrieben. Es ermöglicht schnell und bequem die Parameter jedes separaten Oszillators aus dem Chart-Fenster zu wechseln (und ohne Öffnung des Fensters der Eigenschaften), ihre Messwerte zu vergleichen und für sich die optimale Variante für eine konkrete Aufgabe zu wählen.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil X): Kompatibilität mit MQL4 - Ereignisse der Positionseröffnung und der Aktivierung von Pending-Orders
In den vorherigen Artikeln haben wir begonnen, eine große plattformübergreifende Bibliothek zu erstellen, die die Entwicklung von Programmen für MetaTrader 5 und MetaTrader 4 Plattformen vereinfacht. Im neunten Teil haben wir begonnen, die Bibliotheksklassen für die Arbeit mit MQL4 zu verbessern. Hier werden wir die Bibliothek weiter verbessern, um ihre volle Kompatibilität mit MQL4 zu gewährleisten.
Statistische Schätzungen
Die Schätzung der statistischen Parameter einer Sequenz ist sehr wichtig, weil die meisten mathematischen Modelle und Methoden auf unterschiedlichen Annahmen basieren, beispielsweise dem Normalverteilungsgesetz oder dem Streuungswert oder anderen Parametern. Beim Analysieren und Prognostizieren von Zeitreihen brauchen wir deshalb ein einfaches und bequemes Werkzeug, das es uns ermöglicht, die wichtigsten statistischen Parameter schnell und deutlich zu schätzen. Dieser Beitrag beschreibt kurz die einfachsten statistischen Parameter einer zufälligen Sequenz und mehrere Methoden für die visuelle Analyse. Er liefert die Umsetzung dieser Methoden in MQL5 und die Methoden der Visualisierung des Ergebnisses der Berechnung mithilfe der Anwendung Gnuplot.
Anlegen eines mehrwährungsfähigen Indikators unter Verwendung zahlreicher Indikatorzwischenspeicher
Seit Kurzem erfreut sich die Clusteranalyse am Devisenmarkt zunehmenden Interesses. MQL5 eröffnet neue Möglichkeiten zur Untersuchung der Bewegungstendenzen von Währungspaaren (Kürzeln). Eine wesentliche Eigenschaft von MQL5, die diese Programmiersprache von ihrer Vorgängerin MQL4 abhebt, ist die Möglichkeit der Verwendung einer unbegrenzten Zahl von Zwischenspeichern (Puffern) für Indikatoren. In diesem Beitrag wird ein Beispiel für die Erstellung eines mehrwährungsfähigen Indikators vorgestellt.
Benachrichtigung und Kommentar für Externe Indikatoren. Multi-Währungs-Analyse durch Externes Scannen
Benachrichtigung für Multi-Währungs- und Multi-Zeitrahmen-Analyse von externen Indikatoren. Der Artikel beschäftigt sich mit einem Verfahren zum Erhalt von Ereignisinformationen für Multi-Währungs- und Multi-Zeitrahmen-Analyse von Externen Indikatoren, ohne die Indikatoren an das Chart selbst anhängen zu müssen. Wir werden es Externes Scannen nennen.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXVI): Arbeiten mit schwebenden Handelsanfragen - erste Implementation (Positionseröffnung)
In diesem Artikel werden wir einige Daten im Wert der Magicnummer der Aufträge und Positionen speichern und mit der Umsetzung der schwebenden Anträge beginnen. Um das Konzept zu überprüfen, erstellen wir die erste Testanforderung zur Eröffnung von Marktpositionen, wenn ein Serverfehler auftritt, der ein Warten und das Senden einer wiederholten Anfrage erfordert.
Kontrolle der Saldo-Gefällekurve während der Arbeit eines Expert Advisors
Regeln für ein Handelssystem zu finden und sie in einen Expert Advisor zu programmieren, ist nur die Hälfte der Arbeit. Irgendwie muss man ja auch die Abläufe des Expert Adivsors kontrollieren, während er die Ergebnisse des Handels anhäuft. Dieser Beitrag beschreibt einen Ansatz, der die Leistung eines Expert Advisors durch Erzeugung eines Feedbacks steigert, das die Saldo-Gefällekurve misst.
Test-Performance der Berechnung von gleitenden Mittelwerten in MQL5
Seit der Erstellung des ersten Moving-Average-Indikators ist eine Vielzahl von Indikatoren erschienen. Viele von ihnen nutzen ähnliche Glättungsmethoden, doch die Glättung der unterschiedlichen Algorithmen von gleitenden Mittelwerten wurde nie eingehend studiert. In diesem Beitrag betrachten wir Möglichkeiten zur Nutzung der gleitenden Mittelwerte in MQL5 und vergleichen ihre Performance.
Berechnung wesentlicher Merkmale von Indikator-Emissionen
Indikator-Emissionen sind ein eher selten untersuchter Bereich der Markterforschung. Dies liegt hauptsächlich an ihrer schwierigen Analyse aufgrund der Verarbeitung sehr umfangreicher Arrays von zeitlich variablen Daten. Die existierende grafische Analyse ist zu Ressourcen-intensiv und hat demzufolge dazu geführt, dass ein sparsamer Algorithmus entwickelt wurde, der mit Zeitreihen von Emissionen arbeitet. Dieser Beitrag zeigt, wie die visuelle Analyse (intuitives Bild) durch das Studium wesentlicher Merkmale von Emissionen ersetzt werden kann. Dies kann sowohl für Händler als auch Entwickler von automatischen Handelssystemen interessant sein.
MQL5 Strategietester verstehen und effektiv nutzen
Für MQL5-Programmierer oder -Entwickler ist es unerlässlich, wichtige und wertvolle Werkzeuge zu beherrschen. Eines dieser Werkzeuge ist der Strategietester. Dieser Artikel ist ein praktischer Leitfaden zum Verständnis und zur Verwendung des Strategietesters von MQL5.
Techniken des MQL5-Assistenten, die Sie kennen sollten (Teil 05): Markov-Ketten
Markov-Ketten sind ein leistungsfähiges mathematisches Werkzeug, das zur Modellierung und Vorhersage von Zeitreihendaten in verschiedenen Bereichen, einschließlich des Finanzwesens, verwendet werden kann. In der Finanzzeitreihenmodellierung und -prognose werden Markov-Ketten häufig zur Modellierung der zeitlichen Entwicklung von Finanzwerten wie Aktienkursen oder Wechselkursen verwendet. Einer der Hauptvorteile von Markov-Kettenmodellen ist ihre Einfachheit und Nutzerfreundlichkeit.
Zeitreihen in der Bibliothek DoEasy (Teil 35): das Bar-Objekt und die Liste der Zeitreihen eines Symbols
Dieser Artikel startet eine neue Serie über das Erstellen der Bibliothek DoEasy zur einfachen und schnellen Programmentwicklung. Im aktuellen Artikel werden wir die Bibliotheksfunktionen für den Zugriff auf und die Arbeit mit den Zeitreihen der Symbole implementieren. Wir werden das Bar-Objekt erstellen, das die Haupt- und erweiterten Zeitreihendaten speichert, und Bar-Objekte in der Zeitreihenliste platzieren, um eine bequeme Suche und Sortierung der Objekte zu ermöglichen.
Graphische Interfaces III: Gruppen von einfachen und multifunktionalen Buttons (Kapitel 2)
In dem ersten Kapitel dieser Serie ging es um einfache und multifunktionelle Buttons. Der zweite Artikel handelt über Gruppen von interagierenden Buttons, mit denen der Programmierer Elemente erzeugen kann, bei der der Anwender ein Element aus der Gruppe auswählen kann.