English Русский 中文 Español 日本語 Português
Test-Visualisierung. Funktionalität-Erweiterung.

Test-Visualisierung. Funktionalität-Erweiterung.

MetaTrader 4Tester | 2 Februar 2016, 08:47
676 1
Andrey Khatimlianskii
Andrey Khatimlianskii

Einführung

Im 196-en Bild des Client Terminals MetaTrader 4 gibt es die Visualisierungsfunktion des Testens. Sie ermöglicht den Prüfungsprozess des Expertentestes auf einem völlig neuen Level zu kontrollieren. Nun kann der Trader-Programmierer jede Aktion seines Experten durch die Überprüfung seiner Arbeit in der History beobachten!

Die Information über die Verwendung des Visualizers finden Sie im Artikel Experten-Testen im Client Terminal MetaTrader 4. Der Einblick. In diesem Artikel wird beschrieben, wie man den Strategie-Tester sehr ähnlich mit dem Terminal erstellen kann.

Darstellung des Problems

Was fehlt bei der Test-Visualisierung, um eine vollständige Analyse durchzuführen? Ich denke, in erster Linie ist es - die Titels "Handels" und "Kontohistory".

Wie viele Positionen sind geöffnet? Wie schnell werden die Pendig Orders ausgelöst? Mit welchem Gewinn wurde die vorherige Position geschlossen? Wie viele Marge wird im Moment benutzt und wie weit ist es noch bis zum MarginCall-Level? Während eines realen Handelns suchen wir Antworten auf diese und viele andere Fragen in Titeln "Handels" und "Kontohistory". Was soll man aber bei einem Test machen? Die Antwort ist klar - die Titeln müssen zum Visualizer hinzugefügt werden.

Technische Beschränkungen

Die optimale Lösung des Problems wäre es, zwei Indikatoren in einem Fenster für die Titels "Handel" und "Kontohistory" zu erstellen. Aber dann erwartet uns ein Problem - der Indikator auf der Visualizersgrafik, der keinen Zugriff zum ("virtuellen") Konto hat. Alle Daten, auch die Liste der offenen Positionen, bekommt er aus dem aktiven Arbeitskonto.

Jedenfalls haben wir keine bessere Weise, die Information darzustellen, deshalb werden wir Indikatoren sowieso verwenden. Aber diese Indikatoren werden nicht vollwertig sein. Ihre einzige Aufgabe sind die Unterfenster der Grafik, die sie erstellen. Man muss dann nur diese Informationsfenster ausfüllen.

Das zweite Problem ist, welches wir da auch lösen müssen, ist die Beschränkung des Fensters "Kontohistory". Das Erstellen eines vollständigen Fensters mit einer Bildlaufleiste und mit anderen bequemen Funktionen hätte zu viel Zeit gebraucht, und das ist sehr zweifelhaft, dass es nützlich wäre. Schließlich haben wir den Titel "Ergebnisse" des Testers, sie enthält praktisch alle Informationen über die Operationen.

Unsere "Kontohistory" wird nur die aktuelle Information anzeigen. Zum Beispiel, die letzten 10 geschlossenen Trades.

Die Vorbereitung auf die Verwendung

Am Anfang laden Sie die alle nötigen Daten aus CodeBase runter:

  • Die Include-Datei VisualTestingTools.mq4 - im Verzeichnis "\MetaTrader 4\experts\include\";
  • Zwei Indikatoren - vTerminal.mq4 und vHistory.mq4 - im Verzeichnis "\MetaTrader 4\experts\indicators\";
  • und den Test-Experten VisualizationTestExpert.mq4 - im Verzeichnis "\MetaTrader 4\experts\".
Dann öffnen Sie und kompilieren Sie (F5) beide Indikatoren, und falls es erforderlich ist, auch den Experten.

Der zweite Schritt wird das Erstellen der Vorlage tester.tpl. Dafür stellen Sie das Aussehen der Grafik (Farbschema, Gitterlinien, Skala) ein, "hängen" zu ihr die Indikatoren vTerminal.mq4 und vHistory.mq4, an, schalten Sie den Autoscroll an, und verwenden Sie den Befehl "Speichern Vorlage" aus dem Kontextmenü der Grafik:


