Artikel zum Programmieren in MQL5
2016.01.25
Dieser Beitrag liefert Beschreibungen der neuen Features im aktualisierten MQL5 Wizard. Die modifizierte Architektur von Signalen ermöglicht die Erstellung von Handelsrobotern, die auf der Kombination verschiedener Marktmuster beruhen. Das Beispiel in diesem Beitrag erläutert das Verfahren zur interaktiven Erstellung eines Expert Advisors.
2016.01.25
Die vorliegende Anleitung handelt sich um den Signale Service, Handelssignalen und eine umfassende Herangehensweise an die Auswahl eines Signals, das den Kriterien der Wirtschaftlichkeit, des Risikos, der Aktivität des Handels und der Arbeit auf unterschiedlichen Kontotypen und Symbolen entsprechen würde.
2016.01.18
25-30% von allen Crashlogs, die vom Benutzer kommen, entstehen durch die Ausführungsfehler der Funktion, die aus dem benutzerdefinierten dll importiert werden.
2016.01.18
Über 60 Artikel sind auf der Webseite verfügbar
2016.01.18
Es werden die häufigsten Fehler betrachtet, die Programmieranfänger beim Testen ihrer "superprofitable" Handelssystems betreffen, die sie erstellt haben. Es werden Beispiele gegeben, die beim Testen fantastische Ergebnisse geben, aber im wirklichen Handeln führen nur zu Verlusten.
2016.01.18
Der Artikel widmet sich dem Problem bei einer Neuberechnung des Indikator-Wertes im Client-Terminal MetaTrader 4, wenn das nullwertige Bar sich ändert. Es handelt sich da um die allgemeine Idee, dass zusätzliche Programm-Elementen im Indikator-Code hinzugefügt werden können, welche die Wiederherstellung des Programmen-Codes ermöglichen, der bis zu mehrmaligen Neuberechnungen gespeichert werden muss.
2016.01.18
Im Artikel wurden die Schnelligkeit und Ergebnisse der Advisors-Optimierung mit den genetischen Algorithmen im Vergleich zur direkten Sortierung durchgeführt.
2016.01.18
Genetische Algorithmen sind für die Lösung der Optimierungsaufgaben vorgesehen. Als Beispiel für eine solche Aufgabe, können wir das Lernen in Neuronet nehmen, das heißt, es werden solche Gewichtswerte ausgewählt, die den minimalen Fehler zulassen. Im Grunde des genetischen Algorithmus liegt ein Zufallssuchverfahren.
2016.01.18
Im Artikel wurden Formel und die Berechnungsmethode der Daten angeboten, die im Testerbericht angezeigt werden.
2016.01.15
MQL5 Programme automatisieren nicht nur Routineberechnungen, sondern können auch vollfunktionale graphische Umgebungen erzeugen. Die Funktionen zur Erzeugung wirklich interaktiver Kontrollen sind nun virtuell genauso vollwertig wie in in klassischen Programmiersprachen. Wenn Sie ein voll funktionsfähiges, eigenständiges Programm in MQL5 schreiben wollen, dann sollten Sie seine Ressourcen verwenden. Programme mit Ressourcen sind leichter zu pflegen und zu verbreiten.
2016.01.15
Worin unterscheiden sich die drei Testmethoden in MetaTrader 5, und worauf sollte man ganz besonders achten? Wir laufen Tests eines Expert Advisors, der gleichzeitig auf verschiedenen Finanzinstrumenten handelt, ab? Wann und wie werden Indikatorwerte während der Tests berechnet und wie werden die Ereignisse behandelt? Wie synchronisiert man Bars aus unterschiedlichen Instrumenten während der Tests im Mosud "nur offene Kurse"? Der vorliegende Artikel versucht all diese und weitere Fragen zu beantworten.
2016.01.15
Eine Überwachung des aktuellen Status eines Handels-Account bedeutet offene Positions und Order kontrollieren zu können. Bevor ein Handelssignal zu einem Abschluss wird, sollte es vom Client-Terminal als Anfrage zum Handels-Server geschickt werden, wo es in eine Order-Warteschlange gestellt wird und auf seine Bearbeitung wartet. Eine Anfrage vom Handels-Server annehmen, sie löschen, wenn sie abläuft oder auf ihrer Grundlage einen Abschluss ausführen - alle diese Handlungen haben Handelsereignisse zur Folge, und der Handels-Server informiert das Terminal entsprechend darüber.
2016.01.15
Einen robusten Handelsroboter zu erzeugen geht nicht ohne das Verständnis der Mechanismen des MetaTrader 5 Handelssystems. Der Client-Terminal erhält vom Handelsserver Informationen über die Positions, Orders und Abschlüsse. Um diese Daten mittels MQL5 entsprechend verarbeiten zu können, ist ein gutes Verständnis der Interaktion zwischen dem mql5-Programm und dem Client-Terminal unabdingbar.
2016.01.15
Dieser Beitrag erklärt den schrittweisen Vorgang zur Identifizierung und Lösung von Fehlern im Code sowie alle Schritte für das Testen und die Optimierung der Expert Advisor Eingabeparameter. Sie lernen hier, wie Sie den Strategie-Tester des MetaTrader 5 Client-Terminals verwenden, um das beste Symbol und Set an Eingabeparameter für Ihren Expert Advisor zu finden.
2016.01.14
Dieser Beitrag möchte eine Variante eines adaptiven Systems vorstellen, die aus vielen Strategien besteht, von denen jede ihre eigenen "virtuellen" Handels-Operationen durchführt. Echter Handel wird in Übereinstimmung mit den Signalen der in diesem Augenblick gewinnbringendsten Strategie ausgeführt. Dank der Verwendung des Objekt-orientierten Ansatzes, der Klassen zur Arbeit mit Daten und der Handelsklassen der Standardbibliothek, macht die Architektur des Systems einen einfachen und aufrüstbaren Eindruck. Jetzt kann man leicht adaptive Systeme mit Hunderten von Handelsstrategien erzeugen und analysieren.
2016.01.14
Über 50 Artikel sind auf der Webseite verfügbar
2016.01.14
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.
2016.01.14
Es gibt eine Menge Maßnahmen zur Bestimmung der Effektivität und Profitabilität eines Handelssystems. Doch unterziehen Händler gerne jedes System einem neuen 'Crashtest'. Dieser Beitrag befasst sich damit, wie Statistiken, die auf Effektivitätsmaßnahmen beruhen, auf dieMetaTrader5 Plattform angewendet werden können. Er behandelt die Klasse zur Umwandlung der Statistik-Interpretation nach Abschlüssen bis hin zu der, die der im Buch "Statistika dlya traderov" ("Statistics for Traders") von S.V. Bulashev angebotenen Beschreibung nicht widerspricht. Und er enthält ein Beispiel einer angepassten Optimierungsfunktion.
2016.01.13
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.
2016.01.13
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.
2016.01.12
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.
2016.01.12
In diesem Beitrag werden die Grundlagen für die Erstellung von Algorithmen und Elementen für Handelssysteme zusammengefasst und systematisch geordnet. Es geht hier um die Entwicklung eines Algorithmus‘ für ein automatisches Handelssystem (im Weiteren: das Expert-System). Als Beispiel ziehen wir die Klasse CExpertAdvisor heran, sie kann zur schnellen und einfachen Entwicklung von Handelssystemen verwendet werden.
2016.01.12
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.
2016.01.12
In MQL5 können wir einen Indikator sowohl aus dem Nichts als auch auf der Grundlage eines anderen bereits vorhandenen, in das Ausgabegerät integrierten oder selbst entwickelten Indikators programmieren. Und auch dabei haben wir zwei Möglichkeiten: einen Indikator durch Hinzufügen neuer Berechnungen und grafischer Möglichkeiten zu verbessern, oder mithilfe der Funktionen iCustom() oder IndicatorCreate() einen in das Ausgabegerät integrierten bzw. einen selbst entwickelten Indikator zu verwenden.
2016.01.12
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.
2016.01.12
Die Programmiersprache MQL5 ist in erster Linie auf die Schaffung automatisierter Handelssysteme und komplexer Hilfsmittel für technische Aktienanalysen angelegt. Darüber hinaus ermöglicht es uns jedoch auch die Entwicklung interessanter Informationssysteme zur Verfolgung von Marktlagen und verschafft uns eine Rückkopplung mit dem Händler. Dieser Beitrag beschreibt die Bestandteile der Standardbibliothek von MQL5 und liefert Beispiele für ihre praktische Verwendung, um diese Ziele zu erreichen. Außerdem liefert er ein Beispiel für die Verwendung von Google Chart API zur Erstellung von Diagrammen.
2016.01.12
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.
2016.01.11
MetaTrader 4 erfreute sich bei Händlern auf der ganzen Welt großer Beliebtheit und es sah lange so aus, als wären alle nun wunschlos glücklich. Mit seiner hohen Arbeitsgeschwindigkeit, seiner robusten Zuverlässigkeit, einem Riesenfeld an Möglichkeiten zum Schreiben von Indikatoren, Expert Advisors und informierten Handelssystemen sowie seiner Fähigkeit, aus über 100 Maklern auswählen zu können, hat sich dieses Terminal deutlich vom Rest abgesetzt. Doch die Zeit steht nicht still und deshalb stehen wir jetzt vor der Wahl: MetaTrade 4 oder MetaTrade 5? In diesem Beitrag sollen die wichtigsten Unterschiede dieses Terminals der 5. Generation aus aktuellem Blickwinkel beschrieben werden.
2016.01.11
Über 40 Artikel sind auf der Webseite verfügbar
2016.01.11
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).
2016.01.11
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.
2016.01.11
Mit der neuen, zur Verfügung stehenden Version der MQL Programmiersprache hat sich nicht nur der Ansatz im Umgang mit Indikatoren verändert, sondern es haben sich auch neue Möglichkeiten ihrer Erzeugung ergeben. Zudem hat man jetzt noch mehr Flexibilität bei der Arbeit mit den Indikator-Buffern - man kann jetzt die gewünschte Richtung der Indizierung angeben und genau so viele Indikatorwerte bekommen, wie man möchte. In diesem Beitrag werden die einfachen Methoden zum Aufruf von Indikatoren und Abruf von Daten aus dem Indikator-Buffer erklärt.
2016.01.11
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.
2016.01.11
Als Anfänger erscheint einem jedes neue Thema immer kompliziert und schwer. Bekannte Themen sind uns klar und stellen kein Problem mehr dar. Dabei vergessen wir jedoch oft, dass jeder immer mal wieder komplett bei Null anfangen muss, das gilt selbst für unsere Muttersprache. Und nicht anders ist mit der MQL5 Programmiersprache, die eine große Auswahl bietet, wie man seine ganz persönlichen Handelsstrategien entwickeln kann - man kann sie ausgehend von grundlegenden Konzepten und einfachsten Beispielen erlernen. Dieser Beitrag erklärt die Interaktion eines technischen Indikators mit dem MetaTrader 5 Client-Terminal am Beispiel des einfachen, benutzerdefinierten SMA-Indikators (einfacher gleitender Mittelwert).
2016.01.11
In MQL5 werden alle Objekte standardmäßig per Verweis übertragen, doch gibt es eine Möglichkeit, Objektzeiger zu verwenden. Dazu muss jedoch eine Prüfung des Zeigers durchgeführt werden, da das Objekt u.U. nicht initialisiert ist. In diesem Fall wird das MQL5-Programm mit schwerwiegendem Fehler beendet und entladen. Die automatisch erzeugten Objekte verursachen diesen Fehler nicht, sind in diesem Sinn also recht sicher. In diesem Beitrag versuchen wir den Unterschied zwischen Objektverweis und Objektzeiger zu erklären und werfen einen Blick darauf, wie man sichere Codes schreibt, die diese Zeiger verwenden.
2016.01.11
Die im MetaTrader 5 Client Terminal enthaltene MetaQuotes Programming Language 5 (MQL5) bietet im Vergleich zu MQL4 zahlreiche neue Möglichkeiten und bessere Performance. Dieser Beitrag hilft Ihnen dabei, sich mit dieser neuen Programmiersprache vertraut zu machen. In diesem Beitrag werden einfache Beispiele zum Schreiben eines Expert Advisors und eines benutzerdefinierten Indikators vorgestellt. Wir werden auch auf einige Details der MQL5-Sprache eingehen, die notwendig sind, um diese Beispiele zu verstehen.
2016.01.11
Um Werte eines integrierten oder benutzerdefinierten Indikators in einem Expert Advisor zu erhalten, sollte zuerst sein Handle mithilfe der entsprechenden Funktion erstellt werden. Die Beispiele in diesem Beitrag zeigen, wie diese und jene technischen Indikatoren während der Erstellung Ihrer eigenen Programme genutzt werden können. Dieser Beitrag beschreibt Indikatoren, die in MQL5 geschrieben werden. Er richtet sich an jene, die nicht viel Erfahrung in der Entwicklung von Handelsstrategien haben, und liefert einfache und klare Arten der Arbeit mit Indikatoren mithilfe der bereitgestellten Bibliothek von Funktionen.
2016.01.11
Jedes Objekt, ob es sich um ein benutzerdefiniertes Objekt, ein dynamisches Array oder ein Array von Objekten handelt, wird im MQL5-Programm auf seine festgelegte Art erstellt und gelöscht. Oft sind bestimmte Objekte Teil anderer Objekte und die Reihenfolge der Löschung von Objekten bei der Deinitialisierung wird besonders wichtig. In diesem Beitrag finden Sie einige Beispiele, die die Mechanismen der Arbeit mit Objekten behandeln.
2016.01.11
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.
2016.01.11
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.
2016.01.11
Was ist ein Indikator? Es ist ein Satz berechneter Werte, die auf praktische Weise auf dem Bildschirm angezeigt werden sollen. Sätze von Werten werden in Programmen als Arrays dargestellt. Somit bedeutet das Erstellen eines Indikators, einen Algorithmus zu schreiben, der bestimmte Arrays bearbeitet (Preis-Arrays) und die Ergebnisse der Bearbeitung für andere Arrays (Indikator-Arrays) aufzeichnet. Durch die Beschreibung der Erstellung des True Strength Index zeigt der Autor, wie Indikatoren in MQL5 geschrieben werden.
2016.01.11
Ich werde nicht alle neuen Möglichkeiten und Funktionen des neuen Terminals und der Sprache aufzählen. Sie sind zahlreich und einige der Neuheiten sind eine Diskussion in einem eigenen Beitrag wert. Auch gibt es hier keinen Code, der mit objektorientierter Programmierung geschrieben wurde. Das Thema ist zu wichtig, um es nur im Kontext zusätzlicher Vorteile für Entwickler zu erwähnen. In diesem Beitrag gehen wir auf Indikatoren, ihre Struktur, Zeichnung, Typen und Programmierdetails im Vergleich zu MQL4 ein. Ich hoffe, dass dieser Beitrag für Einsteiger und erfahrene Entwickler hilfreich sein wird. Vielleicht entdeckt auch jemand etwas Neues.
2016.01.11
Dies ist nur ein kurzer Überblick über MetaTrader 5. Ich kann nicht alle neuen Funktionen des Systems in so kurzer Zeit beschreiben. Die Tests begannen am 09.09.2009. Das ist ein symbolisches Datum und ich bin sicher, dass es eine Glückszahl werden wird. Es sind ein paar Tage vergangen, seit ich die Beta-Version des MetaTrader-5-Terminals und MQL5 bekommen habe. Ich konnte noch nicht alle Funktionen ausprobieren, doch ich bin jetzt schon beeindruckt.
2015.12.23
Trading ist vor allem eine Wahrscheinlichkeitsrechnung. Und das Sprichwort «Faulheit ist der Motor für den Fortschritt» zeigt uns den Grund, warum all diese Indikatoren und Handelssysteme entwickelt worden sind. Daraus folgt, dass der größte Teil von neuen Tradern schon die entwickelten Handelstheorien lernt. Aber es gibt immer noch Markt-Geheimnisse, und Werkzeuge für die Analyse der Preisbewegungen, existieren meistens in der Form von realisierten technischen Indikatoren, mathematischen und statistischen Paketen. Vielen Dank Bill Williams für seinen Beitrag in der Marktbewegungen-Theorie. Aber man soll damit nicht aufhören.
2015.12.23
Über 20 Artikel sind auf der Webseite verfügbar
2015.12.23
Der Artikel betrachtet die Verwendung der technischen Indikatoren beim Programmieren in der MQL4-Sprache.
2015.12.23
Betrachtet wird die Notwendigkeit und allgemeine Grundlagen zum Aufbau des Programmkomplexes, der einen Experte, einen Skript und einen Indikator enthält.
2015.12.23
Der Artikel ist den bequemen und praktischen Speichermethoden und der Informations-Darstellung gewidmet. Hier werden Alternativen zur Standard-Log-Datei des Terminals und der Funktion Comment() betrachtet.
2015.12.23
Der Artikel widmet sich der Realisierung der Charts ohne verpasste Bars.
2015.11.30
Der Artikel beschreibt die unterschiedlichen Arten der Kontrolle über den geöffneten Positionen und Pending Orders und soll bei der Erstellung eines Expertes helfen.