Unity: Der Multi-Währungs-Indikator für MetaTrader 5

Mike 2019.07.18 01:38 16 0 0
Anhang

Der Unity-Indikator ist ein Cluster-Multi-Währungs-Indikator, der synchronisierte Veränderungen im Wert von Metallen und wichtigen Währungen in einer verallgemeinerten Form darstellt. Er wurde erstmals in dem Artikel "Praktische Anwendung von Kohonen-Neuronalen Netzen im Algorithmischen Handel. Teil II. Optimierung und Prognose" vorgestellt.

Seine Arbeitsweise lässt sich durch einen einfachen Algorithmus erklären. Lassen Sie uns dies anhand eines minimalen Beispiels mit einem Währungspaar (EUR/USD) und Gold (XAU/USD) betrachten.

Zu jedem Zeitpunkt drückt der Marktzustand (also die aktuellen Preise oder Eröffnungspreise der Kerzen) folgende einfache Formeln aus:

EUR / USD = EURUSD

XAU / USD = XAUUSD

Hierbei sind die Variablen EUR, USD, XAU die reinen „Werte“ der Vermögenswerte, während EURUSD und XAUUSD Konstanten (Wechselkurse oder Notierungen) sind.

Um die Variablen zu ermitteln, ergänzen wir das System mit einer weiteren Gleichung, die die Summe der Quadrate der Variablen auf Eins begrenzt:

EUR*EUR + USD*USD + XAU*XAU = 1

Daher auch der Name des Indikators — Unity.

Eine einfache Substitution ergibt:

EURUSD*USD*EURUSD*USD + USD*USD + XAUUSD*USD*XAUUSD*USD = 1

Somit kann USD wie folgt berechnet werden:

USD = sqrt(1 / (1 + EURUSD*EURUSD + XAUUSD*XAUUSD))

Und alle anderen Variablen können ebenfalls berechnet werden.

Allgemein gilt:

x0 = sqrt(1 / (1 + sum(C(xi, x0)**2))), i = 1..n

xi = C(xi, x0) * x0, i = 1..n

wobei n die Anzahl der Variablen ist, und C(xi,x0) der Kurs des i-ten Paares ist, einschließlich der entsprechenden Variablen. Es ist zu beachten, dass die Anzahl der Variablen um eins größer ist als die Anzahl der Instrumente.

Da die in der Berechnung verwendeten Koeffizienten C Kurse sind, die normalerweise sehr unterschiedlich sind, werden sie im Indikator zusätzlich mit den Kontraktgrößen multipliziert: Dies gibt vergleichbare Werte (zumindest in einer ähnlichen Größenordnung). Um sie im Indikatorfenster zu sehen (nur zur Information) gibt es einen Parameter für AbsoluteValues, der auf true gesetzt werden sollte. Standardmäßig ist er jedoch false, und der Indikator berechnet die Änderungen der Variablen:

yi = xi0 / xi1 - 1,

wobei xi0 und xi1 die Werte der letzten und der vorherigen Kerzen sind.

Hier ist ein Screenshot für den Cluster von EURUSD, GBPUSD, USDCHF, USDJPY, AUDUSD, USDCAD, NZDUSD, XAUUSD:

Cluster-Multi-Währungs-Indikator Unity, XAUUSD

Cluster-Multi-Währungs-Indikator Unity, XAUUSD

Die Linien der Vermögenswerte, die das Arbeitszeichen des aktuellen Charts (in diesem Fall XAU und USD) bilden, sind dick, während die anderen dünn sind.

Die wichtigsten Eingabeparameter des Indikators:

  • Instruments — eine Liste von Handelsinstrumenten, die durch Kommas getrennt sind; alle Instrumente müssen eine gemeinsame Währung haben - entweder die Basis- oder die Gegenwährung;
  • BarLimit — Anzahl der zu berechnenden Kerzen;
  • Draw — Zeichenstil;
  • PriceType — Art des Preises, die in den Berechnungen verwendet wird;
  • SaveToFile — (Option) ein Name der CSV-Datei, in die der Indikator Werte zur Analyse in einem externen Programm exportiert, zum Beispiel in ein neuronales Netzwerk; die Struktur der Datei lautet: Die erste Spalte ist das Datum, alle weiteren sind die Werte der entsprechenden Indikator-Puffer;
  • ShiftLastBuffer — (Option) Flag zum Umschalten des Modus, in dem die CSV-Datei erstellt wird; wenn die Option false ist, werden die Daten der gleichen Kerze in jeder Zeile gespeichert, die Anzahl der Spalten entspricht der Anzahl der Instrumente plus eins aufgrund der Aufteilung der Ticker in Komponenten, und plus ein weiteres — das erste — mit Daten, die Spaltennamen entsprechen Währungen und Metallen; wenn die Option true ist, wird eine zusätzliche Spalte mit dem Namen FORECAST erstellt, in der die Werte aus der Spalte des letzten Vermögenswerts um eine Kerze nach vorne verschoben gespeichert werden; so sehen wir in jeder Zeile nicht nur alle Daten für die aktuelle Kerze, sondern auch den nächsten Wert der letzten Variablen, der von Prognosealgorithmen verwendet werden kann.

Empfohlene Zeitrahmen sind D1 und höher.

Liste
Kommentar 0