Jeder Entwickler von Expert Advisors, ungeachtet seiner Programmierfähigkeiten, wird mit den gleichen Aufgaben und algorithmischen Problemen konfrontiert, die für einen sicheren Handelsprozess auf diese oder jene Weise gelöst werden müssen. Dieser Beitrag beschreibt die Möglichkeiten der 'Trading-Engine' CStrategy, die die Lösung dieser Aufgaben übernehmen und dem Nutzer geeignete Mechanismen zur Beschreibung seiner Handelsidee anbieten kann.
Der Beitrag erläutert die Erstellung des Seil-Indikators nach dem Buch von Erik L. Nayman The Small Encyclopedia of Trader. Dieser Indikator zeigt die Trendrichtung anhand berechneter Werte der Bären und Bullen für einen angegebenen Zeitraum. Im Artikel sind die Prinzipien der Erstellung und Berechnung des Indikators mit Code-Beispielen dargelegt. Auf Basis des Indikators wird ein Expert Advisor erstellt und alle äußeren Parameter werden optimiert.
Indem Sie die Umsetzungsdetails von Klassen/Funktionen in einer .ex5-Datei verbergen, können Sie Ihre Know-how-Algorithmen mit anderen Entwicklern teilen, gemeinsame Projekte in die Wege leiten und sie im Internet bewerben. Und während das Team von MetaQuotes keine Mühen scheut, um die direkte Vererbung von ex5-Bibliotheksklassen zu ermöglichen, setzen wir sie jetzt schon um.
Eine der populärsten Methoden zur Analyse von Märkten ist das Prinzip der Elliott-Wellen. Diese Analyse ist jedoch ziemlich kompliziert, sodass wir hierfür zusätzliche Tools verwenden müssen. Eines dieser Instrumente ist der automatische Marker. Dieser Beitrag beschreibt die Erzeugung eines automatischen Analyseinstruments der Elliott-Wellen in der MQL5-Sprache.
Dieser Beitrag skizziert kurz die Ansichten des Verfassers zu Indikatoren für Neuzeichnung, Indikatoren für Multi-Zeitrahmen sowie die Darstellung von Quoten mittels japanischer Kerzen. Es geht im Folgenden nicht um Programmier-Spezifika, sondern eher um eine allgemeine Betrachtung.
In diesem Beitrag werden verschiedene Besonderheiten in der Darstellung von Quoten analysiert, die im MetaTrader Client-Terminal vorhanden sind. Dies ist ein allgemeines Thema, es geht hier also nicht um Programmierung.
Der Marktpreis wird aus einer stabilen Balance zwischen Angebot und Nachfrage geformt, die ihrerseits von diversen wirtschaftlichen, politischen und psychologischen Faktoren abhängen. Unterschiede in der Natur und den Ursachen der Auswirkungen dieser Faktoren machen es schwierig, alle Komponenten direkt zu betrachten. Dieser Beitrag beschreibt einen Versuch, den Marktpreis basierend auf einem ausgearbeiteten Regressionsmodell zu prognostizieren.
Zusätzlich zur Erstellung von neuronalen Netzwerken ermöglicht das Softwarepaket von NeuroSolutions den Export dieser Netzwerke als DLLs. Dieser Beitrag beschreibt den Erstellprozess eines neuronalen Netzwerks, der Erzeugung einer DLL und der Verbindung dieser DLL mit einem Expert Advisor für den Handel in MetaTrader 5.
Nachdem ich den vorigen Beitrag über eine halb-automatischen Expert Advisor mit grafischer Benutzerschnittstelle verfasst hatte, hat sich herausgestellt, dass es durchaus wünschenswert ist, diese Schnittstelle noch mit einigen neuen Funktionalitäten für komplexere Indikatoren und Expert Advisors aufzupeppen. Nachdem ich mich mit den MQL5 Standard Library-Klassen vertraut gemacht hatte, habe ich neue Widgets implementiert. In diesem Beitrag geht es also um das Design und die Implementierung neuer MQL5 grafischer Benutzerschnittstellen-Widgets, die in Indikatoren und Expert Advisors verwendet werden können, und zwar: CChartObjectSpinner, CChartObjectProgressBar und CChartObjectEditTable.
In diesem Beitrag geht es sowohl um traditionelle als auch um neuartige Mittelwertbildungsalgorithmen verpackt in einfachste Klassen mit jeweils nur einer Datenart. Sie sind zur universellen Verwendung bei nahezu jeder Indikatorentwicklung gedacht. Ich hoffe, dass die vorgeschlagenen Klassen sich als gute Alternative zu den „unhandlichen“ Aufrufen benutzerdefinierter und technischer Indikatoren erweisen werden.
Die Programmiersprache MQL5 kann helfen, Probleme auf einer ganz neuen Ebene zu lösen. Selbst Aufgaben, für die es bereits eine Lösung gibt, können dank der objektorientierten Programmierung auf ein höheres Niveau gebracht werden. In diesem Beitrag geht es um ein besonders einfaches Beispiel für die Überprüfung des Auftretens eines neuen Balkens in einem Diagramm, das in ein leistungsfähiges und vielseitiges Hilfsmittel verwandelt wurde. Was ist das für ein Hilfsmittel? Das verrät dieser Artikel.
Dieser Beitrag beschäftigt sich mit dem Objekt-orientierten Ansatz, um das zu machen, was wir bereits im Artikel "Schrittweiser Leitfaden zum Schreiben eines Expert Advisors in MQL5 für Anfänger" getan haben - einen einfachen Expert Advisor erstellen. Die meisten Menschen glauben, das sei schwer, doch ich darf Ihnen versichern: wenn Sie diesen Beitrag gelesen haben, dann können Sie Ihren eigenen Objekt-orientierten Expert Advisor schreiben.
In diesem Beitrag geht es um das Problem der Berechnung des Gesamtvolumen an Positions nach festgelegtem Symbol und magischer Zahl. Die hier vorgestellte Methode verlangt nur den minimal notwendigen Teil der Abschluss-History, ermittelt den nächsten Zeitpunkt, als die Gesamtposition gleich Null war und führt Berechnungen an den jüngsten Abschlüssen aus. Des Weiteren wird hier ebenfalls die Arbeit mit globalen Variablen des Client-Terminals behandelt.
Dieser Beitrag beschreibt die Verwendung der TesterWithDrawal() Funktion zur Abschätzung von Risiken in Handelssystemen, die mit der Entnahme eines gewissen Teils des Vermögens während der Operationen zu tun haben. Zusätzlich wird die Auswirkung dieser Funktion auf den Algorithmus zur Berechnung der Inanspruchnahme von Eigenkapital im Strategie-Tester beschrieben. Diese Funktion ist bei der Optimierung von Parametern Ihres Expert Advisors sehr sinnvoll.
Dieser Beitrag beschreibt die Verwendung der Hauptfunktionalitäten der MQL5 Standard Library Handelsklassen beim Schreiben des Expert Advisors, die das Schließen und die Änderung von Positions, Platzierung und Löschung von pending Orders sowie die Prüfung nach Margen vor dem Platzieren eines Handels implementieren. Es wird auch gezeigt, wie man mit Hilfe von Handelsklassen Details zu Orders und Abschlüssen bekommen kann.
Das Konzept der Diversifizierung von Vermögenswerten auf Finanzmärkten ist ziemlich alt und war für Neueinsteiger im Handel immer interessant. In diesem Beitrag stellt der Verfasser eine äußerst einfache Vorgehensweise für die Erstellung eines Expert Advisors vor, der mit mehreren Währungen handelt, um diese Strömung von Handelsstrategien vorzustellen.
Regeln für ein Handelssystem zu finden und sie in einen Expert Advisor zu programmieren, ist nur die Hälfte der Arbeit. Irgendwie muss man ja auch die Abläufe des Expert Adivsors kontrollieren, während er die Ergebnisse des Handels anhäuft. Dieser Beitrag beschreibt einen Ansatz, der die Leistung eines Expert Advisors durch Erzeugung eines Feedbacks steigert, das die Saldo-Gefällekurve misst.
Zur Entwicklung eines Expert Advisors zur Teilnahme am Automatisierten Trading-Wettbewerb 2010, nehmen wir ein Template eines fertigen Expert Advisors her. Selbst noch unerfahrene MQL5 Programmierer können diese Aufgabe bewältigen, da ja für die Strategien die grundlegenden Klassen, Funktionen und Templates schon entwickelt sind. Daher genügt es, nur ein bisschen Code zur Implementierung Ihres Trading-Konzepts zu schreiben.
Der MetaEditor 5 verfügt über ein Feature zur Fehlersuche. Doch Wenn Sie Ihre MQL5 Programme schreiben, möchten Sie oft nicht nur einzelne Werte anzeigen, sondern alle Meldungen sehen können, die während des Tests und der Online-Arbeit auftauchen. Wenn die Inhalte der Protokolldatei groß sind, dann liegt es nahe, die rasche und schnelle Abfrage der benötigten Meldung zu automatisieren In diesem Beitrag geht es um das Finden von Fehlern in den MQL5 Programmen sowie um Methoden der Protokollierung. Darüber hinaus werden wir die Protokollierung in Dateien vereinfachen und LogMon kennen lernen, ein einfaches Programm zur bequemen Ansicht von Protokollen.
In diesem Beitrag wird ein Beispiel für die Erstellung einer Klasse zur Verarbeitung von Meldungen des Handelsservers sowie aller während der Laufzeit des betreffenden MQL-Programms eintretenden Fehler. Wenn Sie diesen Artikel lesen, erfahren Sie, wie in MQL5 mit Klassen und Objekten gearbeitet wird. Zugleich ist dies ein handliches Werkzeug für den Umgang mit Fehlern, das Sie außerdem passgenau auf Ihre jeweiligen Bedürfnisse zuschneiden können.
Dieser Beitrag ist den Feinheiten der Übertragung in MQL4 programmierter Kurskonstruktion nach MQL5 gewidmet. Um die Übertragung von Indikatorberechnungen aus MQL4 nach MQL5 zu vereinfachen, empfiehlt sich die Funktionsbibliothek mql4_2_mql5.mqh. Ihre Verwendung wird am Beispiel der Übertragung der Indikatoren MACD, Stochastik und RSI veranschaulicht.
In diesem Beitrag wird ein Beispiel für die Programmierung eines Schlangenspiels vorgestellt. In MQL5 wird die Programmierung von Spielen in erster Linie durch die Ereignisverarbeitungsroutinen ermöglicht. Die objektorientierte Programmierung ist dabei eine große Hilfe. Sie werden in diesem Artikel neben den Ereignisverarbeitungsroutinen auch Anwendungsbeispiele für die Klassen der Standardbibliothek von MQL5 sowie Einzelheiten zu regelmäßig wiederkehrenden Funktionsaufrufen kennen lernen.
In diesem Beitrag wird das Verfahren zum Austausch von Informationen zwischen dem Expert-System und ICQ-Nutzern vorgestellt und anhand einiger Beispiele veranschaulicht. Die bereitgestellten Materialien können für alle von Interesse sein, die Handelsinformationen unabhängig von Ihrem stationären Ausgabegerät mithilfe einer ICQ-Instanz auf Ihrem Mobiltelefon oder PDA empfangen möchten.
Dieser Beitrag behandelt die Frage des Problems der Entwicklung aktiver Bedienfelder in MQL5. Die Elemente der Benutzeroberfläche werden von dem Ereignisverarbeitungsmechanismus gesteuert. Darüber hinaus besteht die Möglichkeit zur flexiblen Anpassung der Eigenschaften der Bedienfelder. Aktive Bedienfelder ermöglichen die Arbeit mit Positionen sowie die Platzierung, Änderung und Löschung von Bestensaufträgen und Pending Orders.
Wenn man das Internet durchsucht findet man leicht eine Menge Strategien mit einer Vielzahl an Empfehlungen. Gehen wir die Sache aus dem Blickwinkel eines Insiders an und betrachten uns den Vorgang der Erzeugung einer Strategie auf Grundlage verschiedener Zeitzonen in unterschiedlichen Kontinenten.
All diejenigen, die sich mit Stimmungen auf dem Markt auskennen, kennen den MACD Indikator (seiner voller Name lautet Gleitender Durchschnitt Konvergenz/Divergenz) -das leistungsstarke Tool zur Analyse von Kursbewegungen, das von Händlers seit dem ersten Auftauchen von Computer-gestützten Analysemethoden verwendet wird. Dieser Beitrag beschäftigt sich mit möglichen Veränderungen des MACD und ihrer Implementierung in einen Indikator mit der Möglichkeit, zwischen den Veränderungen graphisch hin- und her zu wechseln.
Die komplexen Codes bestehen aus einer Reihe einfacher Codes. Kennt man diese, dann sieht alles gleich nicht mehr so kompliziert aus. In diesem Beitrag beschäftigen wir uns mit der Erzeugung eines Indikators mit mehreren Indikator-Buffern. Als Beispiel wird hierzu der Aroon-Indikator detailliert analysiert und zwei unterschiedliche Versionen dieses Codes präsentiert.
Durch Erstellung eines Beispielprogramms von visuellen Designs, zeigen wir, wie man in MQL5 Klassen entwirft und baut. Dieser Beitrag richtet sich an Programmierer im Anfängerstadium, die auf MT5 Anwendung arbeiten. Wir schlagen hier eine einfache und leicht zu verstehende Technologie zur Erzeugung von Klassen vor, ohne dass man dazu tief in den Theorie des Objekt-orientieren Progammierens einsteigen muss.
Möchten Sie den Export von Angeboten aus MetaTrader 5 in Ihre eigene Anwendung aktualisieren? Mit der MQL5-DLL-Verbindung können Sie solche Lösungen erschaffen! Dieser Beitrag zeigt Ihnen eine der Möglichkeiten zum Exportieren von Angeboten aus MetaTrader 5 in .NET-Anwendungen. Für mich war es interessanter, sinnvoller und einfacher, den Export von Angeboten mithilfe dieser Plattform umzusetzen. Leider wird .NET von Version 5 weiterhin nicht unterstützt, sodass wir wie in den alten Tagen win32 dll mit .NET-Unterstützung als Zwischenlösung nutzen werden.
Kaum ein Händler dürfte nicht auf dem Markt aktiv sein, um Geld zu verdienen, obwohl ein sich gewisser Teil vielleicht auch an der Teilnahme am Handelsgeschehen selbst erfreut. Aber Freude daran vermittelt nicht nur der manuelle Handel. Die Entwicklung automatischer Handelssysteme kann genauso begeisternd sein. Die Erstellung eines automatischen Expert-Systems für den Handel kann ein ebenso fesselndes Erlebnis sein, wie einen Krimi zu lesen.
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.
Der zweite Beitrag der Serie "Benutzerdefinierte grafische Bedienelemente" führt eine Bibliothek von Bedienelementen für den Umgang mit den wichtigsten Problemen ein, die bei der Interaktion zwischen einem Programm (Expert Advisor, Script, Indikator) und einem Benutzer auftreten. Die Bibliothek enthält zahlreiche Klassen (CInputBox, CSpinInputBox, CCheckBox, CRadioGroup, CVSсrollBar, CHSсrollBar, CList, CListMS, CComBox, CHMenu, CVMenu, CHProgress, CDialer, CDialerInputBox, CTable) und Beispiele für ihren Gebrauch.
Welcher Händler würde nicht alles für die Möglichkeit geben, das Vorliegen eines Trends zu jedem beliebigen Zeitpunkt exakt zu ermitteln? Das ist möglicherweise der Heilige Gral, nach dem alle suchen. In diesem Beitrag werden wir verschiedene Wege zur Ermittlung eines Trends betrachten. Genauer gesagt sehen wir uns an, wie wir mithilfe von MQL5 einige klassische Arten der Trendermittlung programmieren können.
In diesem Beitrag geht es um die Erstellung mehrfarbiger Indikatoren bzw. um die Umwandlung der vorhandenen in mehrfarbige. MQL5 ermöglicht die Darstellung der Informationen in der angemessenen Form. Es ist jetzt nicht nötig, sich dutzende Diagramme mit Indikatoren anzuschauen und Analysen der Oszillatoren RSI oder Stochastik durchzuführen, stattdessen ist es besser, die Kerzen einfach je nach Indikatorwert in unterschiedlichen Farben abzubilden.
Die Grundregel für Händler: Lass‘ Gewinne wachsen, trenn‘ dich von Verlusten! In diesem Beitrag betrachten wir eine der grundlegenden Techniken zur Befolgung dieser Regel: die Verschiebung der schützenden Verlustbegrenzung (Stop Loss Level) nach einer Gewinnsteigerung einer Position, m. a. W.: den Trailing Stop Level, die nachlaufende Stop-Grenze. Sie finden das schrittweise Vorgehen zur Einrichtung einer Klasse zur nachlaufenden Verlustbegrenzung bei den Indikatoren SAR und NRTR. Jedermann ist in der Lage, diese Trailing Stops in die eigenen Expert-Systeme einzufügen oder sie eigenständig zur Überwachung der Positionen des eigenen Kontos zu verwenden.
Die Programmierung des Expert Advisors in MQL5 ist einfach und kann problemlos erlernt werden. In diesem Leitfaden werden nacheinander die zum Schreiben eines einfachen Expert Advisors auf Grundlage einer entwickelten Handels-Strategie erforderlichen, grundlegenden Schritte erklärt. Es werden hier die Struktur eines Expert Advisors, die Verwendung eingebauter technischer Indikatoren und Handels-Funktionen, die Details des Fehlersuch(Debug)-Modus und die Verwendung des Strategie-Testers präsentiert.
In diesem Beitrag erfahren Sie, wie Sie die für das Funktionieren eines Handelssystems erforderlichen Handelssignale erhalten. Die Beispiele zur Erzeugung von 20 Handelssignalen werden hier als einzelne benutzerdefinierte Funktionen aufgeführt, die beim Anlegen von Expert Advisors verwendet werden können. Zu Ihrer Bequemlichkeit werden alle in dem Beitrag verwendeten Funktionen in einer einzigen mqh-Include-Datei zusammengefasst, die leicht mit einem künftigen Expert Advisor verknüpft werden kann.
Die Entwicklung von Handelsstrategien konzentriert sich in erster Linie auf die Suche nach Mustern für den Marktein- und -austritt sowie auf die Aufrechterhaltung von Positionen. Wenn wir in der Lage sind, einige Muster in Regeln für den automatisierten Handel zu gießen, steht der Händler vor der Frage der Berechnung der Menge der Positionen, der Größe der Margen sowie der Aufrechterhaltung eines soliden Bestandes an verpfändbaren Mitteln zur Sicherung offener Positionen im automatisierten Handel. In diesem Beitrag verwenden wir die Programmiersprache MQL5 zur Konstruktion einfacher Beispiele für die Durchführung dieser Berechnungen.
In diesem Beitrag geht es um die Erzeugung von zwei Indikatoren: dem Kursschwankung-Indikator, der das Chart der Kursschwankungen des Kurses zeichnet und dem Kursschwankungs-"Kerzen" Indikator, der "Kerzen" mit der angegebenen Anzahl von Kursschwankungen zeichnet. Jeder dieser Indikatoren schreibt die eingehenden Kurse in eine Datei und verwendet die gespeicherten Daten dann nach einem Neustart des Indikators (diese Daten können auch von anderen Programmen verwendet werden).
In MQL4 gibt es 6 - in MQL5 18 Zeichnungsstile. Aus diesem Grund ist ein Beitrag zur Präsentation der Zeichnungsstile von MQL5 durchaus angebracht. Im Folgenden werden daher die Zeichnungsstile in MQL5 im Einzelnen betrachtet. Darüber hinaus erzeugen wir einen Indikator zur Demonstration, wie man diese Zeichnungsstile nutzt und die graphische Darstellung (Plot) verfeinert.