Das MQL5-Kochbuch: Steuerelemente des Indikatorunterfensters - Die Bildlaufleiste
Wir setzen das Studium der Steuerelemente fort und kommen diesmal zur Bildlaufleiste, dem Scrollbar. Genauso wie schon in dem vorhergehenden Beitrag „Das MQL5-Kochbuch: Steuerelemente des Indikatorunterfensters - Die Schaltflächen“ arbeiten wir in dem Unterfenster für den Indikator. Den genannten Beitrag sollte man gelesen haben, da in ihm die Arbeit mit Ereignissen in der Funktion OnChartEvent() ausführlich dargelegt wird, während diese hier nur oberflächlich gestreift wird. Als Beispiel wird in diesem Beitrag eine senkrechte Bildlaufleiste für eine lange Aufstellung aller mit den Möglichkeiten der Programmiersprache MQL5 zu beziehenden Kenngrößen eines Finanzinstrumentes angelegt.
Das MQL5-Kochbuch: Entwicklung eines Indikators mit mehreren Symbolen für die Analyse von Preisunterschieden
In diesem Beitrag betrachten wir die Entwicklung eines Indikators mit mehreren Symbolen für die Analyse von Preisunterschieden in einem bestimmten Zeitraum. Die wichtigsten Themen wurden bereits im vorhergehenden Beitrag zur Programmierung mehrwährungsfähiger Indikatoren besprochen, "Das MQL5-Kochbuch: Entwicklung eines Indikators für die Volatilität mehrerer Symbole in MQL5". Diesmal gehen wir also nur auf jene neuen Features und Funktionen ein, an denen wesentliche Änderungen vorgenommen wurden. Wenn Sie ein Neuling in der Programmierung von mehrwährungsfähigen Indikatoren sind, empfehle ich Ihnen, zuerst den vorherigen Beitrag zu lesen.
Cross-Plattform Expert Advisor: Stopps
Dieser Artikel beschreibt eine Implementierung von Stopps in einem Experten Advisor, die mit den beiden Plattformen MetaTrader 4 und MetaTrader 5 kompatibel ist.
Kontinuierliche Rolloptimierung (Teil 2): Mechanismus zur Erstellung eines Optimierungsberichts für einen beliebigen Roboter
Der erste Artikel innerhalb der rollenden Optimierungsreihe beschrieb die Erstellung einer DLL, die in unserem Autooptimierer verwendet werden soll. Diese Fortsetzung ist vollständig der Sprache MQL5 gewidmet.
Selbst-organisierende Feature Maps (Kohonen Maps) - Wiederaufgreifen des Themas
Dieser Artikel beschreibt Techniken für die Arbeit mit Kohonen-Maps. Das Thema wird sowohl für Marktforscher mit Grundkenntnisse der Programmierung in MQL4 und MQL5 als auch erfahrene Programmierer, die Schwierigkeiten mit der Verbindung von Kohonen-Maps mit ihren Projekten haben, von Interesse sein.
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.
Wie man einen einfachen Multi-Currency Expert Advisor mit MQL5 erstellt (Teil 1): Indikatorsignale basierend auf ADX in Kombination mit Parabolic SAR
Der Multi-Currency Expert Advisor in diesem Artikel ist ein Expert Advisor oder Handelsroboter, der mit mehr als einem Symbolpaar aus einem Symbolchart handeln kann (Positionen öffnen, schließen und verwalten).
Grafische Interfaces X: Das Standard Chart-Steuerelement (Build 4)
Diesmal betrachten wir das Standard Chart-Steuerelement. Dieses erlaubt es uns, eine ganze Serie von Unter-Charts zu erzeugen, mit der Möglichkeit, diese beim Scrollen horizontal zu synchronisieren. Darüber hinaus werden wir weiterhin den Bibliothekscode für eine Reduzierung der CPU-Last optimieren.
Ein manuelles Chart- und Handelswerkzeug (Teil III). Optimierungen und neue Werkzeuge
In diesem Artikel werden wir die Idee des Zeichnens von grafischen Objekten auf Charts mit Hilfe von Tastenkombinationen weiterentwickeln. Der Bibliothek wurden neue Werkzeuge hinzugefügt, darunter eine gerade Linie, die durch beliebige Scheitelpunkte gezeichnet wird, und eine Reihe von Rechtecken, die die Auswertung der Umkehrzeit und des Levels ermöglichen. Außerdem zeigt der Artikel die Möglichkeit, den Code zu optimieren, um die Leistung zu verbessern. Das Implementierungsbeispiel wurde umgeschrieben, sodass Shortcuts neben anderen Handelsprogrammen verwendet werden können. Erforderliche Code-Kenntnisse: etwas höher als die eines Anfängers.
Was Sie mit gleitenden Durchschnitten machen können
In diesem Artikel werden mehrere Methoden zur Anwendung des Indikators Gleitender Durchschnitt (MA oder Moving Average) vorgestellt. Jede Methode, die eine Kurvenanalyse beinhaltet, wird von Indikatoren begleitet, die die Idee visualisieren. In den meisten Fällen stammen die hier vorgestellten Ideen von den jeweiligen Autoren. Meine einzige Aufgabe bestand darin, sie zusammenzubringen, damit Sie die wichtigsten Ansätze sehen und hoffentlich vernünftigere Handelsentscheidungen treffen können. MQL5-Kenntnisstand - einfach.
Universeller Kanal mit grafischem Interface
Alle Channel Indikatoren stellen drei Linien dar: zentrale, obere und untere Linie. Die zentrale Linie ist nach dem Prinzip des Zeichnens dem gleitenden Durchschnitt identisch, und in den meisten Fällen wird für das Zeichnen eines Kanals gerade der gleitende Durchschnitt verwendet. Die obere und untere Linien sind von der zentralen Linie gleich weit entfernt. Dieser Abstand kann in Punkten oder in Prozent vom Preis (Envelopes Indikator) definiert werden, es können der Wert der Standardabweichung (Bolliger Bands) oder der Wert des ATR Indikators (Keltner Kanal) verwendet werden.
Marktbeobachtung mithilfe vorgefertigter Klassen
Die neue MetaTrader 5-Anwendungsinstanz für Ausgabegeräte (Terminal) und die Programmiersprache MQL5 eröffnen neue Möglichkeiten zur Wiedergabe visueller Informationen für Börsenhändler. In dem folgenden Beitrag stellen wir eine universelle und erweiterbare Sammlung (Bibliothek) von Klassen vor, die Ihnen die Organisation der Wiedergabe beliebiger Informationstexte zu einem Diagramm abnehmen. Dazu präsentieren wir das Beispiel eines Marktbeobachtungsindikators.
Die Visualisierung von Optimierungsergebnissen nach dem ausgewählten Kriterium
Im Artikel wird die MQL-Anwendung für die Arbeit mit Optimierungsergebnissen weiter entwickelt. Diesmal wird ein Beispiel gezeigt, wenn die Tabelle der besten Ergebnisse bereits nach der Optimierung der Parameter gebildet werden kann, indem man ein anderes Kriterium über das grafische Interface angibt.
MQL als Darstellungsmittel für graphische Schnittstellen von MQL-Programmen. Teil 1
Dieser Artikel schlägt ein neues Konzept zur Beschreibung der Fenster-Schnittstelle von MQL-Programmen vor, wobei die Strukturen von MQL verwendet werden. Spezielle Klassen transformieren das sichtbare MQL-Markup in die GUI-Elemente und erlauben es, diese zu verwalten, ihre Eigenschaften einzustellen und die Ereignisse in einer einheitlichen Weise zu verarbeiten. Es enthält auch einige Beispiele für die Verwendung des Markups für die Dialoge und Elemente einer Standardbibliothek.
Datenwissenschaft und maschinelles Lernen (Teil 03): Matrix-Regression
Diesmal werden unsere Modelle mit Hilfe von Matrizen erstellt, was uns eine gewisse Flexibilität ermöglicht, während wir gleichzeitig leistungsstarke Modelle erstellen können, die nicht nur mit fünf unabhängigen Variablen, sondern auch mit vielen Variablen umgehen können, solange wir innerhalb der Berechnungsgrenzen eines Computers bleiben.
Benutzerdefinierte grafische Bedienelemente. Teil 2. Bibliothek von Bedienelementen
Der zweite Beitrag der Serie "Benutzerdefinierte grafische Bedienelemente" führt eine Bibliothek von Bedienelementen für den Umgang mit den wichtigsten Problemen ein, die bei der Interaktion zwischen einem Programm (Expert Advisor, Script, Indikator) und einem Benutzer auftreten. Die Bibliothek enthält zahlreiche Klassen (CInputBox, CSpinInputBox, CCheckBox, CRadioGroup, CVSсrollBar, CHSсrollBar, CList, CListMS, CComBox, CHMenu, CVMenu, CHProgress, CDialer, CDialerInputBox, CTable) und Beispiele für ihren Gebrauch.
Matrix- und Vektoroperationen in MQL5
Matrizen und Vektoren wurden in MQL5 für effiziente Operationen mit mathematischen Berechnungen eingeführt. Die neuen Typen bieten integrierte Methoden zur Erstellung von prägnantem und verständlichem Code, der der mathematischen Notation nahe kommt. Arrays bieten umfangreiche Möglichkeiten, aber es gibt viele Fälle, in denen Matrizen viel effizienter sind.
Grafische Interfaces IV: Der Multi-Window-Modus und das System für Prioritäten (Kapitel 2)
In diesem Kapitel werden wir die Bibliothek um die Möglichkeit der Erzeugung von Multi-Window-Modus-Interfaces für MQL Anwendungen erweitern. Wir werden zudem ein System für die Priorität eines Klicks mit der linken Maustaste auf grafische Objekte entwickeln. Dieses ist notwendig um Probleme zu vermeiden, falls der Anwender auf ein grafisches Element klickt und dieses nicht reagiert.
Grafische Interfaces IX: Das Farbauswahl Control (Kapitel 1)
Mit diesem Artikel starten wir das Kapitel 9 der Serie der Artikel über die entwicklung von grafischen Interfaces in den Metatrader Trading-Terminals. Diese Serie besteht aus zwei Kapiteln, in welcher neue Elemente und Interfaces vorgestellt werden, wie zum Beispiel das Farbauswahl-Control, farbige Buttons, die Fortschrittsanzeige und Linien Charts.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXXIII): Schwebende Handelsanfragen - Schließen von Positionen unter bestimmten Bedingungen
Wir setzen die Entwicklung der Bibliotheksfunktionalität fort, die den Handel mit schwebenden Anfragen ermöglicht. Wir haben bereits das Senden von bedingten Handelsanfragen für die Eröffnung von Positionen und die Platzierung von Pending Orders implementiert. Im aktuellen Artikel werden wir die bedingte Schließung von Positionen implementieren - vollständig, teilweise und das Schließen durch eine entgegengesetzte Position.
Die rechnerische Fähigkeiten von MATLAB 2018 im MetaTrader 5 nutzen
Nach dem Upgrade des MATLAB-Pakets im Jahr 2015 ist es notwendig, auf eine moderne Art der Erstellung von DLL-Bibliotheken umzustellen. Der Artikel veranschaulicht anhand eines exemplarischen prädiktiven Indikators die Besonderheiten der Verknüpfung von MetaTrader 5 und MATLAB mit modernen 64-Bit-Versionen der Plattformen, die heute genutzt werden. Mit der gesamten Verbindungssequenz von MATLAB können MQL5-Entwickler Anwendungen mit erweiterten Rechenfunktionen viel schneller erstellen und so "Fallstricke" vermeiden.
Matrizen und Vektoren in MQL5: Die Aktivierungsfunktionen
Hier wird nur einer der Aspekte des maschinellen Lernens beschrieben — die Aktivierungsfunktionen. In künstlichen neuronalen Netzen berechnet eine Neuronenaktivierungsfunktion einen Ausgangssignalwert auf der Grundlage der Werte eines Eingangssignals oder eines Satzes von Eingangssignalen. Wir werden uns mit den inneren Abläufen des Prozesses befassen.
Grafisches Interface XI: Texteingabefelder und Kombinationsfelder in Tabellenzellen (build 15)
Diese Aktualisierung der Bibliothek versieht das Tabellensteuerelement (die Klasse CTable) mit neue Optionen. Die Palette der Steuerelemente in den Tabellenzellen wird erweitert, diesmal um Textbearbeitungs- und Kombinationsfelder. Dieses Aktualisierung führt auch die Möglichkeit ein, das Fenster einer MQL-Anwendung zur Laufzeit in der Größe zu ändern.
Hinzufügen von neuen UI-Sprachen zur MetaTrader5-Plattform
Die Benutzerschnittstelle der MetaTrader5-Plattform wird in mehrere Sprachen übersetzt. Keine Sorge, wenn Ihre Sprache nicht unter den unterstützten aufscheint. Mit dem kostenlosen Paket "MetaTrader-5-MultiLanguage" von MetaQuotes Software Corp. können Sie ganz einfach eine Übersetzung durchführen. In diesem Artikel werden wir an einigen Bespielen zeigen, wie man eine neue UI-Sprache zur MetaTrader5-Plattform hinzufügen kann.
Ein Indikator zum Anlegen eines Kagi-Diagramms
In diesem Beitrag wird ein Indikator für ein Kagi-Diagramm nebst unterschiedlicher Darstellungsvarianten und Zusatzfunktionen vorgestellt. Darüber hinaus werden die Abbildungsgrundlagen des Indikators sowie die Möglichkeiten zu seiner Umsetzung in MQL5 betrachtet. Die verbreitetsten Fälle seiner Umsetzung im Börsenhandel werden ebenfalls aufgeführt: die Strategie zum Wechsel von Yin und Yang, das „Abstoßen“ von der Trendlinie sowie die anhaltende Verbreiterung der „Schultern“ / Verjüngung der „Taillen“.
Neue Möglichkeiten mit MetaTrader5
MetaTrader 4 erfreute sich bei Händlern auf der ganzen Welt großer Beliebtheit und es sah lange so aus, als wären alle nun wunschlos glücklich. Mit seiner hohen Arbeitsgeschwindigkeit, seiner robusten Zuverlässigkeit, einem Riesenfeld an Möglichkeiten zum Schreiben von Indikatoren, Expert Advisors und informierten Handelssystemen sowie seiner Fähigkeit, aus über 100 Maklern auswählen zu können, hat sich dieses Terminal deutlich vom Rest abgesetzt. Doch die Zeit steht nicht still und deshalb stehen wir jetzt vor der Wahl: MetaTrade 4 oder MetaTrade 5? In diesem Beitrag sollen die wichtigsten Unterschiede dieses Terminals der 5. Generation aus aktuellem Blickwinkel beschrieben werden.
Verwendung eines Cloud-Speichers für den Datenaustausch zwischen Terminals
Immer beliebter werden die wolkigen Technologien. Sowohl kostenpflichtige, als auch kostenfreie Speicher stehen uns zur Verfügung. Können wir sie im Traiding verwenden? In diesem Artikel wird die Technologie für den Datenaustausch zwischen Terminals durch die Verwendung wolkiger Speichers angeboten.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXXII): Schwebende Handelsanfragen - Orders unter bestimmten Bedingungen platzieren
Wir setzen die Entwicklung der Funktionsweisen fort, die es den Benutzern ermöglicht, mit schwebenden Anfragen zu handeln. In diesem Artikel werden wir die Möglichkeit einführen, Pending-Orders unter bestimmten Bedingungen zu platzieren.
Grafische Interfaces IV: Informierende Interface-Elemente (Kapitel 1)
Zum aktuellen Stand der Entwicklung, beinhaltet die Bibliothek für die Erzeugung von grafischen Interfaces ein Formular und verschiedene Steuerelemente (Controls), welche dem Formular hinzugefügt werden können. Wie zuvor schon erwähnt, sollte sich einer der zukünftigen Artikel mit dem Thema Multi-Window-Modus beschäftigen. Dafür liegt nun alles vor, und wir werden in dem folgenden Kapitel dieses Thema behandeln. In diesem Kapitel schreiben wir Klassen für die Erzeugung der Statusbar und des Tooltip-Elementes.
Den Ballast selbstgemachter "dynamischer Programmbibliotheken" loswerden
Wenn der Funktionsumfang der Programmiersprache MQL5 zur Erfüllung bestimmter Aufgaben nicht ausreicht, muss sich ein MQL5-Programmierer weiterer Hilfsmittel bedienen. Ein Weg besteht im Wechsel zu einer anderen Programmiersprache und dem Anlegen einer zwischengelagerten dynamischen Programmbibliothek (DLL). MQL5 bietet die Möglichkeit, unterschiedliche Datenarten abzubilden und sie an eine Programmierschnittstelle (API) weiterzugeben, leider ist MQL5 jedoch nicht in der Lage, das Problem des Auszugs von Daten aus einer zugelassenen Speicheradresse zu lösen. In diesem Beitrag wollen wir auf jedes „i“ einen Punkt setzen und einige einfache Mechanismen für den Austausch und die Arbeit mit komplexen Datenarten vorstellen.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXV): Behandlung der Fehlermeldungen von Server
Nachdem wir einen Handelsauftrag an den Server gesendet haben, müssen wir die Fehlercodes oder das Fehlen von Fehlern überprüfen. In diesem Artikel werden wir die Behandlung von Fehlern, die vom Handelsserver zurückgegeben werden, besprechen und die Erstellung von ausstehenden Handelsanfragen vorbereiten.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXIV): Handelsklassen - automatische Korrektur ungültiger Parametern
In diesem Artikel werden wir einen Blick auf die Behandlung ungültiger Handelsparameter werfen und die Handelsereignisklasse verbessern. Jetzt werden alle Handelsereignisse (sowohl einzelne als auch die gleichzeitig bei einem Tick auftretenden) in Programmen korrekt definiert.
Erstellen eines EA, der automatisch funktioniert (Teil 15): Automatisierung (VII)
Zum Abschluss dieser Artikelserie über Automatisierung werden wir das Thema des vorangegangenen Artikels weiter erörtern. Wir werden sehen, wie alles zusammenpassen wird, damit der EA wie ein Uhrwerk läuft.
Grafische Interfaces VIII: Das Datei-Navigator Control (Kapitel 3)
In den vorherigen Kapiteln des 8 Teils dieser Serie, haben wir unsere Bibliothek um mehrere Klassen für die Entwicklung von Mauszeigern, Kalendern und Baum-Ansichten erweitert. In dem aktuellen Artikel beschäftigen wir uns mit dem Datei-Navigator-Control, welcher auch als Teil eines grafischen Interfaces einer MQL Anwendung verwendet werden kann.
Multibot in MetaTrader: Starten mehrerer Roboter von einem einzigen Chart aus
In diesem Artikel werde ich eine einfache Vorlage für die Erstellung eines universellen MetaTrader-Roboters besprechen, der auf mehreren Charts verwendet werden kann, während er nur mit einem Chart läuft, ohne dass jede Instanz des Roboters auf jedem einzelnen Chart konfiguriert werden muss.
Grafische Interfaces V: Das ListView-Element (Kapitel 2)
In dem vorherigen Kapitel haben wir Klassen für die Erzeugung der vertikalen und horizontalen Scrollbar geschrieben. In diesem Kapitel werden wir diese implementieren. Wir werden eine Klasse für das Erzeugen eines ListView Elementes (Liste / Listenansicht) schreiben, bei der eine Komponente eine vertikale Scrollbar darstellt.
Die Handelsstrategie Inverse Fair Value Gap
Eine Inverse Fair Value Gap (IFVG) liegt vor, wenn der Kurs in eine zuvor ermittelte „Fair Value Gap“ abprallt und statt der erwarteten unterstützenden oder Widerstandsreaktion diese nicht einhält. Dieses Scheitern kann eine potenzielle Veränderung der Marktrichtung signalisieren und einen konträren Handelsvorteil bieten. In diesem Artikel werde ich meinen selbst entwickelten Ansatz zur Quantifizierung und Nutzung der inversen Fair Value Gap als Strategie für MetaTrader 5 Expert Advisors vorstellen.
LifeHack für Trader: Der vergleichende Bericht über einige Tests
Im Artikel wird der Test des EAs betrachtet, der zugleich auf 4 verschiedenen Symbolen gestartet wird. Der endgültige Vergleich der 4 Testberichte wird in einer Tabelle aufgeführt, genauso wie bei einer Auswahl der Waren in einem Internet-Geschäft. Als zusätzlicher Bonus kommen dazu die automatisch erstellten Grafiken der Verteilung für jedes Symbol.
Elektronische Tabellen in MQL5
Dieser Beitrag beschreibt eine Klasse eines dynamischen zweidimensionalen Arrays, die in ihrer ersten Dimension Daten verschiedener Typen enthält. Diese Daten in Form einer Tabelle abzulegen, ist zur Lösung von vielen Problemen bei der Anordnung, Speicherung und der Arbeit mit gebundenen Informationen unterschiedlicher Arten sehr bequem. Der Quellcode der Klasse, die Funktionalität mit Tabellen arbeiten zu können, implementiert, ist an diesen Beitrag angehängt.
Die benutzerdefinierten Indikatoren und die Informationsgrafik in CCanvas
Im Artikel werden die neuen Arten der Indikatoren mit einer komplizierteren strukturellen Realisierung betrachtet. Es werden der Aufbau der pseudoräumlichen Typen der Indikatoren und die Erstellung einer dynamisch ändernden Informationsgrafik beschrieben.