English Русский Español 日本語 Português
preview
Winkelbasierte Operationen für Händler

Winkelbasierte Operationen für Händler

MetaTrader 5Beispiele | 23 Juli 2024, 10:34
123 0
Aleksej Poljakov
Aleksej Poljakov

Einführung

Winkeloperationen werden im Handel schon seit langem eingesetzt. Der Hauptvorteil dieser Operationen liegt in der Einfachheit der Konstruktion von Winkeln und ihrer Übersichtlichkeit. Ein eindrucksvolles Beispiel für winkelbasierte Operationen sind die Gann-Tools.

Es scheint so, als ob alles über Winkel bereits bekannt ist. Aber ich werde versuchen, die Blickwinkel aus einer anderen Perspektive zu betrachten. Versuchen wir, uns an die längst vergessenen alten Dinge zu erinnern, um etwas völlig Neues zu bekommen.


Bau des ersten Winkels

Der Winkel ist eine der einfachsten geometrischen Formen. Zeichne zwei Linien von einem Punkt aus - was könnte einfacher sein? Eine der Linien stellt meist die Abszissenachse dar.

In diesem Fall lässt sich der Winkelwert sehr einfach mit dem Punkt-Koordinaten P zu berechnen.

Da der Winkel eine dimensionslose Größe ist, sollten beide Achsen den gleichen Wert haben. Wenn Sie Meter auf der einen und Kilogramm auf der anderen Achse messen, erhalten Sie eine Art Beziehung zwischen ihnen, aber keinen Winkel.

Versuchen wir nun, die winkelbasierte Operation als Indikator zu implementieren. Ich werde den folgenden Indikator erstellen: verschiedene Währungspaare werden entlang der X- und Y- Achsen angezeigt. Dann entspricht ein kleiner Winkel einem hohen Preis für das erste Währungspaar und einem niedrigen Preis für das zweite. Ein großer Winkel zeigt also an, dass der Preis des zweiten Symbols höher ist als der des ersten. Mit anderen Worten, unser zukünftiger Indikator wird den überkauften/überverkauften Zustand eines Währungspaares im Vergleich zu einem anderen bestimmen. Keine schlechte Idee für den Paarhandel.

Die erste Schwierigkeit besteht darin, dass wir unterschiedliche Werte auf verschiedenen Achsen haben (ich habe zum Beispiel EURUSD und USDJPY genommen). Wir können diese Schwierigkeit leicht überwinden, indem wir den Preis jedes Instruments durch den Punktwert dividieren.

Damit lösen wir gleich zwei Probleme: Auf beiden Achsen haben wir vergleichbare Werte (Preis in Punkten), und die Skala auf diesen Achsen ist die gleiche. So sieht unser Indikator aus.

Auf den ersten Blick erscheint der Indikator recht trivial. Sein Wert schwankt um einen Durchschnittswert, und der Unterschied zwischen dem Höchst- und dem Tiefstwert des Indikators beträgt nur 2-3 Grad. Aber wir sollten keine voreiligen Schlüsse ziehen. Vielleicht können wir diesen Indikator verbessern und informativer gestalten.

Eine kleine Erinnerung. Das gebräuchlichste Winkelmaß, das wir im Alltag verwenden, ist das Grad. Für mathematische Berechnungen wird am häufigsten das Bogenmaß verwendet. Der Übergang von einem Grad (deg) zu einem Bogenmaß (rad) und umgekehrt erfolgt nach den folgenden Gleichungen:

Mit anderen Worten: Die Umrechnung von Grad in Bogenmaß und umgekehrt erfolgt einfach durch Multiplikation mit einem Skalierungsfaktor. Wenn Sie jedoch Informationen numerisch anzeigen müssen, ist die Verwendung von Grad vorzuziehen. 45° sieht definitiv besser aus als 0,78539 rad.


Winkel und Normalverteilung

Bei der Untersuchung realer Prozesse verwenden die Forscher verschiedene Wahrscheinlichkeitsverteilungen von Zufallsvariablen. Die bekannteste ist die Normalverteilung.

Erinnern wir uns an einige ihrer Eigenschaften. Ihr Graph ist eine Glocke. Die Enden dieser Linie gehen ins Unendliche.

Führen wir gedanklich die folgende Operation durch. Wir fangen an, die Achse langsam zu falten X in einen Kreis zu falten. Dabei gilt folgende Regel: Je weiter wir uns von der Mitte entfernen, desto stärker wird die Faltung sein. Wenn wir geduldig genug sind, wird die X Achse in einen Kreis verwandeln. Die Linie der Normalverteilung selbst wird verzerrt, und als Ergebnis erhalten wir eine ummantelte (wrapped) Normalverteilung.