Sie können es aus CodeBase runterladen und die Vorlage verwenden, die ich erstellt habe - Speichern Sie es einfach im Verzeichniss "\MetaTrader 4\templates\".

Integration in willkürlichen Experten

Die Funktionen, die die Informationsdarstellung realisieren, sind in der Include-Datei VisualTestingTools.mq4. Vor allem muss man sie zum Experten hinzufügen -, vor der Funktionsanzeige muss diese Zeile eingefügt werden:

#include <VisualTestingTools.mq4>

Danach fügen Sie den Ausruf der Funktionen ein, welche die grafischen Objekten erstellen und die Information erneuern. Zwei in der Funktion init() des Experten, und zwei in der Funktion start(). Wenn der Experte keine Funktionen init() hat, muss man sie deklarieren:

int init()
{
    vTerminalInit();
    vHistoryInit();
    return(0);
}
 
int start()
{
    vTerminalRefresh();
    vHistoryRefresh();
 
    // Der Code des Experten
 
    return(0);
}

Sie können den Experten VisualizationTestExpert.mq4 verwenden, in dem alle Änderungen bereits erledigt wurden.

Externe Variable

Nach dem Hinzufügen der Datei VisualTestingTools.mq4 wird im Experten der Block der externen Variablen erscheinen "< - - - VisualTestingTools - - - >":





Ihr Ziel ist schon intuitiv klar, aber ich möchte trotzdem darüber mehr erzählen:

  • TerminalRows - die maximale Anzahl der Zeilen des Titels "Handel", die im Bildschirm angezeigt werden. Wenn TerminalRows = 0 so eingestellt ist, wird der Terminal nicht erneuert;
  • HistoryRows - die maximale Anzahl der Zeilen des Titels "Kontohistory", die im Bildschirm anzeigt werden. Wenn HistoryRows = 0 so eingestellt ist, wird die Kontohistory nicht erneuert;
  • BigText - Stellen sie true ein, wenn Sie einen größeren Schrift verwenden möchten;
  • SignalPoints - Der Abstand ist in Punkten, von dem die Felder von Stop Loss, Take Profit und Eröffnungspreis (für Pending Orders) "erleuchtet" werden. Zum Beispiel, bei SignalPoints = 10 ändert das Stop-Loss-Feld seine Farbe, wenn der Preis zu einem 10-Punkte-Abstand von der Stop-Loss-Position sein wird;
  • ShowCancelled - Stellen sie true ein, wenn Sie in der History die aufgehobenen Orders sehen möchten;
  • ShowExpired - Stellen sie true ein, wenn Sie in der History die Pending Orders sehen möchten, bei denen die Zeit abgelaufen ist;
  • MainColor - die Farbe der Kopfzeilen des Terminals und der Kontohistory und auch der Informationszeile auf dem Handelskonto des Terminals (Balance, Equity, ...).
  • BuyColor - die Farbe der Information über Buy-Positionen;
  • BuyOPColor - die Farbe des Feldes im Eröffnungspreis des Titels "Handeln", in dem die Hauptfarbe ersetzen wird, wenn der aktuelle Preis sich zum Open-Level der Orders Buy Stop und Buy Limit nähert.
  • BuySLColor - die Farbe für den Titel "Handeln": die mit der Hauptfarbe ersetzen wird, wenn der Preis sich zum Stop-Loss-Level der Buy-Positionen nähert. Die Farbe für den Titel "Kontohistory": die mit der Hauptfarbe ersetzen wird, wenn die Buy-Position durch Stop-Loss geschlossen wurde;
  • BuyTPColor - die gleiche Farbe, genauso wie BuySLColor, wird zum Take-Profit angewendet;
  • Sell Color, SellOPColor, SellSLColor und SellTPColor - die gleiche Farbe, aber nur für die Sell-Positionen;
  • vTerminal_SubWindow und vHistory_SubWindow - die Nummer des Unterfensters des Indikators vTerminal und vHistory, entsprechend (mehr dazu - im Titel "mögliche Probleme").


