Seil-Indikator von Erik Nayman
Der Beitrag erläutert die Erstellung des Seil-Indikators nach dem Buch von Erik L. Nayman The Small Encyclopedia of Trader. Dieser Indikator zeigt die Trendrichtung anhand berechneter Werte der Bären und Bullen für einen angegebenen Zeitraum. Im Artikel sind die Prinzipien der Erstellung und Berechnung des Indikators mit Code-Beispielen dargelegt. Auf Basis des Indikators wird ein Expert Advisor erstellt und alle äußeren Parameter werden optimiert.
Das MQL5-Kochbuch: Stresstests von Handelsstrategien unter Verwendung nutzerdefinierter Symbole
Der Artikel betrachtet einen Ansatz für einen Stresstest einer Handelsstrategie unter Verwendung nutzerdefinierter Symbole. Zu diesem Zweck wird eine eigene Symbolklasse angelegt. Diese Klasse wird verwendet, um Tickdaten von Drittanbietern zu empfangen und die Symboleigenschaften zu ändern. Basierend auf den Ergebnissen der Arbeit werden wir mehrere Optionen für sich ändernde Handelsbedingungen in Betracht ziehen, unter denen eine Handelsstrategie getestet wird.
Rezepte MQL5 - Programmierung der gleitenden Kanäle
In diesem Artikel wird eine Weise angeboten, das System der gleich entfernten Kanäle zu programmieren. Es werden einige Nuancen des Zeichens der Kanäle betrachtet. Es wird eine Typisierung der Kanäle durchgeführt, eine Weise des universellen Typs von Gleitkanälen angeboten. Es werden bei der Realisierung des Codes die OOP-Werkzeuge verwendet.
Bibliothek für die Erstellung von Diagrammen über die Google Chart API
Die Erstellung verschiedener Typen von Diagrammen ist ein wesentlicher Bestandteil der Analyse der Marktsituation und der Tests eines Handelssystems. Um ein ansehnliches Diagramm erstellen zu können, muss die Datenausgabe häufig in einer Datei organisiert werden, die daraufhin in Anwendungen wie MS Excel verwendet wird. Das ist nicht sehr praktisch und nimmt uns die Möglichkeit, die Daten dynamisch zu aktualisieren. Die Google Charts API stellt die Instrumente für die Erstellung von Diagrammen online durch Senden einer speziellen Anfrage an den Server bereit. In diesem Beitrag werden wir versuchen, den Prozess der Erstellung einer solchen Anfrage zu automatisieren und ein Diagramm vom Google-Server abzurufen.
Universal Expert Advisor: Das Event-Modell und der Trading-Strategie Prototyp (Part 2)
Dieser Artikel führt die Serie der Publikationen eines universellen Expert-Advisors fort. Dieser Teil beschreibt ausführlich das originale Event-Modell, welches auf einer zentralisierten Datenverarbeitung basiert und bestimmt die Struktur der Basisklasse CStrategy dieser Trading-Engine.
Lifehack für den Händler: "Stille" Optimierung oder die optische Auswertung des Handels
Analyse des bisherigen Handels und das Zeichnen der Entwicklung der Handelsergebnisse in HTML abhängig vom Zeitpunkt der Positionseröffnung. Die Diagramme sind in drei Gruppen aufgeteilt - nach Stunde, nach Tag der Woche und nach Monat.
Multi-Symbol-Chart der Bilanz in MetaTrader 5
Der Artikel beschreibt ein Beispiel für eine MQL-Anwendung mit dem grafischen Interface, in welchem die Kurven der Bilanz und des Rückgangs für mehrere Symbole nach den Ergebnissen des letzten Tests angezeigt werden.
LifeHack für Händler: ForEach mit #define zubereiten
Eine Zwischenstufe für diejenigen, die immer noch in MQL4 schreiben und nicht auf MQL5 umsteigen können. Wir suchen weiter nach den Möglichkeiten, Codes im MQL4-Stil zu schreiben. Diesmal betrachten wir die Makrosubstitution des Präprozessors #define.
OOP in MQL5 anhand von Beispielen: Fehlercodes und Warnmeldungen bearbeiten
In diesem Beitrag wird ein Beispiel für die Erstellung einer Klasse zur Verarbeitung von Meldungen des Handelsservers sowie aller während der Laufzeit des betreffenden MQL-Programms eintretenden Fehler. Wenn Sie diesen Artikel lesen, erfahren Sie, wie in MQL5 mit Klassen und Objekten gearbeitet wird. Zugleich ist dies ein handliches Werkzeug für den Umgang mit Fehlern, das Sie außerdem passgenau auf Ihre jeweiligen Bedürfnisse zuschneiden können.
Einen interaktiven, halbautomatischen Drag-and-Drop Expert Advisor auf Grundlage vorab festgelegter Risiken und dem R/R-Verhältnis (relatives Risiko) bauen
Einige Händler führen all ihre Handel automatisch aus und einige arbeiten sowohl mit automatischen als auch manuellem Handeln auf Grundlage der Ergebnisse verschiedener Indikatoren. Da ich zur zweiten Gruppe gehöre, wollte ich ein interaktives Tool, mit dem ich Risiko- und Prämien-Levels direkt vom Chart aus dynamisch abschätzen kann. In diesem Beitrag wird erläutert, wie man einen interaktiven, halb-automatischen Expert Advisor mit vorab festgelegten Eigenkapitalrisiko und einem R/R-Verhältnis (relatives Risiko) implementiert. Das Expert Advisor Risiko sowie die Parameter für relativer Risiko und die Postengrößen können während der EA-Laufzeit in seinem Bedienfeld verändert werden.
Grafische Interfaces V: Das Combobox Control (Kapitel 3)
In den ersten zwei Kapiteln des fünften Teils dieser Serie, haben wir Klassen für die Erzeugung einer Scrollbar und einer ListView entwickelt. In diesem Kapitel werden wir über die Erzeugung einer Klasse für eine ComboBox sprechen. Hierbei handelt es sich ebenfalls um ein Komponenten-Control, welches neben anderen Elementen auch Elemente enthält, die wir in den vorherigen Kapiteln des 5. Teils besprochen haben.
Womit soll man bei der Erstellung eines Handelsroboters für die Moskauer Börse MOEX anfangen
Viele Trader auf der Moskauer Börse möchten ihre Handelsalgorithmen automatisieren, aber wissen nicht, womit anfangen. Die Sprache MQL5 bietet nicht nur den riesigen Satz der Handelsfunktionen an, sondern auch die einsatzbereiten Klassen, die die ersten Schritte in Algotrading maximal erleichtern.
Graphische Interfaces VIII: Der Kalender (Kapitel 1)
Im Kapitel VIII der Reihe von Artikeln, die sich der Erstellung graphischer Oberflächen im MetaTrader widmet, betrachten wir komplexe, zusammengesetzte Steuerelemente wie Kalender, Baumdarstellung und einen Dateinavigator. Aufgrund der umfangreichen Informationen gibt es für jedes Thema eigene Artikel. Das erste Kapitel dieses Teil beschreibt das Kalenderelement und seine erweiterte Version, ein Dropdown-Kalender.
Statistische Verteilungen von Wahrscheinlichkeiten in MQL5
Dieser Beitrag behandelt Verteilungen von Wahrscheinlichkeiten (normal, lognormal, binomial, logistisch, Cauchy-Verteilung, Studentsche t-Verteilung, Laplace-Verteilung, Poisson-Verteilung, Secans-Hyperbolicus-Verteilung, Beta- und Gamma-Verteilung) zufälliger Statistiken in der angewandten Statistik. Er nennt ebenfalls Klassen für den Umgang mit diesen Verteilungen.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XX): Erstellen und Speichern von Programmressourcen
Der Artikel beschäftigt sich mit dem Speichern von Daten im Quellcode des Programms und dem Erstellen von Audio- und Grafikdateien daraus. Bei der Entwicklung einer Anwendung benötigen wir oft Audio und Bilder. Die MQL-Sprache verfügt über mehrere Methoden zur Verwendung solcher Daten.
Grafische Interfaces X: Updates für die Easy And Fast Bibliothek (Build 2)
Seit der Veröffentlichung des vorangegangenen Artikels dieser Serie, hat die Easy And Fast Bibliothek einige neue Features bekommen. Die Bibliotheksstruktur und der Programmcode wurden teilweise optimiert, was die CPU-Auslastung leicht reduziert hat. Einige wiederkehrende Methoden in vielen Control-Klassen wurden in die CElement Basisklasse bewegt.
Graphical Interfaces I: Animation des graphischen Interfaces (Kapitel 3)
In dem vorherigen Artikel haben wir eine Formular-Klasse (Form class) mit Steuerelementen (Controls) entwickelt. In diesem Artikel werden wir die Klasse mit Methoden auffüllen, welche es möglich machen, das Formular über den Chartbereich zu bewegen. Wir werden anschließend diese Komponente in den Kern der Bibliothek mit aufnehmen. Zudem werden wir sicherstellen, dass sich die Farbe der Form verändert, sobald sich die Maus darüber befindet.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXI): Handelsklassen - Plattformübergreifendes Basis-Handelsobjekt
In diesem Artikel werden wir mit der Entwicklung des neuen Bibliotheksbereichs beginnen - die Handelsklassen. Außerdem werden wir die Entwicklung eines einheitlichen Basisobjekts für den Handel auf den Plattformen MetaTrader 5 und MetaTrader 4 in Betracht ziehen. Wenn ein Auftrag an den Server gesendet wird, bedeutet ein solches Handelsobjekt, dass verifizierte und korrekte Parameter der Handelsanfrage an den Server übergeben werden.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XVI): Ereignisse der Kollektionssymbole
In diesem Artikel werden wir eine neue Basisklasse aller Bibliotheksobjekte erstellen, die die Ereignisfunktionen allen ihren Nachkommen hinzufügt, und die Klasse zur Verfolgung von Ereignissen der Kollektionssymbole auf der Grundlage der neuen Basisklasse entwickeln. Wir werden auch die Konto- und Ereignisklassen für die Entwicklung der neuen Basisobjektfunktionalität ändern.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXXIII): Schwebende Handelsanfragen - Entfernen und Ändern von Orders und Positionen unter bestimmten Bedingungen
In diesem Artikel werden wir die Beschreibung des Konzepts des Handels mit schwebenden Anfragen vervollständigen und die Funktionen zum Entfernen von Pending-Orders sowie zur Änderung von Orders und Positionen unter bestimmten Bedingungen schaffen. Auf diese Weise werden wir über die gesamte Funktionalität verfügen, die es uns ermöglicht, einfache benutzerdefinierte Strategien bzw. EA-Verhaltenslogiken zu entwickeln, die unter benutzerdefinierten Bedingungen aktiviert werden.
Wie man jede Art von Trailing-Stop entwickelt und mit einem EA verbindet
In diesem Artikel werden wir uns Klassen für die bequeme Erstellung verschiedener Trailing-Stops ansehen und lernen, wie man sie mit einem beliebigen EA verbindet.
Kennenlernen der CCanvas Klasse. Kantenglättung (Antialiasing) und Schatten
Der Algorithmus der Kantenglättung der CCanvas Klasse ist die Basis für alle Konstrukte, die eine Kantenglättung verwenden. Der Artikel beschreibt, wie der Algorithmus arbeitet und bietet prägnante Beispiele der Visualisierung. Es behandelt auch das Zeichnen von Schattierungen von Grafik-Objekte und hat einen ausführlichen Algorithmus zum Zeichnen von Schattierungen auf der Leinwand (canvas) entwickelt . Die Numerik-Bibliothek ALGLIB wird für Berechnungen verwendet.
Cross-Plattform Expert Advisor: Geldmanagement
Dieser Artikel beschreibt die Implementierung von Methoden des Geldmanagements für einen Cross-Plattform Expert Advisor. Die Klassen des Geldmanagements führen die Berechnungen der Lotgröße der nächsten Position des Expert Advisors durch.
Die Betrachtung der CCanvas-Klasse. Wie man transparente Objekte zeichnet
Sie wollen mehr als nur komische Grafiken von gleitenden Mittelwerten? Sie möchten etwas Schöneres in Ihrem Terminal abbilden, als nur ein schlichtes, gefülltes Rechteck? Das geht! Im Terminal kann man nämlich tatsächliche attraktive Grafiken zeichnen. Und zwar durch Implementierung der CСanvas-Klasse, die zur Erzeugung von individuell angepassten Grafiken benutzt wird. Mit dieser Klasse können Sie Transparenz umsetzen, Farben mischen und sogar den Anschein von Transparenz durch Überlappung und Ineinanderlaufen von Farben erreichen.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil VI): Ereignisse von Änderungen von Orders und Positionen
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 siebten Teil haben wir die Aktivierung der Verfolgung von StopLimit-Orders hinzugefügt und die Funktionsweise zur Verfolgung anderer Ereignisse von Orders und Positionen vorbereitet. In diesem Artikel werden wir die Klasse zur Verfolgung von Ereignissen der Order- und Positionsänderung entwickeln.
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.
MQL5 Kochbuch – Der Wirtschaftskalender
Der Artikel hebt die Programmierfunktionen des Wirtschaftskalenders hervor und befasst sich mit der Erstellung einer Klasse für einen vereinfachten Zugriff auf die Kalendereigenschaften und den Empfang der Ereigniswerte. Als praktisches Beispiel dient die Entwicklung eines Indikators, der die nicht-kommerziellen Nettopositionen der CFTC verwendet.
Mehrere Indikatoren auf einem Chart (Teil 01): Die Konzepte verstehen
Heute werden wir lernen, wie man mehrere Indikatoren gleichzeitig auf einem Chart anzeigt, ohne einen separaten Bereich zu belegen. Viele Händler fühlen sich sicherer, wenn sie mehrere Indikatoren gleichzeitig beobachten (z.B. RSI, STOCASTIC, MACD, ADX und einige andere), oder in einigen Fällen sogar verschiedene Vermögenswerte, aus denen ein Index besteht.
Zeichnen von Indikatoremissionen in MQL5
In diesem Beitrag behandeln wir die Emission von Indikatoren, eine neuen Herangehensweise an die Marktforschung. Die Berechnung von Emissionen basiert auf den Schnittpunkten verschiedener Indikatoren: Nach jedem Tick erscheinen immer mehr Punkte mit unterschiedlichen Farben und Formen. Sie formen zahlreiche Cluster wie Nebel, Wolken, Bahnen, Linien, Bögen usw. Diese Formen helfen uns beim Finden der unsichtbaren Kräfte, die die Bewegung von Marktpreisen beeinflussen.
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).
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil VI): Ereignisse von Netting-Konten
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 fünften Teil der Artikelreihe haben wir Handelsereignisklassen und die Kollektion der Ereignisse angelegt, aus der die Ereignisse an das Basisobjekt der Motorenbibliothek und die Regelprogrammkarte gesendet werden. In diesem Teil werden wir die Bibliothek für die Arbeit an Netting-Konten weiterentwickeln.
Programmierung von EA-Modi mit Hilfe des Objekt-orientierten Ansatzes
Dieser Beitrag erklärt das Konzept des Programmierens eines Mulit-Modus Handelsroboters in MQL5. Jeder Modus wird mittels des Objekt-orientierter Ansatzes implementiert. Instanzen von sowohl Modus-Klassenhierarchie als als auch Klassen zum Testen werden angeboten. Das Programmieren in mehreren Modi von Handelsrobotern soll alle Besonderheiten jedes betrieblichen Modus eines in MQL5 geschriebenen EA berücksichtigen. Funktionen und Aufzählung werden zur Identifizierung des Modus erzeugt.
Grafische Interfaces IX: Die Fortschrittsanzeige und das Linienchart-Control (Kapitel 2)
Das zweite Kapitel des neuen Teils dieser Serie widmet sich der Fortschrittsanzeige und dem Linienchart-Control Wie immer, gibt es auch hier detaillierte Beispiele, um deutlich zu machen, wie die Controls in den benutzerdefinierten MQL Anwendungen verwendet werden können.
Marktmathematik: Gewinn, Verlust und Kosten
In diesem Artikel zeige ich Ihnen, wie Sie den Gesamtgewinn oder -verlust eines Handels einschließlich Provision und Swap berechnen können. Ich werde das genaueste mathematische Modell zur Verfügung stellen und es verwenden, um den Code zu schreiben und ihn mit der Norm zu vergleichen. Außerdem werde ich versuchen, in die Hauptfunktion von MQL5 zur Berechnung des Gewinns einzudringen und alle erforderlichen Werte aus der Spezifikation zu ermitteln.
Das MQL5-Kochbuch: Entwicklung eines mehrwährungsfähigen Expert Advisors mit unbegrenzter Anzahl von Parametern
In diesem Beitrag werden wir ein Muster erstellen, das einen einzelnen Satz von Parametern für die Optimierung eines Handelssystems nutzt und gleichzeitig eine unbegrenzte Anzahl von Parametern ermöglicht. Die Liste der Symbole wird in einer Standard-Textdatei (*.txt) erstellt. Die Eingabeparameter jedes Symbols werden ebenfalls in Dateien gespeichert. Auf diese Weise können wir die Terminal-seitige Begrenzung der Anzahl von Eingabeparametern eines Expert Advisors umgehen.
Cross-Plattform Expert Advisor: Die Klassen CExpertAdvisor und CExpertAdvisors Classes
In diesem Artikel geht es in erster Linie um die Klassen CExpertAdvisor und CExpertAdvisors, die als Container für alle anderen in dieser Artikelserie beschriebenen Komponenten im Hinblick auf einen plattformübergreifende Expert Advisor dienen.
Anlegen eines systemübergreifenden mehrwährungsfähigen automatischen Handelssystems
In diesem Beitrag wird ein Gerüst für ein automatisches Handelssystem, im Weiteren kurz: Expert-System, vorgestellt, das in der Lage ist mehrere Währungspaare (Kürzel) gleichzeitig zu handeln und sich dabei ebenfalls gleichzeitig unterschiedlicher Handelssysteme zu bedienen. Wenn Sie bereits die optimalen Eingangsparameter für all Ihre Expert-Systeme ermittelt und für jedes einzelne gute Rückvergleichsergebnisse erzielt haben, sollten Sie sich fragen, welche Ergebnisse Sie erhalten würden, wenn Sie sie alle gleichzeitig und für die Gesamtheit all Ihrer Strategien auf einmal prüfen würden.
Wie man rasch einen Expert Advisor für den Automatisierten Trading-Wettbewerb 2010 erzeugt
Zur Entwicklung eines Expert Advisors zur Teilnahme am Automatisierten Trading-Wettbewerb 2010, nehmen wir ein Template eines fertigen Expert Advisors her. Selbst noch unerfahrene MQL5 Programmierer können diese Aufgabe bewältigen, da ja für die Strategien die grundlegenden Klassen, Funktionen und Templates schon entwickelt sind. Daher genügt es, nur ein bisschen Code zur Implementierung Ihres Trading-Konzepts zu schreiben.
Grafische Interfaces VIII: Die Baumansicht (Kapitel 2)
Das vorherige Kapitel VIII der grafischen Schnittstellen hat sich mit den Elementen eines statischen und eines Dropdown-Kalenders beschäftigt. Das zweite Kapitel beschäftigt sich mit einem nicht weniger komplexen Element — der Baumansicht, die Teil aller kompletten Bibliotheken graphischer Schnittstellen ist. Die Baumansicht in diesem Artikel beinhaltet mehrere flexible Einstellungen und Modi und erlaubt daher die Elemente ganz Ihren Zielen anzupassen.
Optimierung. Einige simple Ideen
Der Optimierungsprozess kann erhebliche Ressourcen Ihres Computers oder sogar die Testagenten des MQL5 Cloud Network erfordern. Dieser Beitrag liefert einige simple Ideen, die ich zur Erleichterung der Arbeit und zur Verbesserung des Strategietesters von MetaTrader 5 nutze. Auf diese Ideen brachten mich die Dokumentation, das Forum und diverse Beiträge.