Der erste Unterschied zwischen einer normalen Normalverteilung und einer ummantelten (wrapped) Verteilung besteht darin, dass -∞ zu -180° und +∞ zu +180° wird. Aber das ist nicht unser Ziel. Der Hauptzweck der ummantelte Normalverteilung ist die Behandlung von Winkelwerten. Die Gleichung der ummantelte Normalverteilung sieht wie folgt aus:

Wie wir sehen können, verwendet die ummantelte Verteilung sowohl den Mittelwert als auch die Standardabweichung. Alles ist wie die übliche Normalverteilung. Die Summierung sieht ziemlich beunruhigend aus, aber wir werden mit diesen Unendlichkeiten leicht fertig, wenn wir mit echten Daten arbeiten.

Nehmen wir unseren Indikator und wenden wir die ummantelte Normalverteilung auf ihn an.

Zunächst müssen wir den Durchschnitt aller in der Historie vorkommenden Winkel ermitteln. In unserem Fall ist es nicht schwierig, den Durchschnitt zu ermitteln - die übliche Summierung und Division durch die Anzahl der Beobachtungen. Aber im Allgemeinen muss man den Winkelmittelwert ein wenig anders betrachten. Stellen Sie sich vor, Sie müssen den Durchschnitt von zwei Winkeln -10° und +350° ermitteln. Der übliche Ansatz ergibt die Antwort 180°. Diese Antwort ist falsch. Ihr Durchschnitt ist Null.

Um in jeder Situation die richtige Antwort zu erhalten, müssen wir Folgendes tun: Zunächst müssen wir die Summen der Sinus- und Kosinuswerte aller Winkel ermitteln. Wir dividieren die erste Summe durch die zweite und erhalten den Tangens des mittleren Winkels.

Nun ist es nicht schwer, den Wert des durchschnittlichen Winkels zu ermitteln. Aber auch hier gibt es eine kleine Bedingung. Wenn alle Winkel zwischen -90° und +90° liegen, können wir die Funktion MathArctan verwenden. Wenn die Winkel über diese Grenzen hinausgehen, sollten wir auf jeden Fall die universellere MathArctan2-Funktion verwenden.

Der durchschnittliche Winkel ist also gleich:

Nachdem wir den Wert des durchschnittlichen Winkels geschätzt haben, können wir damit beginnen, die Standardabweichung zu schätzen. Hierfür können wir die Yamartino-Methode verwenden. Zunächst müssen wir die Hilfsgröße finden:

Sie liefert bereits eine recht genaue Schätzung der Standardabweichung, kann aber noch verbessert werden:

Lassen Sie uns nun Änderungen an unserem Indikator vornehmen. Wir werden die Werte wie folgt berechnen: Zunächst ermitteln wir die Differenz zwischen dem aktuellen und dem durchschnittlichen Winkel und vergleichen diese Differenz dann mit der Standardabweichung. Als Ergebnis erhalten wir ein Bild wie dieses.

Der Indikator ermöglicht es uns, überkaufte/überverkaufte Niveaus genauer zu bestimmen, und sein nächstes Analogon ist der CCI-Indikator.


Winkel und lineare Funktion

Wir haben uns mit Winkeln für dieselbe Art von Daten beschäftigt. Ist es möglich, Winkelbearbeitungen auf einen Trend anzuwenden? Die Antwort lautet nein, da wir es mit unterschiedlichen Datentypen zu tun haben - wir haben die Zeit auf einer Achse und den Preis auf der anderen.

Nun, die Antwort ist richtig, aber dennoch falsch. Erinnern wir uns an die lineare Funktion. Sie beschreibt eine lineare Beziehung zwischen zwei unabhängigen Variablen und ist durch die Gleichung gegeben:

Wo ist hier der Haken? Sie ist versteckt in dem Verhältnis k. Dieses Verhältnis ist gleich dem Tangens des Steigungswinkels der Linie im Verhältnis zur X Achse.

Versuchen wir, diese Funktion zur Beschreibung eines Trends zu verwenden. Die lineare Funktionsgleichung für Händler sieht wie folgt aus:

In diesem Fall ist das Verhältnis k eine andere Interpretation - es zeigt die durchschnittliche Preisänderung pro Zeiteinheit. Eine weitere kleine Anmerkung: Ich habe die Zeit in die Gleichung einbezogen. In realen Berechnungen ist es jedoch viel einfacher, Indizes anstelle der Zeit zu verwenden. Erstens beeinträchtigen Feiertage und Wochenenden die Genauigkeit der Berechnungen erheblich. Und zweitens macht die Verwendung von Indizes die Gleichungen (und Berechnungen) viel einfacher. Die einzige Bedingung für diese Indizes ist, dass sie von links nach rechts ansteigen sollten.

Betrachten wir nun die Möglichkeiten zur Schätzung linearer Trendparameter. Zunächst einmal können wir die Methode der kleinsten Quadrate (least squares method, LSM) verwenden. Ich möchte Sie daran erinnern, dass ich anstelle von Zeit Indizes verwende, deren Werte von 0 bis n-1 variieren.

Es gibt jedoch zuverlässigere Methoden zur Bewertung dieser Parameter. Wir können zum Beispiel die Schätzung von Theil-Sen verwenden. Schauen wir uns an, wie diese Bewertung in der Praxis funktionieren könnte. Betrachten wir einen Trend mit den Parametern k=0,25 und b=10. Fügen Sie ein wenig Rauschen in Form von zufällig verteilten Abweichungen hinzu. Anhand der sich daraus ergebenden Punkte werden wir versuchen, die Parameter des ursprünglichen Trends zu ermitteln. Als Ergebnis erhalten wir etwa Folgendes.

Auf den ersten Blick sieht es so aus, als ob die robuste Methode keine großen Vorteile bringt. Das liegt aber nur daran, dass die Fehler in unserem Trendmodell gleichmäßig und nach dem Normalgesetz verteilt waren. Die tatsächlichen Preise erfüllen dieses Kriterium möglicherweise nicht. Dann funktioniert die Theil-Sen-Methode viel besser, und sie kann ein wenig mehr Informationen liefern. Das ist die robuste Schätzung, die ich in Zukunft verwenden werde.

Schauen wir uns also an, wie man die Parameter eines linearen Trends mithilfe der Theil-Sen-Methode schätzen kann. Zunächst müssen wir die k Parameter festlegen. Sie ist gleich dem Median aus allen möglichen Differenzen der Form:

Der Medianwert kann wie folgt ermittelt werden. Schreiben Sie zunächst alle Werte in ein Array. Dann wird er sortiert. Der Median entspricht dem Wert, der in der Mitte des Arrays liegt.

Jetzt können wir mit der Schätzung des Parameters b beginnen. Zu diesem Zweck müssen wir den Median aller möglichen Werte ermitteln:

Wir haben die Theorie verstanden, also ist es an der Zeit, zur Praxis überzugehen. Schauen wir uns an, welche Möglichkeiten uns die Verwendung der Theil-Sen-Schätzung eröffnet.


Theil-Sen-Schätzung und Indikatoren

Nach der Schätzung der Trendparameter verbleiben zwei Datenfelder. Sehen wir uns an, ob wir diese Arrays auf andere Weise verwenden können.

Wir haben also die Trendparameter bewertet und sogar eine Trendlinie erstellt. Jetzt können wir einen Kanal bilden, innerhalb dessen die Kursbewegung stattfindet. Dazu müssen wir zunächst feststellen, wie weit die Preise von der Trendlinie abweichen.

Verwenden wir das Array, das wir bei der Schätzung des Parameters b verwendet haben. Um die Abweichung zu schätzen, müssen wir die absolute Medianabweichung ermitteln. Das heißt, zunächst wird für jedes Element des Arrays der absolute Wert der Differenz zum Parameter b. Dann bleibt noch, den Median der erhaltenen Werte zu finden. Dieser Median ergibt eine zuverlässige Schätzung der Standardabweichung.

Wenn wir die Standardabweichung kennen, können wir einen Trendkanal erstellen. So sieht zum Beispiel ein Kanal mit 6 Standardabweichungen aus.

Dieser Indikator ist im Wesentlichen mit den Bollinger Bändern vergleichbar. Darüber hinaus können Trendkanallinien als Unterstützungs- und Widerstandsniveaus verwendet werden.

Außerdem können wir einen Fächer von Trendlinien erstellen. Alle Berechnungen werden auf die gleiche Weise durchgeführt wie bei der Konstruktion eines Kanals. Der einzige Unterschied besteht darin, dass wir die Parameter k und das entsprechende Array verwenden. So sieht ein Fächer mit einem Bereich mit der Abweichung 1 pro Winkel aus.