Verwendung

Das kommende Video stellt den Testprozess des Experten VisualizationTestExpert.mq4 dar, mit den hinzugefügten Titeln "Handeln" und "Kontohistory" im Visualisierungsmodus:




Meiner Meinung nach ist es nicht schlecht geworden.


Mögliche Probleme

Man muss da noch eine Besonderheit erwähnen, die mit der Verwendung der Indikatoren vTerminal und vHistory verbunden ist.
Die Funktion, die für die Suche des Indikatorsfensters (WindowFind) verantwortlich ist, funktioniert nicht beim Testen. Deshalb müssen die Nummer der Indikatoren-Unterfenster für eine korrekte Funktionalität klar eingegeben werden. Deswegen wurden eben die Variablen vTerminal_SubWindow und vHistory_SubWindow hinzugefügt.

Wenn es in der Vorlage tester.tpl andere Indikatoren angewendet werden, die in einem spezialen Fenster angezeigt werden, muss man die "Nummer" der Indikatoren vTerminal und vHistory entsprechend ihren aktuellen Positionen eingeben: der höchster - №1, der tiefste - №2, und so weiter. Wenn die Vorlage nur mit zwei Indikatoren verwendet wird, braucht man nicht die Werte der Variablen vTerminal_SubWindow und vHistory_SubWindow zu ändern.

Abschluss

Im Artikel wurden Programm-Mittels betrachtet, welche den Testprozess des Experten Advisors im Visualisierungsmodus maximal ähnlich mit dem realen Handeln ermöglichen. Jetzt kann man eine Liste von geöffneten und geschlossenen Trades sehen und noch den Status des "virtuellen" Kontos.


Es wurde der Erstellungsprozess und der Speichersprozess einer Vorlage für eine Grafik beschrieben, es wurde auch das Hinzufügen der Programme zum Experten dargestellt, und schließlich wurden die mögliche Probleme betrachtet.

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/ru/articles/1420

Beigefügte Dateien |
vTerminal.mq4 (0.56 KB)
Letzte Kommentare | Zur Diskussion im Händlerforum (1)
HanseM1310
HanseM1310 | 7 Feb. 2016 in 17:02
wie kann ich in den metatrader 4 den dax und dow jones als chart bekommenl
Indikator Alternative Ichimoku – Einrichtung, Anwendungsbeispiele Indikator Alternative Ichimoku – Einrichtung, Anwendungsbeispiele
Wie richtet man einen Alternativ Ichimoku richtig ein? Lesen Sie die Beschreibung der Einrichtung der Parameter. Der Artikel wird Ihnen helfen die Methode der Einrichtung der Parameter zu verstehen, nicht nur für den Indikator Ichimoku. Sicher werden Sie auch besser verstehen, wie Sie den Standard Ichimoku Kinko Hyo einrichten.
Trading-Strategien Trading-Strategien
Alle Kategorien, die Trading-Strategien klassifizieren, sind völlig willkürlich. Die folgende Klassifikation soll die grundlegenden Unterschiede zwischen möglichen Ansätzen zum Handel betonen.
ZUP - Universal ZigZag mit Pesavento Mustern. Teil 2 ZUP - Universal ZigZag mit Pesavento Mustern. Teil 2
ZUP - Universal ZigZag mit Pesavento Mustern. Teil 2 - Beschreibung der eingebetteten Tools
Zehn grundlegende Fehler eines Traderanfängers Zehn grundlegende Fehler eines Traderanfängers
Zehn grundlegende Fehler eines Traderanfängers: Das Handeln auf der Marktöffnung, Übermäßige Eile bei der Einnahme des Gewinns, Hinzufügen zu einer Verlustposition, Schließung der Positionen beginnend mit der besten, Rachsucht, die am meisten bevorzugten Positionen, das Handeln mit dem Prinzip "Gekauft, für ewig Gekauft", Schließung der rentablen strategischen Position am ersten Tag, Schließung der Position nach dem Eröffnungssignal der gegenüberliegenden Position, Zweifel.