MetaTrader 5 herunterladen

Test Visualisierung: Kontostand Charts

19 Februar 2016, 06:57
Andrey Khatimlianskii
0
318

Einführung

Ich denke, es ist nicht nur mein Wunsch, die Informationen über den Kontostand während des Tests im Visualisierungs-Modus in einer informativeren Form anzuzeigen.
Wie viel war der Betrag der freien Margin vor dem Öffnen der letzten Position? In welche Richtung läuft die Kontostand-Kurve? Wie groß war der Drawdown auf das Eigenkapital am letzten Tag?

Einige dieser Fragen wurden in den Artikeln Test Visualisierung: Funktionalität Erweiterung und Test Visualisierung: Handels-Historie. Aber sie enthalten kein Tool für die schnelle und einfache Anzeige der Informationen über das Konto. In diesem Artikel werden wir Programme zum Zeichnen von Diagrammen des Kontostands während des Tests im Visualisierungs-Modus besprechen. Als ein Bespiel werden wir Kontostand und Kapital Diagramme begutachten. Außerdem enthält der Artikel Anweisungen für den Aufbau von Diagrammen anderer Konto-Attribute.



Ist es einfach?

Man könnte denken, was ist einfacher, als einen Indikator zu schreiben, der den Kontostand anzeigt? Der einzige Puffer ist durch den letzten bekannten Wert des Kontostands nach dem Erhalt von Balken erfüllt. Das ist der Algorithmus.
Es gibt da aber ein Problem: der Indikator, angezeigt im Test Visualisierungs-Chat, hat keinen Zugriff auf den Stand des getesteten Kontos. Alle Funktionen, die für diese Information verantwortlich sind, geben den Wert des Echtgeld Kontos zurück.
In diesem Artikel erfahren wir, wie wir diese "Besonderheit" vermeiden. Zu diesem Zweck müssen wir:

  • die Informationen über den Kontostand von dem Expert Advisor erhalten,
  • ihn an den Indikator übergeben und ihn visualisieren.

Für die Übergabe der Daten verwenden wir Global Variablen des Terminals, und für ihre Visualisierung - Standard-Funktionen benutzerdefinierter Indikatoren.



Es ist einfach!

Wir müssen dem Expert Advisor, der getestet wird, einen Code zum Speichern des Kontostands in die Golabal Variable hinzufügen. Alles, was wir tun müssen, ist eine Zeile am Anfang der Funktion start() hinzuzufügen:

int start()
{
   // saving the last value of the balance into the global variable
   GlobalVariableSet( "vGrafBalance", AccountBalance() );
 
   // Expert Advisor code
 
   return(0);
}


Der Indikator-Code ist nicht viel schwieriger:

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Blue
 
double balance[];
 
int init()
{
    IndicatorShortName( "vGrafBalance" );
    IndicatorDigits( 2 );
 
    SetIndexStyle( 0, DRAW_LINE );
    SetIndexBuffer( 0, balance );
    SetIndexLabel( 0, "Balance" );
}
int start()
{
    balance[0] = GlobalVariableGet( "vGrafBalance" );
    return(0);
}

Das ist alles! Jetzt können wir den Indikator, die neue Version des Expert Advisor kompilieren und den Test starten!

Nach dem Klick auf die Start Schaltfläche und dem Anhängen des Indikators an das Chart, werden wir in etwa dieses sehen:




Sie sehen, die Kontostand-Kurve reflektiert reale Änderungen - beim Schließen jedes Trades ändert sich ihr Wert.



Was kann noch gemacht werden?

Alle andere Diagramme werden auf die gleiche Weise aufgebaut:

  • fügen Sie dem Expert Advisor eine Zeile hinzu, die den Wert der benötigten Global Variable aktualisiert,
  • erstellen Sie einen einfachen Indikator, der den Wert dieser Variable ausliest und auf dem Chart wiedergibt.

