Im Artikel wurde der Prozess der Entwicklung und der Realisierung des Klasse-Signalgebers auf der Grundlage der Pivots dargestellt — der Wendeebenen. Auf der Grundlage dieser Klasse wird die Strategie unter Verwendung der Standardbibliothek gebaut. Es werden die Möglichkeiten der Entwicklung der Pivots-Strategie durch das Hinzufügen der Filter betrachtet.
Wir fahren fort mit der Entwicklung eines mehrzeiligen Textfeldes. Diesmal ist es unsere Aufgabe einen Algorithmus für den Fall, dass der Text die Breite des Textfeldes überschreitet, zu entwickeln oder, umgekehrt, einen Zeilenumbruch zu entfernen, wenn die möglich ist.
In diesem Artikel erstellen wir auf der Basis einer Reihe von Standardindikatoren einen universellen Trend. Ein zusätzliches grafisches Interface erlaubt das Auswählen des Indikatortyps mit seinen Parametern. Der Indikator erscheint in seinem eigene Fenster mit einer Reihe von farbigen Icons.
Wir fahren fort neue Elemente der Tabellendarstellung hinzuzufügen: Datensortierung, Handhabung der Zahl der Spalten und Zeilen, Setzen des Zelltyps, um dort auch Steuerelemente eintragen zu können.
Wir fahren fort neue Elemente der Tabellendarstellung hinzuzufügen (CCanvasTable). Eine Tabelle ist nun in der Lage: die Zeile unter der Maus hervorzuheben; eine Liste von Icons einer Zelle zuzuweisen und eine Methode aus der Liste ein Icon auszuwählen; die Möglichkeit während der Laufzeit Text einer Zelle zu setzen, zu verändern und noch mehr.
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.
Bis heute war CTable die fortschrittlichste Tabellenart überhaupt in der Bibliothek. Diese Tabelle ist zusammengestellt aus editierbaren Boxen des Typs OBJ_EDIT Typ, aber eine weitere Entwicklung ist problematisch. Mit dem Ziel einer maximale Leistungsfähigkeit, wäre es besser, eine andere Tabellendarstellung vom Typ CCanvasTable zu entwickeln, auch beim augenblicklichen Entwicklungsstand der Bibliothek. Die aktuelle Version ist völlig starr, aber ab diesem Artikel werden wir versuchen, die Situation zu beheben.
Alle Channel Indikatoren stellen drei Linien dar: zentrale, obere und untere Linie. Die zentrale Linie ist nach dem Prinzip des Zeichnens dem gleitenden Durchschnitt identisch, und in den meisten Fällen wird für das Zeichnen eines Kanals gerade der gleitende Durchschnitt verwendet. Die obere und untere Linien sind von der zentralen Linie gleich weit entfernt. Dieser Abstand kann in Punkten oder in Prozent vom Preis (Envelopes Indikator) definiert werden, es können der Wert der Standardabweichung (Bolliger Bands) oder der Wert des ATR Indikators (Keltner Kanal) verwendet werden.
Beschreibung eines mehrzeiligen Textfeldes. Anders als bei Grafikobjekten des Typs OBJ_EDIT ist die vorgestellte Version nicht durch eine Anzahl von Buchstaben beschränkt. Es gibt auch die Funktionen eines einfachen Editors, mit einem durch Maus oder Tasten bewegten Kursor.
Der Code der Bibliothek muss optimiert werden: Er sollte besser dem Standard folgen, das heißt — leichter lesbar und schneller zu verstehen. Weiters werden wir die als letztes entwickelten Kontrollelemente weiterentwickeln: Listen, Tabellen und Bildlaufleisten.
Weiterentwicklung der Bibliothek zum Erstellen grafischer Benutzeroberflächen. Zeit und Listen von Kontrollkästchen werden diesmal behandelt. Weiters verfügt die Klasse CTable jetzt über die Möglichkeit, Daten auf- oder absteigend zu sortieren.
Eine Zeitreihe stellt ein dynamisches System dar, in welches Werte einer zufälligen Größe einer nach dem anderen eintreffen: kontinuierlich oder in gewissen Zeitabständen. Der Übergang von einer flachen zur dreidimensionalen Analyse des Marktes ermöglicht es, komplexe Prozesse und Erscheinungen aus einer neuen Perspektive zu betrachten. In diesem Artikel werden Visualisierungsfunktionen für eine 3D-Darstellung zweidimensionaler Daten beschrieben.
In diesem Artikel besprechen wir neue Controls: Text Edit Box, Bild-Slider, sowie weitere zusätzliche einfache Controls: Text-Label und Bild. Die Bibliothek wächst weiter, und neben der Einführung der neuen Steuerelemente, werden auch die zuvor erstellten verbessert.
Diesmal betrachten wir das Standard Chart-Steuerelement. Dieses erlaubt es uns, eine ganze Serie von Unter-Charts zu erzeugen, mit der Möglichkeit, diese beim Scrollen horizontal zu synchronisieren. Darüber hinaus werden wir weiterhin den Bibliothekscode für eine Reduzierung der CPU-Last optimieren.
Im Artikel wird die Erstellung des universellen Indikators aufgrund aller Oszillators des Terminalen mit dem eigenen graphischen Interface beschrieben. Es ermöglicht schnell und bequem die Parameter jedes separaten Oszillators aus dem Chart-Fenster zu wechseln (und ohne Öffnung des Fensters der Eigenschaften), ihre Messwerte zu vergleichen und für sich die optimale Variante für eine konkrete Aufgabe zu wählen.
MetaTrader 5 erlaubt es, Roboter zu entwickeln und zu testen, die gleichzeitig auf mehreren Symbolen handeln. Der in die Plattform integrierte Strategietester lädt die Tickshistorie vom Server des Brokers automatisch herunter und berücksichtigt Kontraktspezifikationen: der Entwickler muss nichts manuell machen. Dies lässt einfach und präzise alle Bedingungen der MetaTrader 5 Handelsumgebung programmieren und Roboter testen, mit den Intervallen von bis zu Millisekunden zwischen dem Eingehen von Ticks auf verschiedenen Symbolen. In diesem Artikel zeigen wir, wie eine Spread-Strategie basierend auf zwei Futures der Moskauer Börse entwickelt und getestet werden kann.
Im Artikel wird der Test des EAs betrachtet, der zugleich auf 4 verschiedenen Symbolen gestartet wird. Der endgültige Vergleich der 4 Testberichte wird in einer Tabelle aufgeführt, genauso wie bei einer Auswahl der Waren in einem Internet-Geschäft. Als zusätzlicher Bonus kommen dazu die automatisch erstellten Grafiken der Verteilung für jedes Symbol.
Im Artikel wird die Bildungsmöglichkeit der Histogramme der statistischen Verteilungen der Markt-Charakteristiken unter Verwendung des graphischen Gedächtnisses betrachtet, das heißt ohne Verwendung der Indikator-Puffer und Arrays. Es wurden die ausführlichen Beispiele des Aufbaus solcher Histogramme aufgeführt und wurde die sogenannte "verborgene" Funktional der graphischen Objekte der Sprache MQL5 vorgeführt.
ZigZag ist einer der beliebtesten Indikatoren unter MetaTrader 5 Nutzern. Im Artikel werden die Möglichkeiten der Erstellung verschiedener Varianten des ZigZag Indikators analysiert. Als Ergebnis bekommen wir einen universellen Indikator mit breiten Möglichkeiten für die Erweiterung der Funktionalität, den man bei der Entwicklung neuer Expert Advisors und anderer Indikatoren verwenden kann.
In diesem Artikel wurden Regeln der Handelsstrategien Turtle Soup und Turtle Soup Plus One aus dem Buch Street Smarts: High Probability Short-Term Trading Strategies von Linda Raschke und Laurence Connors formuliert und programmiert. Die im Buch beschriebenen Strategien sind relativ populär, man sollte aber beachten, dass die Autoren diese Strategien anhand eines 15...20 Jahre alten Marktverhaltens entwickelt haben.
Globale Variablen des Terminals sind ein unverzichtbares Hilfsmittel für die Entwicklung komplexer und zuverlässiger Experten und Berater. Sobald Sie die Verwendung globaler Variablen beherrschen, können Sie sich die Entwicklung von EAs ohne sie nicht mehr vorstellen.
Dieser praxisorientierte Artikel konzentriert sich auf die Arbeit mit Dateien in MQL5. Freuen Sie sich auf eine Reihe von einfachen Aufgaben, die Ihnen helfen werden, die Grundlagen besser zu verstehen.
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.
In diesem Artikel wird die nächste Version der Easy And Fast-Bibliothek (Version 3) vorgestellt. Es wurden Fehler behoben und neue Features hinzugefügt. Mehr Details dazu finden Sie in dem Artikel.
Analyse des bisherigen Handels und das Zeichnen der Entwicklung der Handelsergebnisse in HTML abhängig vom Zeitpunkt der Positionseröffnung. Die Diagramme sind in drei Gruppen aufgeteilt - nach Stunde, nach Tag der Woche und nach Monat.
Der Artikel beschreibt den Prozess der Entwicklung und Implementierung einer Klasse, die Signale auf der Basis gleitender Kanäle entwickelt. Auf der Basis dieser Signale, werden wir eine Handelsstrategie erstellen. Es werden die Klassen der Standardbibliothek zur Erstellung der abgeleiteten Unterklassen verwendet.
Seit der Veröffentlichung des vorangegangenen Artikels dieser Serie, hat die Easy And Fast Bibliothek einige neue Features bekommen. Die Bibliotheksstruktur und der Programmcode wurden teilweise optimiert, was die CPU-Auslastung leicht reduziert hat. Einige wiederkehrende Methoden in vielen Control-Klassen wurden in die CElement Basisklasse bewegt.
Das zweite Kapitel des neuen Teils dieser Serie widmet sich der Fortschrittsanzeige und dem Linienchart-Control Wie immer, gibt es auch hier detaillierte Beispiele, um deutlich zu machen, wie die Controls in den benutzerdefinierten MQL Anwendungen verwendet werden können.
Mit diesem Artikel starten wir das Kapitel 9 der Serie der Artikel über die entwicklung von grafischen Interfaces in den Metatrader Trading-Terminals. Diese Serie besteht aus zwei Kapiteln, in welcher neue Elemente und Interfaces vorgestellt werden, wie zum Beispiel das Farbauswahl-Control, farbige Buttons, die Fortschrittsanzeige und Linien Charts.
In den vorherigen Kapiteln des 8 Teils dieser Serie, haben wir unsere Bibliothek um mehrere Klassen für die Entwicklung von Mauszeigern, Kalendern und Baum-Ansichten erweitert. In dem aktuellen Artikel beschäftigen wir uns mit dem Datei-Navigator-Control, welcher auch als Teil eines grafischen Interfaces einer MQL Anwendung verwendet werden kann.
Das vorherige Kapitel VIII der grafischen Schnittstellen hat sich mit den Elementen eines statischen und eines Dropdown-Kalenders beschäftigt. Das zweite Kapitel beschäftigt sich mit einem nicht weniger komplexen Element — der Baumansicht, die Teil aller kompletten Bibliotheken graphischer Schnittstellen ist. Die Baumansicht in diesem Artikel beinhaltet mehrere flexible Einstellungen und Modi und erlaubt daher die Elemente ganz Ihren Zielen anzupassen.
Im Kapitel VIII der Reihe von Artikeln, die sich der Erstellung graphischer Oberflächen im MetaTrader widmet, betrachten wir komplexe, zusammengesetzte Steuerelemente wie Kalender, Baumdarstellung und einen Dateinavigator. Aufgrund der umfangreichen Informationen gibt es für jedes Thema eigene Artikel. Das erste Kapitel dieses Teil beschreibt das Kalenderelement und seine erweiterte Version, ein Dropdown-Kalender.
Automatische Scalping-Systeme gelten zurecht als der Höhepunkt des algorithmischen Tradings, aber es ist auch am kompliziertesten, einen Code für diese Systeme zu schreiben. In diesem Artikel zeigen wir, wie man mithilfe von eingebauten Werkzeugen für Debugging und visuelles Testen Strategien entwickeln kann, die auf der Analyse eingehender Ticks basieren. Um Regeln für Einstieg und Ausstieg zu erarbeiten, braucht man häufig jahrelang manuellen zu handeln. Aber mithilfe von MetaTrader 5 können Sie jede solche Strategie anhand realer historischer Daten schnell testen.
Das erste Kapitel des siebten Teils befasste sich mit drei Klassen von Controls für die Erzeugung der folgenden Tabellen: Text-Label-Tabelle (CLabelsTable), Edit-box-Tabelle (CTable) und die gerenderte Tabelle (CCanvasTable). In diesem Artikel(Kapitel 2) werden wir das Tabs-Control besprechen.
Der Algorithmus der Kantenglättung der CCanvas Klasse ist die Basis für alle Konstrukte, die eine Kantenglättung verwenden. Der Artikel beschreibt, wie der Algorithmus arbeitet und bietet prägnante Beispiele der Visualisierung. Es behandelt auch das Zeichnen von Schattierungen von Grafik-Objekte und hat einen ausführlichen Algorithmus zum Zeichnen von Schattierungen auf der Leinwand (canvas) entwickelt . Die Numerik-Bibliothek ALGLIB wird für Berechnungen verwendet.
Dieser Artikel führt die Serie der Publikationen eines universellen Expert-Advisors fort. Dieser Teil beschreibt ausführlich das originale Event-Modell, welches auf einer zentralisierten Datenverarbeitung basiert und bestimmt die Struktur der Basisklasse CStrategy dieser Trading-Engine.
Der siebte Teil der Serie über die grafischen Interfaces des Metatraders, handelt von drei Tabellen-Typen: Text-Label, Edit-Box und gerenderte Tabellen. Ein weiteres Control, welches sehr oft gebraucht wird, ist das Tab, womit es Ihnen möglich ist, Gruppen von anderen Controls anzuzeigen und zu verstecken und somit sehr effektive und platzsparende Interfaces für ihre MQL Anwendung programmieren zu können.
Alle Markets Produkte vor der Veröffentlichung bestehen eine obligatorische vorläufige Überprüfung, um eine Standarte Qualität zu haben. In diesem Artikel werden wir von den häufigsten Fehlern erzählen, die die Hersteller in den Handelsrobotern und den technischen Indikatoren machen. Auch werden wir zeigen, wie man sein Produkt vor der Sendung in Market selbständig überprüfen soll.
In den ersten zwei Kapiteln des fünften Teils dieser Serie, haben wir Klassen für die Erzeugung einer Scrollbar und einer ListView entwickelt. In diesem Kapitel werden wir über die Erzeugung einer Klasse für eine ComboBox sprechen. Hierbei handelt es sich ebenfalls um ein Komponenten-Control, welches neben anderen Elementen auch Elemente enthält, die wir in den vorherigen Kapiteln des 5. Teils besprochen haben.
Der Artikel enthält die Ergebnisse der Prüfung einer einfachen Trading-Strategie in drei Modi: "1 Minute OHLC", "Jeder Tick" und "Jeder Tick basierend auf echten Ticks" mit tatsächlichen historischen Daten.