Genetische Algorithmen - Leicht gemacht!
Genetische Algorithmen - Leicht gemacht!
Der Verfasser behandelt in diesem Beitrag evolutionäre Berechnungen mit Hilfe eines persönlich entwickelten, genetischen Algorithmus. Er zeigt die Funktionsweise dieses Algorithmus anhand von Beispielen und gibt praktische Empfehlungen für seine Verwendung.
Fertige Expert Advisors von MQL5 Wizard laufen auf MetaTrader 4
Fertige Expert Advisors von MQL5 Wizard laufen auf MetaTrader 4
Im Artikel wird ein einfacher Emulator der MetaTrader 5 Handelsumgebung für den MetaTrader 4 vorgestellt. Mithilfe des Emulators werden Handelsklassen der Standardbibliothek übertragen und angepasst. Dementsprechend können die Expert Advisors, die MetaTrader 5 Wizard erzeugt, in MetaTrader 4 kompiliert und unverändert gestartet werden.
Vergleich von MQL5 und QLUA - warum sind Transaktionen in MQL5 bis zu 28 Mal schneller?
Vergleich von MQL5 und QLUA - warum sind Transaktionen in MQL5 bis zu 28 Mal schneller?
Viele Trader machen sich keine Gedanken darüber, wie schnell ihre Order die Börse erreicht, wie schnell sie da ausgeführt wird und wie viel Zeit das Terminal braucht, um das Ergebnis zu erhalten. Wir uns vorgenommen, die Geschwindigkeit der Ausführung von Transaktionen zu vergleichen, denn noch keiner hat vor uns solche Messungen mithilfe von MQL5- und QLUA-Programmen durchgeführt.
Gegenläufig gerichteter Handel und Sicherung von Positionen in MetaTrader 5 mithilfe der HedgeTerminalApi, Teil 2
Gegenläufig gerichteter Handel und Sicherung von Positionen in MetaTrader 5 mithilfe der HedgeTerminalApi, Teil 2
Bei diesem Beitrag handelt es sich um die Fortsetzung des Artikels Gegenläufig gerichteter Handel und Sicherung von Positionen in MetaTrader 5 mithilfe der HedgeTerminalApi, Teil 1. Im zweiten Teil geht es um Fragen zur Einbindung unserer Expert-Systeme sowie anderer in MQL5 geschriebener Programme in die Bibliothek der HedgeTerminalApi. Dieser Beitrag widmet sich der Darstellung der Arbeit mit dieser Bibliothek. Mit ihrer Hilfe können Sie Expert-Systeme für den Handel in unterschiedliche Richtungen erstellen und in einer praktischen und einfachen Handelsumgebung arbeiten.
Statistik-Cookbook für Händler: Hypothesen
Statistik-Cookbook für Händler: Hypothesen
Dieser Beitrag beschäftigt sich mit Hypothesen - einem der Grundkonzepte mathematischer Statistik. Es werden dabei verschiedene Hypothesen untersucht und anhand von Beispielen mit Hilfe mathematischer Statistikmethoden überprüft. Die tatsächlichen Daten werden mittels nicht parametrischer Methoden verallgemeinert. Zur Verarbeitung der Daten werden das Statistica-Paket und die übertragene ALGLIB MQL5 numerische Analyse-Library verwendet.
Statistische Verteilungen von Wahrscheinlichkeiten in MQL5
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.
Die Indikatoren der Micro-, Mittel- und Haupttrends
Die Indikatoren der Micro-, Mittel- und Haupttrends
Ziel dieses Beitrags ist die Untersuchung der Möglichkeiten von Handelsautomatisierung und ihrer Analyse in Form von Indikatoren und des Expert Advisors, auf Basis einiger Vorschläge aus James Hyerczyks Buch "Pattern, Price & Time: Using Gann Theory in Trading Systems". Ohne jeden Anspruch auf Vollständigkeit untersuchen wir hier nur ein Modell - den ersten Teil der Gann-Theorie.
Ökonometrischer Ansatz zur Chartanalyse
Ökonometrischer Ansatz zur Chartanalyse
Dieser Beitrag beschreibt die ökonometrischen Analysemethoden, die Autokorrelationsanalyse und insbesondere die Analyse von bedingten Varianzen. Worin liegt der Vorteil des hier beschriebenen Ansatzes? Die Arbeit mit nicht-linearen GARCH-Modellen erlaubt eine formelle Repräsentation der analysierten Serien vom mathematischen Gesichtspunkt aus, sowie die Erzeugung einer Prognose für eine festgelegte Anzahl an Schritten.
Random-Forest-Vorhersage-Trends
Random-Forest-Vorhersage-Trends
Dieser Artikel widmet sich der Verwendung des Rattle-Pakets zur automatischen Suche nach Mustern zur Vorhersage von Long- und Short-Positionen von Forex-basierten Währungspaaren. Dieser Artikel richtet sich an Neulinge ebenso wie an erfahrene Trader.
Freelance-Aufträge auf MQL5.com – der beste Ort für Entwickler
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!
Datenaustausch: Erstellen einer DLL für MQL5 in 10 Minuten
Datenaustausch: Erstellen einer DLL für MQL5 in 10 Minuten
Nicht allzu viele Entwickler erinnern sich noch daran, wie eine simple DLL geschrieben wird und was die Besonderheiten der unterschiedlichen Systemanbindungen sind. Anhand mehrerer Beispiele werde ich versuchen, Ihnen den gesamten Prozess zur Erstellung einer simplen DLL in 10 Minuten zu zeigen, sowie einige technische Einzelheiten der Umsetzung unserer Anbindung zu besprechen. Ich zeige Ihnen den Prozess der DLL-Erstellung in Visual Studio Schritt für Schritt mit Beispielen für den Austausch unterschiedlicher Typen von Variablen (Zahlen, Arrays, Strings usw.). Außerdem erkläre ich, wie Sie Ihr Client Terminal vor Abstürzen in benutzerdefinierten DLLs schützen können.
Eine DLL-freie Lösung für die Kommunikation zwischen Terminals von MetaTrader 5 mithilfe von Named Pipes
Eine DLL-freie Lösung für die Kommunikation zwischen Terminals von MetaTrader 5 mithilfe von Named Pipes
Dieser Beitrag beschreibt die Umsetzung der Interprozesskommunikation zwischen Client Terminals von MetaTrader 5 mithilfe von Named Pipes. Für die Nutzung von Named Pipes wird die Klasse CNamedPipes entwickelt. Um sie zu testen und um den Durchsatz der Verbindung zu messen, werden die Scripts für den Tick-Indikator, den Server und den Client vorgestellt. Die Nutzung von Named Pipes ist für Echtzeitgebote geeignet.
Parallele Berechnungen in MetaTrader 5
Parallele Berechnungen in MetaTrader 5
Seit Anbeginn der Menschheit ist Zeit von unschätzbarem Wert und wir tun alles, um sie nicht unnötig zu vergeuden. In diesem Sinne beschreibt Ihnen dieser Beitrag, wie Sie die Arbeit Ihres Expert Advisors beschleunigen können, wenn Ihr Computer über einen Mutli-Core Prozessor verfügt. Zudem verlangt die Implementierung der vorgeschlagenen Methode keine Kenntnisse anderer Programmiersprachen außer MQL5.
Ein Indikator zum Anlegen eines Kagi-Diagramms
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“.
Modul von Handelssignalen nach dem Bill-Williams-System
Modul von Handelssignalen nach dem Bill-Williams-System
Der Beitrag handelt sich um die Regeln des Handelssystems von Bill Williams, bietet einen Leitfaden für die Anwendung des entwickelten MQL5-Moduls für die Suche und Markierung von Mustern dieses Systems auf dem Chart, automatischen Handel nach gefundenen Mustern sowie stellt Testergebnisse für verschiedene Symbole dar.
Analyse der wesentlichen Merkmale von Zeitreihen
Analyse der wesentlichen Merkmale von Zeitreihen
In diesem Artikel wird eine Klasse vorgestellt, die die schnelle provisorische Ermittlung der Merkmale verschiedener Zeitreihen ermöglicht. Dabei werden die statistischen Parameter und die Autokorrelationsfunktion berechnet, eine Berechnung des jeweiligen Spektrums der Zeitreihen durchgeführt und ein Histogramm angelegt.
Grundlagen der Programmierung in MQL5: Listen
Grundlagen der Programmierung in MQL5: Listen
Die neue Version der Programmiersprache für die Entwicklung von Handelsstrategien, MQL [MQL5], liefert im Vergleich zur Vorgängerversion [MQL4] leistungsstärkere und effektivere Features. Der Vorteil besteht im Wesentlichen aus den Merkmalen der objektorientierten Programmierung. In diesem Beitrag wird die Möglichkeit betrachtet, komplexe benutzerdefinierte Datentypen wie Knoten und Listen zu verwenden. Außerdem liefert der Beitrag ein Anwendungsbeispiel für die Verwendung von Listen in der praktischen Programmierung in MQL5.
Indikator für Renko-Diagramme
Indikator für Renko-Diagramme
Dieser Beitrag beschreibt ein Beispiel für Renko-Diagramme und dessen Umsetzung als Indikator in MQL5. Dieser Indikator unterscheidet sich durch Modifikationen von einem herkömmlichen Diagramm. Er kann sowohl im Indikatorfenster als auch im Hauptdiagramm konstruiert werden. Außerdem gibt es noch den ZigZag-Indikator. Sie können einige Beispiele für die Umsetzung des Diagramms finden.
Arbeit mit einem GSM-Modem über einen Expert Advisor in MQL5
Arbeit mit einem GSM-Modem über einen Expert Advisor in MQL5
Es gibt derzeit ausreichend viele Möglichkeiten für die bequeme Remote-Überwachung eines Handelskontos: mobile Terminals, Push-Benachrichtigungen, Arbeiten mit ICQ. Doch all das erfordert eine Internetverbindung. Dieser Beitrag beschreibt die Erstellung eines Expert Advisors, der es Ihnen ermöglicht, mithilfe von Anrufen und SMS mit Ihrem Handelsterminal in Verbindung zu bleiben, auch wenn keine mobile Internetverbindung verfügbar ist.
Expert Advisor auf Grundlage der New Trading Dimensions von Bill Williams
Expert Advisor auf Grundlage der New Trading Dimensions von Bill Williams
In diesem Beitrag geht es um die Entwicklung des Expert Advisors, auf Grundlage des Buchs "New Trading Dimensions: How to Profit from Chaos in Stocks, Bonds, and Commodities" von Bill Williams. Die Strategie selbst ist wohl bekannt, ihre Anwendung jedoch unter Händlern immer noch umstritten. Dieser Beitrag behandelt die Handelssignale des Systems, die spezifischen Charakteristika seiner Implementierung und die Testergebnisse vor dem Hintergrund historischer Daten.
SQL und MQL5: Mit der SQLite Datenbank arbeiten
SQL und MQL5: Mit der SQLite Datenbank arbeiten
Dieser Beitrag richtet sich an Entwickler, die in ihren Projekten gerne SQL verwenden möchten. Er erklärt die Funktionsweise und Vorteile von SQLite. Für diesen Beitrag sind keine speziellen Kenntnisse der SQLite-Funktionen nötig, doch ein Grundverständnis von SQL wäre durchaus hilfreich.
Der Indikator für "Spindles" Charting
Der Indikator für "Spindles" Charting
Der Artikel befasst sich mit dem Zeichen der Charts "Spindels" (spindles), auch mit seiner Verwendung in Handelsstrategien und Expert-Advisors. Zunächst betrachten wir die Erscheinung des Charts, sein Zeichen und seine Verbindung mit den japanischen Kerzen. Als nächstes analysieren wir die Realisierung der Indikatoren im Code in MQL5. Wir testen auch den Experten, der auf dem Indikator basierend ist und formulieren eine Trading-Strategie.
Überblick über den MetaTrader Market (Infografik)
Überblick über den MetaTrader Market (Infografik)
Vor einigen Wochen haben wir die Infografik zum Freelance-Service veröffentlicht. Wir haben auch versprochen, einige Statistiken über den MetaTrader Market zu enthüllen. Wir möchten Sie nun einladen, sich die Daten anzusehen, die wir gesammelt haben.
Einführung in die Theorie der Fuzzylogik
Einführung in die Theorie der Fuzzylogik
Die Fuzzylogik geht über die üblichen Grenzen der mathematischen Logik und der Mengentheorie hinaus. Der vorliegende Artikel erläutert die Hauptprinzipien dieser Theorie und beschreibt die Inferenz-Systeme vom Typ Mamdani und Sugeno. Darüber hinaus werden im Artikel Beispiele zur Umsetzung unscharfer Modelle anhand dieser zwei Systeme durch die Mittel der FuzzyNet Bibliothek für MQL5 angeführt.
Den Ballast selbstgemachter "dynamischer Programmbibliotheken" loswerden
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.
Schätzung der Kerndichte einer unbekannten Wahrscheinlichkeitsverteilung
Schätzung der Kerndichte einer unbekannten Wahrscheinlichkeitsverteilung
In diesem Beitrag geht es um Zusammenstellung eines Programms zur Schätzung der Kerndichte einer Funktion mit unbekannter Wahrscheinlichkeitsverteilung Für die Ausführung dieser Aufgabe haben wir die Methode der Kerndichteschätzung (KDE) gewählt. Dieser Artikel bietet neben dem Code zur Umsetzung dieser Methode in Programmform auch Anwendungsbeispiele und Illustrationen.
Einführung in die empirische Bandzerlegung (EMD)
Einführung in die empirische Bandzerlegung (EMD)
Dieser Beitrag möchte seine Leser mit dem Verfahren der empirischen Bandzerlegung, der „Empirical Mode Decomposition“ kurz: EMD, vertraut machen. Es handelt sich bei dieser um einen grundlegenden Bestandteil der Hilbert-Huang-Transformation zur Analyse von Daten aus nichtstationären und nichtlinearen Vorgängen. Dieser Artikel beinhaltet zudem eine mögliche Umsetzung dieses Verfahren in Programmform nebst einer Kurzdarstellung seiner Besonderheiten und einiger einfacher Anwendungsbeispiele.
Das MQL5-Kochbuch: Abschwächen der Auswirkungen von Überanpassungen und Umgang mit mangelnden Geboten
Das MQL5-Kochbuch: Abschwächen der Auswirkungen von Überanpassungen und Umgang mit mangelnden Geboten
Ganz egal, welche Handelsstrategie Sie anwenden, wird immer die Frage bestehen, welche Parameter gewählt werden sollen, um zukünftige Gewinne zu sichern. Dieser Beitrag liefert ein Beispiel für einen Expert Advisor mit der Möglichkeit, mehrere Symbolparameter gleichzeitig zu optimieren. Diese Methode dient dazu, die Auswirkungen der Überanpassung von Parametern abzuschwächen und mit Situationen umzugehen, in denen die Daten aus einem einzelnen Symbol nicht für eine eingehende Betrachtung ausreichen.
Wie man mit einem UML-Werkzeug einen Expert Advisor entwickelt
Wie man mit einem UML-Werkzeug einen Expert Advisor entwickelt
In diesem Artikel wird die Erstellung von Expert Advisors mittels UML (Unified Modeling Language) beschrieben, einer Modellierungssprache, die für die bildliche Modellierung von objektorientierten Softwaresystemen verwendet wird. Der Hauptvorteil dieses Ansatzes ist die Verbildlichung des Modellierungsprozesses. In diesem Artikel wird auch ein Beispiel vorgestellt, das die Modellierung von Struktur und Eigenschaften eines Expert Advisors mit dem Programm "Software Ideas Modeler" zeigt.
Multiple Regressionsanalyse. Anlegen und Prüfen von Strategien aus einer Hand
Multiple Regressionsanalyse. Anlegen und Prüfen von Strategien aus einer Hand
Dieser Beitrag schildert die Anwendung der multiplen Regressionsanalyse bei der Entwicklung automatischer Handelssysteme (im Weiteren Expert-Systeme). Es werden Beispiele für ihren Einsatz bei der Automatisierung der Suche nach der richtigen Strategie sowie für eine ohne nennenswerte Vorkenntnisse in Sachen Programmierung angelegte und in ein Expert-System integrierte Regressionsgleichung.
Mit MetaTrader 5 via Named Pipes ohne DDLs kommunizieren
Mit MetaTrader 5 via Named Pipes ohne DDLs kommunizieren
Viele Entwickler sehen sich mit demselben Problem konfrontiert: Wie kreiert man eine Sandboxumgebung für ein Handelsterminal ohne unsichere DLLs zu benutzen. Eine der leichtesten und zugleich sichersten Methoden besteht in der Verwendung standardisierter Named Pipes, die normale Dateioperationen gewährleisten. Diese ermöglichen eine Interprozessor-Client-Server basierte Kommunikation zwischen Programmen. Werfen Sie einen Blick auf die praktischen C++- und MQL5-Beispiele, einschließlich Server, Client, den Datenaustausch zwischen beiden sowie den Benchmark-Test.
Aufbau eines Social-Technology Startups, Teil I: Ihre MetaTrader 5 Signale twittern
Aufbau eines Social-Technology Startups, Teil I: Ihre MetaTrader 5 Signale twittern
Heute erfahren wir, wie man einen MetaTrader 5 Terminal mit Twitter verbindet, damit Sie die Handelssignale Ihres EAs twittern können . Wir entwickeln ein Soziales Entscheidungsunterstützungssystem in PHP, das auf einem RESTful Webdienst beruht. Diese Idee stammt von einem besonderen Konzept automatischen Handels, dem sog. computergestützten Handel. Wir möchten, dass die kognitiven Fähigkeiten von tatsächlichen Händlern, diese Handelssignale filtern, die sonst von Expert Advisors automatisch auf dem Markt platziert werden würden.
Erzeugung von Multi-Expert Advisors auf Grundlage von Handelsmodellen
Erzeugung von Multi-Expert Advisors auf Grundlage von Handelsmodellen
Der Einsatz des Objekt-orientierten Ansatzes in MQL5 erleichtert die Erzeugung von Multi-Currency/Multi-System und Multi-Timeframe Expert Advisors ganz erheblich. Stellen Sie sich nur vor, Ihr einziger EA handelt mit mehreren Dutzend Handelsstrategien auf allen verfügbaren Instrumenten und allen möglichen Zeitrahmen ! Und zusätzlich kann er im Tester problemlos getestet werden und hat zudem für alle, in dieser Zusammenstellung eingeschlossenen Strategien ein oder mehrere Arbeitssysteme zur Geldverwaltung.
Diagramme in HTML
Diagramme in HTML
Es ist heutzutage schwierig, einen Computer zu finden, auf dem kein Web-Browser installiert ist. Browser werden seit langer Zeit weiterentwickelt und ständig verbessert. In diesem Beitrag wird eine einfache und sichere Art der Erstellung von Diagrammen auf Basis von Informationen aus dem MetaTrader 5 Client Terminal besprochen, die im Browser angezeigt werden.
Die Rolle von statistischen Verteilungen für die Arbeit eines Händlers
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.
Verwendung von selbstorganisierenden Karten (Kohonenkarten) in MetaTrader 5
Verwendung von selbstorganisierenden Karten (Kohonenkarten) in MetaTrader 5
Einer der interessantesten Aspekte von selbstorganisierenden Karten (Kohonenkarten) ist, dass sie ohne Beaufsichtigung lernen, Daten zu klassifizieren. Im einfachsten Fall erstellen sie eine Ähnlichkeitskarte von Eingabedaten (Clustering). SOM-Karten können für die Klassifizierung und Visualisierung von hochdimensionalen Daten genutzt werden. In diesem Beitrag werden wir mehrere einfache Anwendungsbeispiele von Kohonenkarten betrachten.
Erstellung von Handelssystemen mittels Diskriminanzanalyse
Erstellung von Handelssystemen mittels Diskriminanzanalyse
Bei der Erstellung von Handelssystemen stellt sich für gewöhnlich die Frage nach der Auswahl der besten Kombination von Indikatoren und deren Signalen. Die Diskriminanzanalyse (DA) ist eines der Verfahren zur Ermittlung dieser Kombinationen. In diesem Beitrag werden ein Beispiel für die Entwicklung eines Expert-Systems zur Erfassung von Marktdaten vorgestellt und der Einsatz der DA zur Erstellung von Vorhersagemodellen für den Devisenmarkt in einem Programm von Statistica vorgeführt.