Beachten Sie, dass der Name der Variable für jede Eigenschaft einzigartig sein muss, d.h. er darf nicht identisch mit den Namen anderer Variablen sein.
Außerdem sollte er identisch sein mit dem Namen der Variable, die der Indikator ausliest.


Das zweite Beispiel zeigt, wie man ein Kapital-Diagramm dem Kontostand-Diagramm hinzufügt.
Der Code des Expert Advisor:

int start()
{
   // saving the last value of the balance into the global variable
   GlobalVariableSet( "vGrafBalance", AccountBalance() );
   // saving the last value of the equity into the global variable 
   GlobalVariableSet( "vGrafEquity", AccountEquity() );
 
   // Expert Advisor code
 
   return(0);
}


The indicator code:

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
 
double equity[];
 
int init()
{
    IndicatorShortName( "vGrafEquity" );
    IndicatorDigits( 2 );
 
    SetIndexStyle( 0, DRAW_LINE );
    SetIndexBuffer( 0, equity );
    SetIndexLabel( 0, "Equity" );
}
int start()
{
    equity[0] = GlobalVariableGet( "vGrafEquity" );
    return(0);
}

Anwendungsbeispiel:




Wir können einen Indikator an den anderen anhängen, um die Korrelation zweier Eigenschaften anzuzeigen:




Fazit

Der Artikel beschreibt den Vorgang des Erstellens eines Indikators, der den Kontostand visualisiert. Wir haben die einfachsten Indikatoren untersucht - Kontostand- und Kapital-Indikatoren.
Síe können jedes andere Diagramm erstellen: Prozentsatz profitabler Trades, erwartete Auszahlung, durchschnittliche Lot-Größe oder Gewinn einer Position in Punkten - es ist alles verfügbar.

Die Informationen können sehr schön dargestellt werden!


Übersetzt aus dem Russischen von MetaQuotes Software Corp.
Originalartikel: https://www.mql5.com/ru/articles/1487

Atypisches Automatisiertes Trading Atypisches Automatisiertes Trading

Erfolgreiches und komfortables Trading mit der MT4 Plattform ohne detaillierte Marktanalyse - ist das möglich? Kann solches Trading in der Praxis umgesetzt werden? Ich meine, ja. Insbesondere in Bezug auf automatisiertes Trading!

Geheimnisse des Client Terminals MetaTrader 4: Die Dateibibliothek in MetaEditor Geheimnisse des Client Terminals MetaTrader 4: Die Dateibibliothek in MetaEditor

Bei der Erstellung seines eigenen Programms hat einen wichtigen Sinn der Editor des Codes. Je mehr Funktionen der Editor bietet, desto einfacher und schneller wird das Programm erstellt. Viele Programme werden auf bestehenden Code basiert. Sie verwenden einen Indikator oder einen Skript, aber Sie sind nicht mit allem in ihm zufrieden? Laden Sie den Code für dieses Programm von unserer Website und ändern Sie ihn nach Ihrem Geschmack.

MT4TerminalSync - System für die Synchronisation von MetaTrader 4 Terminals MT4TerminalSync - System für die Synchronisation von MetaTrader 4 Terminals

Dieser Artikel widmet sich dem Thema "Erweitern der Möglichkeiten von MQL4 Programmen mit Funktionen des Betriebssystems und anderen Mitteln der Programmentwicklung". Der Artikel beschreibt ein Beispiel eines Programmsystems, das die Aufgabe der Synchronisierung mehrerer Terminal-Kopien, basierend auf einer einzelnen Quellvorlage, umsetzt.

Interaktion zwischen MetaTrader 4 und Matlab über CSV Dateien Interaktion zwischen MetaTrader 4 und Matlab über CSV Dateien

Schritt-für-Schritt Anleitungen wie man einen Daten-Arrays Austausch zwischen MetaTrader 4 und Matlab über CSV Dateien organisiert.