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.
Den Gewinn bis zum letzten Pip extrahieren
Der Artikel beschreibt den Versuch, Theorie und Praxis im algorithmischen Handelsbereich zu verbinden. Die meisten Diskussionen über das Erstellen von Handelssystemen stehen im Zusammenhang mit der Verwendung historischer Bars und verschiedener darauf angewandter Indikatoren. Dies ist das am besten abgedeckte Feld und deshalb werden wir es nicht berücksichtigen. Bars sind künstliches Konstrukte, versuchen wir näher an die ursprünglichen Daten zu kommen - den Preis-Ticks.
Die Entwicklung von grafischen Oberflächen für Expert Advisors und Indikatoren auf Basis von .Net Framework und C#
Der Artikel stellt eine einfache und schnelle Methode zur Erstellung von grafischen Fenstern mit Visual Studio mit anschließender Integration in den MQL-Code des Expert Advisors vor. Der Artikel richtet sich an ein nicht spezialisiertes Publikum und erfordert keine Kenntnisse der Technologie von C# oder .Net.
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.
Die Synchronisation Experts,Skripts und Indikatoren
Betrachtet wird die Notwendigkeit und allgemeine Grundlagen zum Aufbau des Programmkomplexes, der einen Experte, einen Skript und einen Indikator enthält.
Automatische Ermittlung von Extremwerten basierend auf einem angegebenen Kursrückgang
Bei der Automatisierung von Handelsstrategien, die grafische Muster verwenden, ist es notwendig, Extremwerte auf den Charts für eine weitere Verarbeitung und Interpretation zu ermitteln. Bestehende Tools bieten nicht immer diese Möglichkeit. Die im Artikel beschriebenen Algorithmen erlauben es, alle Extremwerte auf den Charts zu ermitteln. Die entwickelten Tools sind effektiv sowohl in einem Trend, als auch in einem Seitwärtsmarkt. Die erhaltenen Ergebnisse hängen von der gewählten Timeframe ab und werden nur durch den angegebenen Rückgang definiert.
Wie lang ist der Trend?
Der Artikel beleuchtet mehrere Methoden, einen Trend zu identifizieren, mit dem Ziel die Dauer des Trend relativ zu der des Seitwärtsmarktes (flat market) zu bestimmen. Theoretisch sollte dass Verhältnis von Trends zu Seitwärtsbewegungen zwischen 30% bis 70% liegen. Das werden wir überprüfen.
Die Übertragung eines Indikatorcodes in einen Expertcode. Die Struktur eines Indikators
Im Beitrag geht es um die Übertragung eines Indikatorcodes in den EA-Code und dem Schreiben der Experten, in denen keinen Aufruf zu benutzerdefinierten Indikatoren gibt. Und der gesamte Programmcode für die Berechnung der nötigen Indikatorwerte wird innerhalb des Expertes sein. Dieser Artikel stellt eine allgemeine Darstellung der Struktur des Indikators, die Emulation der Indikatorpuffer im EA und die Ersetzung der Funktion IndicatorCounted(). Der Artikel baut auf einen Leser, der die Programierungserfahrung mit dem MQL4 hat.
Gewinnbringende Algorithmen mit Trailing Stops
Ziel dieses Artikels ist die Untersuchung der Einträglichkeit von Algorithmen mit unterschiedlichen Geschäftsein- und Ausstiegen anhand von automatisch nachgezogenen Verlustgrenzen (Trailing Stops). Die verwendeten Einstiegsarten sind zufälliger (random entry) und gegenläufiger Einstieg (reverse entry) und die verwendeten Stop-Grenzen die nachgezogene Verlust- (Trailing Stop) und die nachgezogene Gewinngrenze (Trailing Take). In dem Beitrag werden gewinnbringende Algorithmen mit einer Jahresertragsrate von etwa 30 % vorgestellt.
Komfortables Scalping
Der Artikel beschreibt das Verfahren für die Erstellung eines Werkzeuges für komfortables Scalping. Allerdings kann ein solcher Ansatz zum Öffnen von Positionen in jedem anderen Handel angewandt werden.
Wie schnell ein Bedienfeld zu einem Indikator und Expert Advisor hinzugefügt werden kann
Möchten Sie zu Ihrem EA oder einem Indikator ein grafisches Feld für eine einfache und schnelle Kontrolle hinzufügen, aber Sie wissen nicht, wie Sie dies tun können? In diesem Artikel werde ich Ihnen Schritt um Schritt zeigen, wie man ein einfaches Feld zu Ihrem MQL4 / MQL5-Programm hinzufügen kann.
R-Quadrat als Gütemaß der Saldenkurve einer Strategie
Dieser Artikel beschreibt die Konstruktion des benutzerdefinierten Optimierungskriterium R². Anhand dieses Kriteriums kann die Qualität der Saldenkurve einer Strategie abgeschätzt und die bestgeeignete Strategie ausgewählt werden. Die Arbeit diskutiert die Grundsätze der Konstruktion und die statistischen Methoden, die in der Schätzung der Eigenschaften und Qualität dieser Metrik.
Wie ein Marktindikator für alle nicht standarten Charts geschrieben werden soll
Mit Offline-Charts der Programmiersprache MQL4 und mit ein kleinem Lust darauf können Sie jede Art von Grafiken erhalten: "Tic-Tac-Toe", "Renko", "Kagi", "Range Bars", Equivolume Charts usw. In diesem Artikel zeigen wir Ihnen, wie Sie das ohne DLL tun können, deshalb könnten Sie solche Indikatoren wie "Two-in-one" im Markt veröffentlichen und erwerben.
Wie reduzieren Händler die Risiken
Der Handel an den Finanzmärkten ist mit einer ganzen Reihe von Risiken verbunden, die in den Algorithmen der Handelssysteme berücksichtigt werden sollten. Die Reduzierung solcher Risiken ist die wichtigste Aufgabe, um mit dem Handel Gewinne zu erzielen.
Optimierungsmanagement (Teil I): Erstellen einer GUI
Dieser Artikel beschreibt den Prozess der Erstellung einer Erweiterung für das MetaTrader-Terminal. Die vorgestellte Lösung hilft, den Optimierungsprozess zu automatisieren, indem Optimierungen in anderen Terminals durchgeführt werden. Es werden noch einige weitere Artikel zu diesem Thema geschrieben. Die Erweiterung wurde unter Verwendung der Sprache C# und der Designmuster entwickelt, was zusätzlich die Fähigkeit demonstriert, die Terminalfunktionen durch die Entwicklung benutzerdefinierter Module zu erweitern, sowie die Fähigkeit, benutzerdefinierte grafische Benutzeroberflächen mit der Funktionsvielfalt einer bevorzugten Programmiersprache zu erstellen.
Beschränkungen und Überprüfungen in Expert Advisors
Darf dieses Symbol montags gehandelt werden? Ist genug Geld vorhanden, um die Position zu öffnen? Wie groß ist der Verlust, wenn Stop Loss ausgelöst wird? Wie kann die Anzahl ausstehender Aufträge begrenzt werden? Wurde die Handelstätigkeit beim aktuellen oder beim vorherigen Bar ausgeführt? Wenn ein Handelsroboter diese Arten von Überprüfungen nicht durchführen kann, kann jede mögliche Handelsstrategie zu Verlusten führen. Dieser Beitrag beinhaltet Beispiele für Überprüfungen, die in jedem Expert Advisor nützlich sind.
Projekte helfen beim Entwickeln profitabler Handelsroboter! Zumindest scheint es so
Ein großes Programm beginnt mit einer kleinen Datei, die dann immer größer wird, je mehr Funktionen und Objekte Sie hinzufügen. Die meisten Roboterentwickler verwenden Include-Dateien, um dieses Problem zu lösen. Es gibt jedoch eine bessere Lösung: Beginnen Sie mit der Entwicklung einer beliebigen Handelsanwendung in einem Projekt. Es gibt so viele Gründe, dies zu tun.
MQL5 Trading Toolkit (Teil 5): Die Bibliothek History Management EX5 um Positionsfunktionen erweitern
Erfahren Sie, wie Sie exportierbare EX5-Funktionen erstellen können, um historische Positionsdaten effizient abzufragen und zu speichern. In dieser Schritt-für-Schritt-Anleitung werden wir die Bibliothek History Management EX5 erweitern, indem wir Module entwickeln, die wichtige Eigenschaften der zuletzt geschlossenen Position abrufen. Dazu gehören Nettogewinn, Handelsdauer, Pip-basierter Stop-Loss, Take-Profit, Gewinnwerte und verschiedene andere wichtige Details.
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.
Muster von Ausbrüchen aus einem Kanal
Kursverläufe bilden Preiskanäle, die auf dem Chart des Finanzsymbols beobachtet werden können. Der Ausbruch aus einem aktuellen Kanal ist ein starkes Signal einer Trendwende. In diesem Artikel schlage ich eine Möglichkeit vor, den Prozess der Suche nach solchen Signalen zu automatisieren und zu sehen, ob die Muster eines Kanalausbruchs für die Erstellung einer Handelsstrategie verwendet werden kann.
Bewertung und Auswahl von Variablen für Modelle für maschinelles Lernen
Dieser Artikel konzentriert sich auf die Besonderheiten der Auswahl, Vorkonditionierung und Bewertung der Eingabevariablen (Prädiktoren) für den Einsatz in Modellen für maschinelles Lernen. Neue Ansätze und Möglichkeiten der tiefen Prädiktor Analyse und deren Einfluss auf mögliche Überanpassung von Modellen werden berücksichtigt. Das Gesamtergebnis der Verwendung von Modellen hängt weitgehend vom Ergebnis dieser Phase ab. Wir werden zwei Pakete analysieren, die neue und ursprüngliche Konzepte für die Auswahl der Prädiktoren bieten.
MTF-Indikatoren als Werkzeuge der technischen Analyse
Die meisten Händler sind sich einig, dass eine Zustandsanalyse des aktuellen Marktes mit der Bewertung höherer Zeitrahmen beginnt. Die Analyse wird nach unten auf niedrigere Zeitrahmen bis zu demjenigen durchgeführt, in dem der Handel durchgeführt wird. Diese Analysemethode scheint ein obligatorischer Bestandteil des professionellen Ansatzes für einen erfolgreichen Handel zu sein. In diesem Artikel werden wir Indikatoren auf mehreren Zeitrahmen (multi-timeframe, MTF) und ihre Erstellungswege diskutieren, sowie Codebeispiele für MQL5 liefern. Neben der allgemeinen Bewertung von Vor- und Nachteilen werden wir einen neuen Indikatoransatz mit dem MTF-Modus vorschlagen.
Der Algorithmus der Tick-Erzeugung im Strategietester des MetaTrader 5 Terminals
MetaTrader 5 ermöglicht es uns, den automatisierten Handel innerhalb eines integrierten Strategietesters mithilfe von Expert Advisors und der MQL5-Sprache zu simulieren. Diese Art der Simulation wird als Testen von Expert Advisors bezeichnet und kann mithilfe Multithreading-fähiger Optimierung sowie simultan auf mehreren Instrumenten umgesetzt werden. Um gründlich testen zu können, muss eine Erzeugung von Ticks auf Basis der verfügbaren minütlichen Historie durchgeführt werden. Dieser Beitrag liefert eine detaillierte Beschreibung des Algorithmus, durch den Ticks für Tests auf Basis der Historie im MetaTrader 5 Client Terminal erzeugt werden.
Bidirektionaler Handel und Absicherung von Positions in MetaTrader 5 mit Hilfe des HedgeTerminal Panels - Teil 1
Dieser Beitrag beschreibt einen neuen Ansatz zur Absicherung von Positions und zieht diesbezüglich einen klaren Schlussstrich in den Diskussionen zwischen MetaTrader 4- und MetaTrader 5-Anwendern. Die Algorithmen, die derartige Absicherungen zuverlässig machen, werden in für Laien leicht verständlichen Begriffen beschrieben und anhand von einfachen Charts und Diagrammen veranschaulicht. Dieser Beitrag widmet sich dem neuen HedgeTerminal Panel, im Grunde ein voll funktionsfähiges Handelsterminal in MetaTrader 5. Mit Hilfe des HedgeTerminal und der von ihm zur Verfügung gestellten Visualisierung des Handels, können Positions so verwaltet werden, wie man es bereits aus MetaTrader 4 kennt.
Handels-Ereignisse im Expert Advisor mit Hilfe der OnTrade() Funktion bearbeiten
MQL5 brachte eine Menge an Innovationen, inkl. die Bearbeitung verschiedenartiger Ereignisse (Timer-Ereignisse, Handels-Ereignisse, benutzerdefinierte Ereignisse, usw). Mit diesen Ereignissen umgehen zu können, gestattet Ihnen die Erzeugung komplett neuer Arten an Programmen für den automatischen und halb-automatischen Handel. In diesem Beitrag betrachten wir uns Handels-Ereignisse und schreiben einen Code für die OnTrade() Funktion, die das Handels-Ereignis bearbeiten wird.
Übertragen eines Indikator Code in einen Expert Advisor Code. Abschluss
Dies ist der abschließende Artikel über das Übertragen eines Indikator Code in einen Expert Advisor Code. Hier verändert der Autor in einem bestimmten Beispiel einen Code eines Expert Advisor so, dass dieser EA in einer einzigen Datei dargestellt wird, ohne den Aufruf benutzerdefinierter Indikatoren.
Erstellen eines EA, der automatisch funktioniert (Teil 01): Konzepte und Strukturen
Heute werden wir sehen, wie man einen Expert Advisor erstellt, der einfach und sicher im automatischen Modus arbeitet.
Automatisierte Optimierung eines EAs mit dem MetaTrader 5
Der Artikel beschreibt die Implementation eines selbst-optimierenden Mechanismus unter dem MetaTrader 5.
Anwenden von Indikatoren auf Indikatoren
Beim Schreiben eines Indikators, der die kurze Form des Aufrufs der OnCalculate()-Funktion nutzt, könnten Sie übersehen, dass ein Indikator nicht nur anhand von Preisdaten berechnet werden kann, sondern auch anhand der Daten eines anderen Indikators (unabhängig davon, ob dieser Indikator ein integrierter oder benutzerdefinierter ist). Möchten Sie einen Indikator verbessern und seine korrekte Anwendung auf die Daten anderer Indikatoren ermöglichen? In diesem Beitrag betrachten wir die Schritte, die für diese Anpassung benötigt werden.
MetaTrader 4 Expert Advisor tauscht Informationen mit der Außenwelt aus
Eine einfache, universelle und zuverlässige Lösung für den Informationsaustausch zwischen MetaTrader 4 Expert Advisor und der Außenwelt. Lieferanten und Konsumenten der Informationen können sich auf verschiedenen Computern befinden, die Verbindung wird über die globalen IP-Adressen hergestellt.
Schnelle Werkzeuge für den manuellen Handel: Arbeiten mit offenen Positionen und Pending-Orders
In diesem Artikel werden wir die Möglichkeiten der Werkzeuge erweitern: Wir werden die Möglichkeit hinzufügen, Handelspositionen unter bestimmten Bedingungen zu schließen, und wir werden Tabellen zur Kontrolle von Markt-Aufträgen und Pending-Orders erstellen, mit der Möglichkeit, diese Aufträge zu bearbeiten.
Strategy Tester: Modellierungsmodi beim Testen von Handelsstrategien
Viele Programme der technischen Analyse lassen Handelsstrategien anhand historischer Daten testen.
Ein neuer Ansatz der Interpretation der klassischen und der versteckten Divergenz Teil II
Der Artikel bietet eine kritische Untersuchung der normalen Divergenz und Effizienz verschiedener Indikatoren. Darüber hinaus enthält er Filtermöglichkeiten für eine erhöhte Analysegenauigkeit und Funktionsbeschreibungen von Nicht-Standard-Lösungen. Als Ergebnis werden wir ein neues Werkzeug zur Lösung der technischen Herausforderungen schaffen.
Ein manuelles Chart- und Handelswerkzeug (Teil II). Werkzeuge zum Zeichnen von Chart-Grafiken
Dies ist der nächste Artikel der Serie, in dem ich zeige, wie ich eine komfortable Bibliothek für die manuelle Anwendung von Chart-Grafiken unter Verwendung von Tastaturkürzeln erstellt habe. Zu den verwendeten Werkzeugen gehören gerade Linien und deren Kombinationen. In diesem Teil sehen wir uns an, wie die Zeichenwerkzeuge unter Verwendung der im ersten Teil beschriebenen Funktionen angewendet werden. Die Bibliothek kann mit jedem Expert Advisor oder Indikator verbunden werden, was die Aufgaben im Chart stark vereinfacht. Diese Lösung verwendet KEINE externen Dlls, während alle Befehle mit eingebauten MQL-Tools implementiert werden.
Visualisierung! Eine grafische MQL5 Bibliothek ähnlich 'plot' der Sprache R
Beim Studium der Handelslogik hat die visuelle Darstellung durch Grafiken eine großer Bedeutung. Eine Reihe von Programmiersprachen, die in der wissenschaftlichen Gemeinschaft weit verbreitet sind (wie R und Python), verfügen über eine spezielle "plot"-Funktion für die Visualisierung von Daten. Sie ermöglicht das Zeichnen von Linien, Gruppen von Punkten und Histogramme, um Muster darzustellen. In MQL5 können wir das Gleiche mit der Klasse CGraphics erreichen.
Fuzzy-Logik für eine manuelle Handelsstrategie
Dieser Artikel zeigt die Möglichkeiten der Verbesserung einer manuelle Handelsstrategie durch die Verwendung der Theorie der unscharfen Mengen (fuzzy sets). Als Beispiel bieten wir eine Schritt-für-Schritt-Beschreibung der Suche nach einer Strategie und die Auswahl der Parameter, gefolgt von der Anwendung der Fuzzy-Logik, um allzu formale Kriterien für den Markteintritt zu verwischen. So erhalten wir nach einer Strategie-Modifikation flexible Bedingungen für die Eröffnung einer Position als eine angemessene Reaktion auf eine Marktsituation.
Virtual Order Manager zum Verwalten von Ordern innerhalb der positionszentrischen Umgebung von MetaTrader 5
Diese Klassenbibliothek kann einem Expert Advisor in MetaTrader 5 hinzugefügt werden, damit dieser orderzentrisch geschrieben werden kann, weitestgehend ähnlich zu MetaTrader 4, im Vergleich zum positionsbasierten Ansatz von MetaTrader 5. Dies geschieht durch die Verwaltung von virtuellen Ordern im MetaTrader 5 Client Terminal und die Aufrechterhaltung eines Schutzstopps des Brokers für jede Position, um vor Katastrophenfällen zu schützen.
Martingale als Basis für eine langfristige Handelsstrategie
In diesem Artikel werden wir uns ausführlich mit dem Martingal-System befassen. Wir werden prüfen, ob dieses System im Handel eingesetzt werden kann und wie es zur Risikominimierung eingesetzt werden kann. Der Hauptnachteil dieses einfachen Systems ist die Wahrscheinlichkeit, dass die gesamte Einlage verloren geht. Diese Tatsache muss berücksichtigt werden, wenn Sie sich entscheiden, mit der Martingaltechnik zu handeln.
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.
ZUP - Universal-ZigZag mit Pesavento-Mustern. Grafische Benutzeroberfläche
In den zehn Jahren seit der Veröffentlichung der ersten Version der ZUP-Plattform gab es mehrere Änderungen und Verbesserungen. Im Ergebnis haben wir jetzt eine einzigartige, grafische Erweiterung für den MetaTrader 4, die Ihnen eine schnelle und bequeme Analyse des Marktes erlaubt. Der Artikel beschreibt, wie Sie mit der grafischen Oberfläche des ZUP-Indikators arbeiten können.