Natürlich können wir einen Kanal und einen Fächer (fan) kombinieren. Zu diesem Zweck werden zunächst die Kanallinien erstellt. Dann wenden wir den Fächer auf sie an. Als Ergebnis erhalten wir etwa Folgendes.

So konnten wir durch den Einsatz robuster Methoden eine Trendlinie und drei zusätzliche Indikatoren ermitteln, die in der technischen Analyse verwendet werden können.


Zusätzliche Überlegungen

Winkelbasierte Operationen können nicht nur für die Konstruktion von Trends und Winkeln verwendet werden. Erinnern wir uns an den bereits im Artikel erwähnten CCI-Indikator. Wie wäre es, wenn wir einen ähnlichen Indikator erstellen und dabei Trendwinkel anstelle von Preisen verwenden?

Dann werden wir in der Lage sein, Trendänderungen auf der Grundlage der Historie zu bewerten. So wird unser Indikator aussehen.

Alle technischen Indikatoren können für die Arbeit mit Winkelwerten umgewandelt werden. Mit diesen Optimierungen können wir neue Wege der technischen Analyse entdecken.


Schlussfolgerung

Die folgenden Programme wurden bei der Erstellung dieses Artikels verwendet.

Name Typ Beschreibung
Angle Two Pairs Indikator
  • SecSymbol - zweites Symbol, das für die Analyse verwendet wird;
  • iPeriode - Indikator Zeitrahmen.
LS vs Robust Skript Vergleich zwischen LSM und Theil-Sen-Schätzung.
Theil–Sen estimator Indikator
  • Typ - gewählter den Indikatortyp;
  • iPeriode - Indikator Zeitrahmen;
  • StDevAngle und StDevB - Anzahl der Standardabweichungen der Winkel und dem Parameter b.
Angle CCI Indikator
  • iPeriode - Indikator Zeitrahmen.


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

Beigefügte Dateien |
LS_vs_Robust.mq5 (3.22 KB)
Angle_CCI.mq5 (3.27 KB)
Die Basisklasse der Populationsalgorithmen als Rückgrat einer effizienten Optimierung Die Basisklasse der Populationsalgorithmen als Rückgrat einer effizienten Optimierung
Der Artikel präsentiert einen einzigartigen Forschungsversuch, eine Vielzahl von Populationsalgorithmen in einer einzigen Klasse zu kombinieren, um die Anwendung von Optimierungsmethoden zu vereinfachen. Dieser Ansatz eröffnet nicht nur Möglichkeiten für die Entwicklung neuer Algorithmen, einschließlich hybrider Varianten, sondern schafft auch eine universelle Basis-Testumgebung. Dieser Stand wird zu einem wichtigen Instrument für die Auswahl des optimalen Algorithmus für eine bestimmte Aufgabe.
Multibot im MetaTrader (Teil II): Verbesserte dynamische Vorlage Multibot im MetaTrader (Teil II): Verbesserte dynamische Vorlage
In Fortführung des Themas des vorangegangenen Artikels habe ich mich entschlossen, eine flexiblere und funktionellere Vorlage zu erstellen, die über größere Möglichkeiten verfügt und sowohl in der Freiberuflichkeit als auch als Basis für die Entwicklung von Mehrwährungs- und Mehrperioden-EAs mit der Fähigkeit zur Integration mit externen Lösungen effektiv genutzt werden kann.
Neuronale Netze leicht gemacht (Teil 78): Decoderfreier Objektdetektor mit Transformator (DFFT) Neuronale Netze leicht gemacht (Teil 78): Decoderfreier Objektdetektor mit Transformator (DFFT)
In diesem Artikel schlage ich vor, das Thema der Entwicklung einer Handelsstrategie aus einem anderen Blickwinkel zu betrachten. Wir werden keine zukünftigen Kursbewegungen vorhersagen, sondern versuchen, ein Handelssystem auf der Grundlage der Analyse historischer Daten aufzubauen.
Algorithmen zur Optimierung mit Populationen: Widerstand gegen das Steckenbleiben in lokalen Extremen (Teil II) Algorithmen zur Optimierung mit Populationen: Widerstand gegen das Steckenbleiben in lokalen Extremen (Teil II)
Wir setzen unser Experiment fort, das darauf abzielt, das Verhalten von Populationsoptimierungsalgorithmen im Zusammenhang mit ihrer Fähigkeit zu untersuchen, lokale Minima bei geringer Populationsvielfalt effizient zu umgehen und globale Maxima zu erreichen. Forschungsergebnisse werden vorgelegt.