OpenCL: Die Brücke zu parallelen Welten
OpenCL: Die Brücke zu parallelen Welten
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.
Anwendung der Fisher-Transformation und der umgekehrten Fisher-Transformation bei der Marktanalyse mit MetaTrader5
Anwendung der Fisher-Transformation und der umgekehrten Fisher-Transformation bei der Marktanalyse mit MetaTrader5
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.
Erstellung der Dokumentation basierend auf Quellcodes von MQL5
Erstellung der Dokumentation basierend auf Quellcodes von MQL5
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.
Sehr einfach: Der Datenaustausch zwischen Indikatoren
Sehr einfach: Der Datenaustausch zwischen Indikatoren
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.
Automatisch generierte Dokumentation für den MQL5-Code
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.
Analyse der statistischen Eigenschaften von Indikatoren
Analyse der statistischen Eigenschaften von Indikatoren
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 für Trader
Reguläre Ausdrücke für Trader
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.
Fuzzy-Logik in Handelsstrategien
Fuzzy-Logik in Handelsstrategien
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.
Die Umsetzung des Mehrwährungsmodus in MetaTrader 5
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.
Wir betrachten die adaptive Trendfolgemethode in der Praxis
Wir betrachten die adaptive Trendfolgemethode in der Praxis
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.
Automatische Suche nach Divergenzen und Konvergenzen
Automatische Suche nach Divergenzen und Konvergenzen
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.
Cross-Plattform Expert Advisor: Eigene Stopps, Breakeven und Trailing
Cross-Plattform Expert Advisor: Eigene Stopps, Breakeven und Trailing
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.
Universeller Expert Advisor: CUnIndicator und das Arbeiten mit Pending Orders (Teil 9)
Universeller Expert Advisor: CUnIndicator und das Arbeiten mit Pending Orders (Teil 9)
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.
Verarbeitung von Ereignissen in MQL5: Unmittelbare Änderung des Zeitraums für den gleitenden Durchschnitt
Verarbeitung von Ereignissen in MQL5: Unmittelbare Änderung des Zeitraums für den gleitenden Durchschnitt
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.
Cross-Plattform Expert Advisor: Stopps
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.
Das MQL5-Kochbuch: Steuerelemente des Indikatorunterfensters - Die Bildlaufleiste
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.
Tiefe neuronale Netzwerke (Teil I). Datenaufbereitung
Tiefe neuronale Netzwerke (Teil I). Datenaufbereitung
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.
Selbstoptimierung der Experten: evolutionäre und genetische Algorithmen
Selbstoptimierung der Experten: evolutionäre und genetische Algorithmen
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.
Grafische Interfaces X: mehrzeiliges Textfeld (build 8)
Grafische Interfaces X: mehrzeiliges Textfeld (build 8)
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.
Universeller Expert Advisor: Zugang zu Symboleigenschaften (Teil 8)
Universeller Expert Advisor: Zugang zu Symboleigenschaften (Teil 8)
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.
Das MQL5-Kochbuch: Implementierung eines Assoziativen Arrays oder eines Lexikons für raschen Datenzugriff
Das MQL5-Kochbuch: Implementierung eines Assoziativen Arrays oder eines Lexikons für raschen Datenzugriff
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.
Sortierverfahren und deren Visualisierung mit MQL5
Sortierverfahren und deren Visualisierung mit MQL5
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.
Grundlagen der Statistik
Grundlagen der Statistik
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.
Verwendung eines Cloud-Speichers für den Datenaustausch zwischen Terminals
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.
Graphische Interfaces VIII: Der Kalender (Kapitel 1)
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.
Flaggenformation
Flaggenformation
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.
MQL5 für Anfänger: Antivandalismusschutz der grafischen Objekten
MQL5 für Anfänger: Antivandalismusschutz der grafischen Objekten
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.
MQL5 Cookbook: Die History der Abschlüsse und Funktions-Library zum Erhalt von Position-Eigenschaften
MQL5 Cookbook: Die History der Abschlüsse und Funktions-Library zum Erhalt von Position-Eigenschaften
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.
Cross-Plattform Expert Advisor: Order-Manager
Cross-Plattform Expert Advisor: Order-Manager
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.
MQL5 Grundlagen der Programmierung: Dateien
MQL5 Grundlagen der Programmierung: Dateien
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.
MetaTrader 4 und MetaTrader 5 Handelssignale-Widgets
MetaTrader 4 und MetaTrader 5 Handelssignale-Widgets
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.
Cross-Plattform Expert Advisor: Zeitfilter
Cross-Plattform Expert Advisor: Zeitfilter
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.