Ende Januar 2012 kündigte die Softwareentwicklungsfirma, die hinter der Entwicklung von MetaTrader 5 steht, die native Unterstützung von OpenCL in MQL5 an. Dieser Beitrag legt anhand eines anschaulichen Beispiels die Programmiergrundsätze für OpenCL in der MQL5-Umgebung dar und liefert einige Beispiele für die "naive" Optimierung des Programms, um die Betriebsgeschwindigkeit zu erhöhen.
Es ist nun bekannt, dass die Wahrscheinlichkeitsdichtefunktion (probability density funcion = PDF) eines Marktzyklus keine Gauß'sche Glockenkurve ist, sondern eher eine Sinuskurve, und da die meisten Indikatoren davon ausgehen, dass der Marktzyklus der Wahrscheinlichkeitsdichtefunktion die Gauß'sche Glocke ist, müssen wir das "korrigieren". Die Lösung ist die Fisher-Transformation. Die Fisher-Transformation verwandelt Wahrscheinlichkeitsdichtefunktionen jeder Wellenform ungefähr in die Gauß'sche Glocke. In diesem Artikel wird die Mathematik hinter der Fisher-Transformation und der umgekehrten Fisher-Transformation und ihrer Handelsanwendung besprochen. Ein proprietäres Handelssignal-Modul basiert auf der umgekehrten Fisher-Transformation und wird hier präsentiert und evaluiert.
Der Artikel beschäftigt sich mit der Erstellung der Dokumentation zu einem Code in MQL5 und beginnt mit der Automatisierung der Platzierung von Tags. Weiter wird die Arbeit mit dem Programm Doxygen beschrieben, ihre Konfiguration und das Erhalten von Ergebnissen in verschiedenen Formaten: in HTML, HtmlHelp und in PDF.
Wir möchten eine Umgebung erschaffen, die den Zugriff auf Daten von Indikatoren ermöglicht, die an ein Diagramm angehängt sind, und deshalb die folgenden Eigenschaften aufweist: kein Kopieren von Daten; minimale Veränderung des Codes verfügbarer Methoden, wenn wir sie nutzen müssen; MQL-Code ist zu bevorzugen (natürlich müssen wir DLL nutzen, doch wir verwenden nur ein Dutzend Strings C++-Code). Dieser Beitrag beschreibt eine einfache Methode zur Entwicklung einer Programmumgebung für das MetaTrader-Terminal, die eine Zugriffsmöglichkeit auf Indikatorpuffer aus anderen MQL-Programmen bietet.
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.
Die technische Analyse setzt weitgehend Indikatoren ein, die die Ausgangsnotierungen „klarer“ anzeigen, und so den Devisenhändlern die Analyse und Vorhersage von Kursentwicklungen auf den Finanzmärkten ermöglichen. Es dürfte offenkundig sein, dass die Verwendung von Indikatoren, wenn man es dabei bewenden lässt, sie auf Handelssysteme anzuwenden, wenig Sinn macht, solange die mit der Veränderung der Ausgangsnotierungen und der Zuverlässigkeit des erhaltenen Ergebnisses verbundenen Fragen unbeantwortet sind. In dem hier vorliegenden Beitrag werden wir zeigen, dass es ernstzunehmende Gründe für diese Schlussfolgerung gibt.
Reguläre Ausdrücke (eng. regular expressions) stellen eine spezielle Sprache für die Textverarbeitung nach einer vorbestimmten Regel dar, die auch als Muster bezeichnet wird oder die Maske eines regulären Ausdrucks. In diesem Artikel zeigen wir Ihnen, wie Sie den Handelsbericht mit Hilfe von der Bibliothek RegularExpressions für MQL5 verarbeiten können, auch werden die Ergebnisse der Optimierung mit ihrer Anwendung demonstriert.
Der Artikel befasst sich mit einem Beispiel für die Anwendung der Fuzzy-Logik, um ein einfaches Handelssystem unter Verwendung der Fuzzy-Bibliothek zu erstellen. Es werden Varianten zur Verbesserung des Systems durch Kombination von Fuzzy-Logik, genetischen Algorithmen und neuronalen Netzen vorgeschlagen.
Der Artikel untersucht die klassische Methode eine Divergenz zu erkennen und bietet eine zusätzliche Interpretation. Auf Basis dieser neuen Interpretation wurde eine Handelsstrategie entwickelt. Auch diese Strategie ist in diesem Artikel beschrieben.
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.
Das besondere Merkmal des im Artikel vorgestellten Handelssystems besteht in der Verwendung mathematischer Werkzeuge für die Analyse von Börsenkursen. Im System werden digitale Filter und die Spektralschätzung diskreter Zeitreihen verwendet. Es werden theoretische Aspekte der Strategie beschrieben und ein Expert Advisor für das Testen der Strategie erstellt.
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.
Der Artikel behandelt alle Arten von Divergenzen: einfach, versteckt, erweitert, dreifache, vierfache, Konvergenzen, sowie Divergenzen der Klassen A, B und C. Es wurde ein universeller Indikator für deren Ermittlung und Darstellung auf dem Chart entwickelt.
Dieser Artikel beschreibt, wie nutzerdefinierte Stopps in einem plattformübergreifenden Expert Advisor eingerichtet werden können. Darüber hinaus wird eine eng verwandte Methode diskutiert, mit der das Nachziehen von Stopps für die Dauer einer Position entwickelt werden können.
Der Artikel beschreibt das Arbeiten mit Indikatoren anhand der universellen Klasse CUnIndicator. Darüber hinaus wurden im Artikel neue Arbeitsmethoden mit Pending Orders betrachtet. Bitte beachten Sie, dass die Struktur des CStrategy Projektes wesentlich verändert wurde. Jetzt sind alle seine Dateien in einem einheitlichen Verzeichnis für die Bequemlichkeit der Nutzer abgelegt.
Angenommen, dass ein MA (Gleitender Durchschnitt) Indikator mit Zeitraum 13 auf ein Chart angewandt wird. Und wir den Zeitraum auf 20 ändern wollen, wir dazu aber nicht in das Dialogfenster Indikator-Eigenschaften gehen und die Zahl von 13 zu 20 ändern wollen, da wir einfach auf diese Aktionen mit der Maus und der Tastatur keine Lust mehr haben. Und wir wollen vor allem nicht den Indikator-Code öffnen und dort was ändern. Wir wollen einfach nur eine Taste drücken - und zwar "Bild nach oben" neben dem Zahlenfeld auf der Tastatur. In diesem Beitrag sage ich Ihnen wie das geht.
Dieser Artikel beschreibt eine Implementierung von Stopps in einem Experten Advisor, die mit den beiden Plattformen MetaTrader 4 und MetaTrader 5 kompatibel ist.
Der zweite Artikel der Serie über tiefe neuronale Netze befasst sich mit der Ausarbeitung und Auswahl von Prädiktoren (= Variablen zur Wertevorhersage anderen Variablen) während des Prozesses der Datenaufbereitung für das Training eines Modells.
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.
Diese Artikelserie setzt das Thema "Tiefe neuronale Netzwerke" (DNN) fort, die in der letzten Zeit in vielen angewandten Bereichen einschließlich Trading verwendet werden. Es werden neue Themenbereiche betrachtet; anhand praktischer Experimente werden neue Methoden und Ideen geprüft. Der erste Artikel dieser Serie beschäftigt sich mit der Datenaufbereitung für DNN.
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.
Der Ringpuffer — er ist die einfachste und zugleich wirksamste Organisationsform für die Berechnungen von Daten in einem gleitenden Fenster. Im Artikel wird beschrieben, wie dieser Algorithmus funktioniert, und es wird gezeigt, wie mit seiner Hilfe Berechnungen im gleitenden Fenster einfacher und schneller durchgeführt werden können.
Im Artikel werden die Hauptprinzipien betrachtet, die in den Evolutionsalgorithmen versetzt sind, auch ihre Arten und die Besonderheiten. Auf dem Beispiel des einfachen Experten mit Hilfe der Experimente wird es vorgeführt, was unserem Handelnsystem die Anwendung der Optimierung geben kann. Wir betrachten die Programm-Pakete, die genetische, evolutionäre und andere Arten der Optimierung realisieren und führen die Anwendungsbeispiele bei einer Optimierung eines Prädiktor-Satzes und bei einer Optimierung des Handelnsystems hin.
Der Artikel analysiert die Verwendung der Bayes'schen Formel, um den Gewinn von Handelssystemen durch die Signale mehrerer unabhängiger Indikator zu erhöhen. Theoretische Berechnungen werden über einen einfachen, allgemeinen EA, der mit beliebigen Indikatoren arbeitet verifiziert.
Beschreibung eines mehrzeiligen Textfeldes. Anders als bei Grafikobjekten des Typs OBJ_EDIT ist die vorgestellte Version nicht durch eine Anzahl von Buchstaben beschränkt. Es gibt auch die Funktionen eines einfachen Editors, mit einem durch Maus oder Tasten bewegten Kursor.
Der achte Teil des Artikels beschreibt die Klasse CSymbol, ein spezielles Objekt, das Zugriff auf ein Handelssymbol ermöglicht. Wenn diese Klasse in einen Expert Advisor miteibezogen wird, bietet sie eine breite Palette von Symboleigenschaften und macht die Programmierung von Expert Advisors noch einfacher und multifuktionaler.
Dieser Beitrag beschreibt einen speziellen Algorithmus mit dem auf Elemente mittels ihrer einmaligen Schlüssel zugegriffen werden kann. Als Schlüssel kann jeder einfache Datentyp verwendet werden. Er kann z.B. als String oder eine ganzzahlige Variable dargestellt werden. So einen Datenbehälter kennt man meistens als Lexikon oder ein assoziatives Array. Er bietet einen leichteren und effizienteren Weg der Problemlösung.
Für die Arbeit mit der Grafik wurde in MQL5 eine spezielle Bibliothek Graphic.mqh erstellt. Der Artikel gibt ein Beispiel deren praktischer Anwendung und erklärt den Sinn von Sortierverfahren. Zu jedem Sortierverfahren gibt es mindestens einen Artikel, zu einigen wurden bereits ganze Untersuchungen veröffentlicht, deswegen wird in diesem Artikel nur die Grundidee beschrieben.
Jeder Devisenhändler arbeitet mit bestimmten statistischen Rechenverfahren, selbst wenn es sich um einen Verfechter der Fundamentalanalyse handelt. Dieser Beitrag führt Sie durch die Grundlagen der Statistik, stellt Ihnen ihre fundamentalen Bestandteile vor und weist ihre Bedeutung bei der Entscheidungsfindung nach.
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.
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.
Der Artikel befasst sich mit den Formationen Flagge, Wimpel, Keil, rechteckige Formation, Fallendes Dreieck und Steigendes Dreieck. Es werden ihre Ähnlichkeiten und Unterschiede analysiert sowie Indikatoren für deren Erkennung auf dem Chart und ein Tester-Indikator für eine schnelle Einschätzung der Effizienz erstellt.
Was soll Ihr Programm machen, wenn die grafischen Bedienfelder von jemandem geändert oder gelöscht wurden? In diesem Artikel zeigen wir Ihnen, wie Sie nach der Löschung der Anwendung auf dem Chart keine "herrenlose" Objekte mehr haben können, und wie sie die Kontrolle über sie halten können, falls sie umbenennt werden oder wenn vom Programm erstellte Objekte gelöscht werden.
Eine gute Gelegenheit, die in den vorangegangenen Beiträgen zu Position-Eigenschaften beschriebenen Informationen nochmals kurz zusammenzufassen. In diesem Beitrag werden wir einige zusätzliche Funktionen erzeugen, um die Eigenschaften zu erhalten, die man nur nach Zugriff auf die History der Abschlüsse abrufen kann. Darüber hinaus lernen wir Datenstrukturen kennen, mit deren Hilfe wir auf Position- und Symboleigenschaften auf weitaus bequemere Weise zugreifen können.
Dieser Artikel behandelt das Erstellen eines Order-Managers für einen Cross-Plattform Expert Advisor. Der Order-Manager ist verantwortlich, für beide Versionen die Positionen eines Experten zu öffnen oder zu schließen, und die jeweiligen Datensätze für eine weitere Verwendung aktuell zu halten.
Dieser praxisorientierte Artikel konzentriert sich auf die Arbeit mit Dateien in MQL5. Freuen Sie sich auf eine Reihe von einfachen Aufgaben, die Ihnen helfen werden, die Grundlagen besser zu verstehen.
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.
Vor kurzem wurde den Nutzern von MetaTrader 4 und MetaTrader 5 die Möglichkeit geboten, Anbieter von Signalen zu werden und damit zusätzliche Einkünfte zu erzeugen. Und jetzt können Sie die Erfolge Ihres Handels mit Hilfe neuer Widgets auch auf Ihrer Website, Blog oder sozialen Netzwerk-Seiten anzeigen. Die Vorteile dieser Widgets sind klar: damit lässt sich der Bekanntheitsgrad eines Anbieters von Signalen erhöhen und sein Ruf als erfolgreicher Händler festigen, was natürlich auch neue Abonnenten anzieht. Alle Händler, die auf ihren Websites Widgets platzieren, können von diesen Vorteilen profitieren.
Die vorliegende Anleitung handelt sich um den Signale Service, Handelssignalen und eine umfassende Herangehensweise an die Auswahl eines Signals, das den Kriterien der Wirtschaftlichkeit, des Risikos, der Aktivität des Handels und der Arbeit auf unterschiedlichen Kontotypen und Symbolen entsprechen würde.
Dieser Artikel beschreibt die Implementierung verschiedener Methoden einer Zeitfilterung für einen Cross-Plattform Expert Advisor. Die Klassen der Zeitfilter sind verantwortlich für die Prüfung, ob ein bestimmter Zeitpunkt in eine besondere Zeitkonfiguration fällt oder nicht.