Beim Handel geht es immer darum, im Angesicht von Unsicherheit Entscheidungen zu treffen. Das bedeutet, dass die Ergebnisse der Entscheidungen zu dem Zeitpunkt, zu dem diese Entscheidungen getroffen werden, nicht ganz eindeutig sind. Daraus ergibt sich die Bedeutung theoretischer Ansätze für die Konstruktion mathematischer Modelle, die es uns ermöglichen, solche Fälle sinnvoll zu beschreiben.
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.
In diesem Artikel werde ich die Klassen der Objekte der Indikatorpuffer verbessern, um im Multisymbolmodus arbeiten zu können. Dies wird den Weg für die Erstellung von Multisymbol- und Mehrperioden-Indikatoren in benutzerdefinierten Programmen ebnen. Ich werde den berechneten Pufferobjekten die fehlende Funktionalität hinzufügen, die es uns ermöglicht, multisymbol- und mehrperiodische Standardindikatoren zu erstellen.
In diesem Artikel betrachten wir die Prinzipien der Analyse und Auswertung mathematischer Ausdrücke unter Verwendung von Parsern, die auf der Operator-Priorität basieren. Wir werden Parser nach Pratt und dem Shunting-yard-Algorithmus, Bytecode-Generierung und Auswertungen mit diesem Code implementieren und uns ansehen, wie Indikatoren als Funktionen in Ausdrücken verwendet und wie Handelssignale in Expert Advisors auf der Grundlage dieser Indikatoren eingerichtet werden können.
In diesem Artikel werde ich mit der Verbesserung der Indikatorpufferobjekte und der Sammelklasse für die Arbeit in Mehrperioden- und Mehrsymbolmodi beginnen. Ich werde den Betrieb von Pufferobjekten für den Empfang und die Anzeige von Daten aus einem beliebigen Zeitrahmen auf dem aktuellen Symbolchart bespreche.
Der Artikel behandelt die Grundprinzipien der Analyse und Berechnung mathematischer Ausdrücke. Wir werden Parser mit rekursivem Abstieg implementieren, die im Interpreter- und beschleunigtem Berechnungsmodus arbeiten und auf einem vorgefertigten Syntaxbaum basieren.
Heutzutage wechseln viele Händler zu automatisierten Handelssystemen, die eine zusätzliche Einrichtung erfordern oder vollständig automatisiert und einsatzbereit sein können. Es gibt jedoch einen beträchtlichen Teil der Händler, die es vorziehen, auf die altmodische Art und Weise manuell zu handeln. In diesem Artikel erstellen wir "Market Order" (Marktorder) das Toolkit für den schnellen manuellen Handel, für die Verwendung von Hotkeys und für die Durchführung typischer Handelsaktionen mit einem Klick.
Der Artikel enthält eine Beschreibung und Anleitungen für den praktischen Einsatz von Modulen für neuronale Netzwerke auf der Matlab-Plattform. Er behandelt auch die Hauptaspekte der Erstellung eines Handelssystems unter Verwendung des Neuronalen Netzwerkmoduls. Um den Komplex in einem Artikel vorstellen zu können, musste ich ihn so modifizieren, dass mehrere Funktionen des neuronalen Netzwerkmoduls in einem Programm kombiniert werden konnten.
In diesem Artikel werden wir die Hauptaspekte der Integration von neuronalen Netzen und dem Handelsterminal betrachten, mit dem Ziel, einen voll ausgestatteten Handelsroboter zu schaffen.
Dies ist der erste Artikel in einer Serie, in der ich ein Werkzeug beschreiben werde, das die manuelle Verwendung von Chartgrafiken mit Hilfe von Tastaturkürzeln ermöglicht. Es ist sehr praktisch: man drückt eine Taste und eine Trendlinie erscheint, drückt man eine andere Taste — so entsteht ein Fibonacci-Fächer mit den benötigten Parametern. Es wird auch möglich sein, den Zeitrahmen zu wechseln, die Ebenen neu anzuordnen oder alle Objekte aus dem Diagramm zu löschen.
Der Artikel befasst sich mit der Erstellung einer Kollektionsklasse der Objekte von Indikatorpuffern. Ich werde die Fähigkeit testen, eine beliebige Anzahl von Puffern für Indikatoren zu erstellen und mit ihnen zu arbeiten (die maximale Anzahl von Indikatorpuffern, die in MQL erstellt werden können, beträgt 512).
Ein als MQL-Klasse implementierter Twitter-Client, mit dem Sie Tweets mit Fotos versenden können. Alles, was Sie brauchen, ist eine einzige, in sich geschlossene Include-Datei und schon können Sie all Ihre wunderbaren Charts und Signale twittern.
Wollten Sie schon immer auf Tweets zugreifen und/oder Ihre Handelssignale auf Twitter posten? Suchen Sie nicht mehr, diese fortlaufenden Artikelserien zeigen Ihnen, wie Sie es ohne die Verwendung einer DLL machen können. Genießen Sie die Reise der Implementierung der Tweeter-API mit MQL. In diesem ersten Teil werden wir dem glorreichen Weg der Authentifizierung und Autorisierung beim Zugriff auf die Twitter-API folgen.
In diesem Artikel schließen wir die Beschreibung unseres Konzepts zum Aufbau der Fensterschnittstelle von MQL-Programmen unter Verwendung der Strukturen von MQL ab. Ein spezialisierter grafischer Editor erlaubt es, das Layout, das aus den Basisklassen der GUI-Elemente besteht, interaktiv zu erstellen und es dann in die MQL-Beschreibung zu exportieren, um es in Ihrem MQL-Projekt zu verwenden. Hier stellen wir das interne Design des Editors und ein Benutzerhandbuch vor. Die Quellcodes sind beigefügt.
Der Artikel beschäftigt sich mit der Entwicklung von Indikatorpuffer-Objektklassen, abgeleitet vom abstrakten Pufferobjekt, um die Deklaration zu vereinfachen und mit Indikatorpuffern zu arbeiten, während gleichzeitig nutzerdefinierte Indikatorprogramme auf der Grundlage der Bibliothek DoEasy erstellt werden.
Im fünften Artikel, der sich auf die Schaffung eines Handelssignalmonitors bezieht, werden wir zusammengesetzte Signale betrachten und die notwendige Funktionalität implementieren. In früheren Versionen verwendeten wir einfache Signale, wie RSI, WPR und CCI, und wir führten auch die Möglichkeit ein, nutzerdefinierte Indikatoren zu verwenden.
In diesem Artikel beginnen wir mit der Entwicklung der Indikatorpufferklassen für die DoEasy-Bibliothek. Wir werden die Basisklasse des abstrakten Puffers erstellen, die als Grundlage für die Entwicklung verschiedener Klassentypen von Indikatorpuffern verwendet werden soll.
In diesem Artikel entwickeln wir das Beispiel eines Multisymbol- und Mehrperiodenindikators, der die Zeitreihenklassen der DoEasy-Bibliothek verwendet und das Chart eines ausgewählten Währungspaares in einem ausgewählten Zeitrahmen als Kerzen in einem Unterfenster anzeigt. Ich werde die Bibliotheksklassen ein wenig modifizieren und eine separate Datei erstellen, zum Speichern von Enumerationen für die Programmeingaben und für die Auswahl einer Kompilierungssprache.
Dieser Artikel beschreibt die Verbindung des grafischen Teils des Auto-Optimizers mit seinem logischen Teil. Er betrachtet den Prozess des Optimierungsstarts, von einem Tastenklick bis zur Aufgabenumleitung zum Optimierungsmanager.
Die Märkte brachen innerhalb eines Monats um mehr als 30% ein. Dies scheint der beste Zeitpunkt für die Prüfung von Expertenberatern mit Grid- und Martingal-Basis zu sein. Dieser Artikel ist eine ungeplante Fortsetzung der Serie "Entwicklung eines plattformübergreifenden Grid-EAs". Der aktuelle Markt bietet eine Gelegenheit, einen Stresstest für den Grid-EA zu arrangieren. Lassen Sie uns also diese Gelegenheit nutzen und unseren Expert Advisor testen.
Der Artikel befasst sich mit der Entwicklung eines einfachen Mehrperiodenindikators auf der Grundlage der DoEasy-Bibliothek. Wir verbessern die Klasse der Zeitreihen so, dass sie Daten aus beliebigen Zeitrahmen empfangen können, um sie in der aktuellen Diagrammperiode anzuzeigen.
Wir haben bereits früher die Schaffung einer automatischen Walk-Forward-Optimierung in Betracht gezogen. Dieses Mal werden wir zur internen Struktur des Auto-Optimizers übergehen. Der Artikel wird für all diejenigen nützlich sein, die mit dem erstellten Projekt weiterarbeiten und es modifizieren möchten, sowie für diejenigen, die die Programmlogik verstehen möchten. Der aktuelle Artikel enthält UML-Diagramme, die die interne Struktur des Projekts und die Beziehungen zwischen den Objekten darstellen. Er beschreibt auch den Prozess des Optimierungsstarts, enthält jedoch keine Beschreibung des Implementierungsprozesses des Optimizers.
In diesem Beitrag wird die neue Konzeption zur Beschreibung der Fenster-Schnittstelle von MQL-Programmen anhand der Strukturen von MQL weiter überprüft. Die automatische Erstellung einer GUI auf der Grundlage des MQL-Markups bietet zusätzliche Funktionalität für die Zwischenspeicherung und dynamische Generierung der Elemente und die Steuerung der Stile und neuen Schemata für die Verarbeitung der Ereignisse. Beigefügt ist eine erweiterte Version der Standardbibliothek von Steuerelementen.
Der Artikel befasst sich mit der Anwendung der DoEasy-Bibliothek zur Erstellung von Mehrsymbol- und Mehrperiodenindikatoren. Wir werden die Bibliotheksklassen auf die Arbeit mit Indikatoren vorbereiten und die Erstellung von Zeitreihen testen, die als Datenquellen in Indikatoren verwendet werden können. Wir werden auch das Erstellen und Versenden von Zeitreihen-Ereignissen implementieren.
In diesem Teil erweitern wir das System zur Suche und Bearbeitung von Handelssignalen und führen die Möglichkeit ein, benutzerdefinierte Indikatoren zu verwenden und Programmlokalisierung hinzuzufügen. Zuvor haben wir ein Basissystem für die Suche nach Signalen geschaffen, das jedoch auf einem kleinen Satz von Indikatoren und einem einfachen Satz von Suchregeln basierte.
Dieser Artikel schlägt ein neues Konzept zur Beschreibung der Fenster-Schnittstelle von MQL-Programmen vor, wobei die Strukturen von MQL verwendet werden. Spezielle Klassen transformieren das sichtbare MQL-Markup in die GUI-Elemente und erlauben es, diese zu verwalten, ihre Eigenschaften einzustellen und die Ereignisse in einer einheitlichen Weise zu verarbeiten. Es enthält auch einige Beispiele für die Verwendung des Markups für die Dialoge und Elemente einer Standardbibliothek.
Der Artikel befasst sich mit der Echtzeit-Aktualisierung von Zeitreihendaten und dem Senden von Meldungen über das Ereignis "New bar" an die Kontrollprogramm auf dem Chart aus allen Zeitreihen aller Symbole, um diese Ereignisse in benutzerdefinierten Programmen handhaben zu können. Die Klasse "New tick" wird verwendet, um die Notwendigkeit der Aktualisierung der Zeitreihen von Symbolen und Perioden zu bestimmen, die nicht dem aktuellen Chart entsprechen.
Im vorherigen Artikel haben wir den visuellen Teil der Anwendung sowie die grundlegende Interaktion der GUI-Elementen entwickelt. Diesmal fügen wir die interne Logik und den Algorithmus der Vorbereitung der Handelssignaldaten hinzu, sowie die Fähigkeit, Signale einzurichten, sie zu durchsuchen und auf dem Monitor zu visualisieren.
Der Artikel befasst sich mit der Entwicklung der Zeitreihenkollektion spezifizierter Zeitrahmen für alle im Programm verwendeten Symbole. Wir werden die Zeitreihenkollektion, die Methoden zur Parametereinstellung der Zeitreihenkollektion und das anfängliche Ausfüllen der entwickelten Zeitreihen mit historischen Daten erstellen.
Der Artikel bietet grundlegende Werkzeuge für die OLAP-Analyse von Testberichten in Bezug auf einzelne Durchläufe und Optimierungsergebnisse. Das Werkzeug kann mit Dateien im Standardformat (tst und opt) arbeiten und bietet auch eine grafische Schnittstelle. MQL-Quellcodes sind unten angefügt.
Dieser Artikel bietet eine weitere Beschreibung der Walk-Forward-Optimierung im MetaTrader 5-Terminal. In früheren Artikeln betrachteten wir Methoden zur Erstellung und Filterung des Optimierungsberichts und begannen mit der Analyse der internen Struktur der für den Optimierungsprozess verantwortlichen Anwendung. Der Auto-Optimizer ist als C#-Anwendung implementiert und verfügt über eine eigene grafische Oberfläche. Der fünfte Artikel ist der Erstellung dieser grafischen Oberfläche gewidmet.
Dieser Artikel befasst sich mit der Theorie und der praktischen Anwendung des Algorithmus zur Vorhersage von Zeitreihen, basierend auf der Support-Vektor-Methode. Er schlägt auch seine Implementierung in MQL vor und stellt Testindikatoren und Expert Advisor zur Verfügung. Diese Technologie ist noch nicht in MQL implementiert worden. Aber zuerst müssen wir uns mit der Mathematik dafür vertraut machen.
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.
Der Hauptzweck des Artikels besteht darin, den Mechanismus der Arbeit mit unserer Anwendung und deren Möglichkeiten zu beschreiben. Daher kann der Artikel als eine Anleitung zur Benutzung der Anwendung betrachtet werden. Er behandelt alle möglichen Fallstricke und Besonderheiten bei der Verwendung der Anwendung.
In diesem Artikel werden wir uns überlegen, die Listen der Bar-Objekte für jede verwendete Symbolperiode zu einem einzigen Symbol-Zeitreihen-Objekt zusammenzufassen. Auf diese Weise wird jedes Symbol ein Objekt haben, das die Listen aller verwendeten Symbolzeitreihen-Perioden speichert.
Dieser Artikel befasst sich mit der Theorie und der praktischen Anwendung des Algorithmus zur Vorhersage von Zeitreihen, basierend auf der empirischen Moduszerlegung. Er schlägt die MQL-Implementierung dieser Methode vor und stellt Testindikatoren und Expert Advisors vor.
Dieser Artikel startet eine neue Serie über das Erstellen der Bibliothek DoEasy zur einfachen und schnellen Programmentwicklung. Im aktuellen Artikel werden wir die Bibliotheksfunktionen für den Zugriff auf und die Arbeit mit den Zeitreihen der Symbole implementieren. Wir werden das Bar-Objekt erstellen, das die Haupt- und erweiterten Zeitreihendaten speichert, und Bar-Objekte in der Zeitreihenliste platzieren, um eine bequeme Suche und Sortierung der Objekte zu ermöglichen.
Im vorigen Artikel haben wir den Anwendungsrahmen geschaffen, den wir als Grundlage für alle weiteren Arbeiten verwenden werden. In diesem Teil werden wir mit der Entwicklung fortfahren: Wir werden den visuellen Teil der Anwendung erstellen und die grundlegende Interaktion der Oberflächenelemente konfigurieren.
Im vorherigen Teil haben wir die Implementierung des MySQL-Konnektors besprochen. In diesem Artikel wenden wir uns seiner Anwendung durch die Implementierung eines Dienstes zum Sammeln von Signaleigenschaften und des Programms zum Anzeigen ihrer Änderungen im Laufe der Zeit. Das implementierte Beispiel ist praktisch sinnvoll, wenn Nutzer Änderungen an Eigenschaften beobachten müssen, die auf der Webseite des Signals nicht angezeigt werden.
In diesem Artikel werden wir die Beschreibung des Konzepts des Handels mit schwebenden Anfragen vervollständigen und die Funktionen zum Entfernen von Pending-Orders sowie zur Änderung von Orders und Positionen unter bestimmten Bedingungen schaffen. Auf diese Weise werden wir über die gesamte Funktionalität verfügen, die es uns ermöglicht, einfache benutzerdefinierte Strategien bzw. EA-Verhaltenslogiken zu entwickeln, die unter benutzerdefinierten Bedingungen aktiviert werden.