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.
Die Erstellung der benutzerdefinierten Indikatoren unter Verwendung der Klasse CCanvas
Im Artikel wurde das Beispiel der Erstellung der gezeichneten benutzerdefinierten Indikatoren mit Hilfe der graphischen Ringpuffer der Klasse CCanvas.
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.
Cross-Plattform Expert Advisor: Wiederverwendung von Komponenten aus der Standardbibliothek von MQL5
Es gibt einige Komponenten in der Standardbibliothek von MQL5, die für eine MQL4-Version eines Cross-Plattform Expert Advisors hilfreich sein könnten. Dieser Artikel befasst sich mit einem Verfahren zur Herstellung von bestimmten Komponenten aus der Standardbibliothek von MQL5, das sie kompatibel für den Kompiler der Programmiersprache MQL4 macht.
Entwicklung eines plattformübergreifenden Grider-EAs (Teil II): Kursspannenbasiertes Raster in Trendrichtung
In diesem Artikel werden wir einen Grider-EA für den Handel in einer Trendrichtung innerhalb einer Kursspanne entwickeln. Somit ist der EA vor allem für den Devisen- und Rohstoffmarkt geeignet. Nach den Tests zeigte unser Grider seit 2018 einen Gewinn. Leider gilt dies nicht für den Zeitraum 2014-2018.
Wie man nicht hinterherhinkende digitale Filter erzeugt
Dieser Beitrag beschreibt einen der Ansätze zur Bestimmung eines nützlichen Signals (Trend) in Datenströmen. Kleine filternde (glättende) Tests, die auf Marktnotierungen angewendet werden, belegen das Potential zur Erzeugung nicht hinterherhinkender digitaler Filter (Indikatoren), die auf den letzten Bars nicht erneut gezeichnet werden.
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.
Statistische Carry Trade-Strategie
Ein statistischer Algorithmus zum Schutz von offenen, positiven Swap-Positionen vor ungewollten Kursbewegungen. Dieser Artikel widmet sich einer Variante der Carry Trade Protection-Strategie, die die potentiellen Risiken einer Kursbewegung in die entgegengesetzte Richtung einer offenen Position kompensiert.
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.
Die Rolle von statistischen Verteilungen für die Arbeit eines Händlers
Dieser Beitrag ist eine logische Fortsetzung meines Beitrags Statistische Verteilungen von Wahrscheinlichkeiten in MQL5, in dem die Klassen für die Arbeit mit einigen theoretischen statistischen Verteilungen dargelegt wurden. Da wir nun über die theoretische Grundlage verfügen, schlage ich vor, dass wir direkt mit realen Datensätzen fortfahren und versuchen, diese Grundlage für Informationszwecke zu nutzen.
Eine Analyse der Gründe für das Scheitern von Expert Advisors
Dieser Artikel stellt eine Analyse von Währungsdaten vor, um besser zu verstehen, warum Expert Advisors in einigen Zeiträumen eine gute und in anderen Zeiträumen eine schlechte Performance aufweisen können.
Praktische Anwendung von Datenbanken für die Marktanalyse
Die Arbeit mit Daten ist zur Hauptaufgabe moderner Software geworden, sowohl autonomer als auch vernetzter Programme. Dazu wurde eine besondere Form von Software entwickelt. Diese Programme zur Verwaltung von Datenbanken (DBMS) ermöglichen die Strukturierung, Systematisierung und Organisation von Daten für ihre Speicherung und Verarbeitung auf Computern. Was den Börsenhandel betrifft, nutzen nur die wenigsten Analysten Datenbanken für ihre Arbeit. Es gibt jedoch Aufgaben, für die eine solche Lösung geeignet sein müsste. In diesem Beitrag wird ein Beispiel für Indikatoren vorgestellt, die sowohl unter einer Client-Server- als auch einer Datei-Server-Architektur Daten in Datenbanken speichern sowie aus diesen laden können.
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.
Ein einfaches Beispiel zur Erstellung eins Indikators mittels Qualitativaussagenlogik (unscharfer oder fuzzy Logik)
Dieser Artikel ist der praktischen Anwendung des Konzepts der Qualitativaussagenlogik zur Finanzmarktanalyse gewidmet. Wir legen das Beispiel eines Indikators dar, der Signale auf der Grundlage zweier auf dem Envelopes-Indikator fußender unscharfer Regeln erzeugt. Der entwickelte Indikator nutzt verschiedene Indikatorzwischenspeicher: 7 für die Berechnungen, 5 für die Diagrammausgabe und 2 für die Farben.
Der Algorithmus CatBoost von Yandex für das maschinelle Lernen, Kenntnisse von Python- oder R sind nicht erforderlich
Der Artikel liefert den Code und die Beschreibung der wichtigsten Phasen des maschinellen Lernprozesses anhand eines konkreten Beispiels. Um das Modell zu entwickeln, benötigen Sie keine Kenntnisse von Python- oder R. Es reichen grundlegende MQL5-Kenntnisse aus — das ist genau mein Niveau. Daher hoffe ich, dass der Artikel als gutes Tutorial für ein breites Publikum hilft, um diejenigen zu unterstützen, die daran interessiert sind, Fähigkeiten des maschinellen Lernens zu evaluieren und in ihre Programme zu implementieren.
Lernen Sie Schritt für Schritt, wie Sie die Fair Value Gap (FVG)/Ungleichgewichte handeln können: Ein Ansatz des Smart Money-Konzepts
Eine Schritt-für-Schritt-Anleitung zur Erstellung und Implementierung eines automatisierten Handelsalgorithmus in MQL5 auf der Grundlage der Handelsstrategie Fair Value Gap (FVG). Eine detaillierte Anleitung zur Erstellung eines Expertenberaters, die sowohl für Anfänger als auch für erfahrene Händler nützlich sein kann.
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.
Swaps (Teil I): Locking und synthetische Positionen
In diesem Artikel werde ich versuchen, das klassische Konzept der Swap-Handelsmethoden zu erweitern. Ich werde erklären, warum ich zu dem Schluss gekommen bin, dass dieses Konzept besondere Aufmerksamkeit verdient und unbedingt zum Studium empfohlen wird.
Bewertung von Handelssystemen - die Effektivität von Einstieg, Ausstieg und Handel im Allgemeinen
Es gibt eine Menge Maßnahmen zur Bestimmung der Effektivität und Profitabilität eines Handelssystems. Doch unterziehen Händler gerne jedes System einem neuen 'Crashtest'. Dieser Beitrag befasst sich damit, wie Statistiken, die auf Effektivitätsmaßnahmen beruhen, auf dieMetaTrader5 Plattform angewendet werden können. Er behandelt die Klasse zur Umwandlung der Statistik-Interpretation nach Abschlüssen bis hin zu der, die der im Buch "Statistika dlya traderov" ("Statistics for Traders") von S.V. Bulashev angebotenen Beschreibung nicht widerspricht. Und er enthält ein Beispiel einer angepassten Optimierungsfunktion.
Untersuchung von Techniken zur Analyse der Kerzen (Teil IV): Aktualisierungen und Ergänzungen des Pattern Analyzers
Der Artikel stellt eine neue Version des Pattern Analyzers vor. Diese Version enthält Bugfixes und neue Funktionen sowie eine überarbeitete Benutzeroberfläche. Kommentare und Anregungen aus dem vorherigen Artikel wurden bei der Entwicklung der neuen Version berücksichtigt. Die resultierende Anwendung wird in diesem Artikel beschrieben.
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.
Freelance-Aufträge auf MQL5.com – der beste Ort für Entwickler
Entwickler von Handelsrobotern müssen ihre Dienste nicht mehr bei Händlern vermarkten, die Expert Advisors benötigen – denn jetzt werden die Händler Sie finden. Schon heute veröffentlichen tausende Händler Aufträge für freiberufliche MQL5-Entwickler und bezahlen die Arbeit auf MQL5.com. In den 6 Jahren seines Bestehens hat es der Dienst dreitausend Händlern ermöglicht, über 10.000 ausgeführte Aufträge zu bezahlen. Und die Aktivitäten der Händler und Entwickler nehmen immer weiter zu!
Strategieentwickler auf Basis der Merill-Muster
Im vorherigen Artikel haben wir die Anwendung der Merill-Muster auf verschiedene Daten erwogen, wie z.B. auf einen Preiswert auf dem Chart eines Währungssymbols und auf Werte von Standard-MetaTrader-5-Indikatoren: ATR, WPR, CCI, RSI, unter anderem. Nun, lassen Sie uns versuchen, einen Strategiebaukasten zu erstellen, der auf Merill-Mustern basiert.
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.
Verringerung der Speicherbelegung mittels Hilfsindikatoren
Braucht ein Indikator für seine Berechnungen die Werte vieler anderer Indikatoren belegt er eine Menge Speicherplatz. In diesem Beitrag werden verschiedene Methoden beschrieben, wie man die Speicherbelegung mittels Hilfsindikatoren verringern kann. Eingesparter Speicherplatz erlaubt es uns, die Menge der gleichzeitig verwendeten Währungspaare. Indikatoren und Strategien im Client-Terminal zu erhöhen. Und steigert so die Zuverlässigkeit des Handels-Portfolios. Diese einfache Berücksichtigung der technischen Ressourcen Ihres Rechners kann sich in echtem Gewinn in Ihrem Depot niederschlagen.
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.
Lernen Sie, wie man ein Handelssystem mit Ichimoku entwirft
Hier ist ein neuer Artikel in unserer Serie darüber, wie man ein Handelssystem mit den beliebtesten Indikatoren zu entwerfen. Wir werden über den Ichimoku-Indikator im Detail sprechen und wie man ein Handelssystem mit diesem Indikator entwirft.
Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XI). Kompatibilität mit MQL4 - Ereignisse des Schließens von Positionen
Wir setzen die Entwicklung einer großen plattformübergreifenden Bibliothek fort, die die Entwicklung von Programmen für MetaTrader 5 und MetaTrader 4 Plattformen vereinfacht. Im zehnten Teil haben wir unsere Arbeit an der Bibliothekskompatibilität mit MQL4 fortgesetzt und die Ereignisse der Eröffnung von Positionen und der Aktivierung von offenen Orders definiert. In diesem Artikel werden wir die Ereignisse des Schließens von Positionen definieren und die nicht verwendeten Auftragseigenschaften beseitigen.
Die Umsetzung des Mehrwährungsmodus in MetaTrader 5
Man interessiert sich schon lange für Mehrwährungsanalysen und Mehrwährungshandel. Die Gelegenheit, ein vollwertiges Mehrwährungssystem umzusetzen, ergab sich erst mit der Veröffentlichung von MetaTrader 5 und der Programmiersprache MQL5. In diesem Beitrag erörtern wir eine Möglichkeit, alle eingehenden Ticks für mehrere Symbole zu analysieren und zu verarbeiten. Als Illustration betrachten wir einen Mehrwährungs-RSI-Indikator des USDx-Dollar-Index.
Exportieren von Angeboten aus MetaTrader 5 in .NET-Anwendungen mithilfe von WCF-Services
Möchten Sie den Export von Angeboten aus MetaTrader 5 in Ihre eigene Anwendung aktualisieren? Mit der MQL5-DLL-Verbindung können Sie solche Lösungen erschaffen! Dieser Beitrag zeigt Ihnen eine der Möglichkeiten zum Exportieren von Angeboten aus MetaTrader 5 in .NET-Anwendungen. Für mich war es interessanter, sinnvoller und einfacher, den Export von Angeboten mithilfe dieser Plattform umzusetzen. Leider wird .NET von Version 5 weiterhin nicht unterstützt, sodass wir wie in den alten Tagen win32 dll mit .NET-Unterstützung als Zwischenlösung nutzen werden.