English Русский 中文 Español 日本語 Português
Der selbstanpassenden Algorithmus (Teil IV): Zusätzliche Funktionen und Tests

Der selbstanpassenden Algorithmus (Teil IV): Zusätzliche Funktionen und Tests

MetaTrader 5Handel | 12 April 2021, 11:37
879 0
Maxim Romanov
Maxim Romanov

Einführung

Bevor Sie beginnen, empfehle ich Ihnen, den vorherigen Artikel der Serie "Selbstanpassender Algorithmus (Teil III): Verzicht auf Optimierung". Dies ist für das Verständnis des aktuellen Artikels notwendig.


Arbeiten innerhalb der Hauptserie

Der Handel wird durch Positionsserien durchgeführt. Die Mittel zur Eröffnung einer Position durch ein Handelsinstrument werden in mehrere Teile aufgeteilt, um den Einstiegspunkt unscharf zu machen. Der Algorithmus sagt die Wahrscheinlichkeit einer Umkehrung in einem bestimmten Bereich voraus, er kann jedoch nicht genau bestimmen, wann der Preis sich umkehrt. Um also Fehler bei der Eröffnung einer Position zu kompensieren, wird das Volumen bei Bedarf durch eine Reihe von Positionen akkumuliert.

Im vorherigen Artikel habe ich demonstriert, wie der Algorithmus ein Signal für die Positionseröffnung generiert und mehrere Skalen gleichzeitig analysiert, um die maximale Trendskala zu definieren. Der grundlegende Betriebsalgorithmus wurde beschrieben. Der Preisreihenchart besteht nicht nur aus einer Skala. Der Trend kann gleichzeitig auf mehreren Skalen vorhanden sein, während es auf anderen Skalen eine Seitwärtsbewegung geben kann. Diese Eigenschaft sollte genutzt werden, um einen Gewinn zu erzielen.

Dabei ist ein Trendabschnitt ein Segment, auf dem die Trendfortsetzungswahrscheinlichkeit 50% übersteigt, während eine Seitwärtsbewegung eine ist, auf dem die Trendumkehrwahrscheinlichkeit 50% übersteigt. Mit anderen Worten, wenn der vorherige Block gestiegen ist, dann wird im Trendabschnitt auch der neue Block mit einer Wahrscheinlichkeit von mehr als 50% wachsen. In einem Seitwärts-Chart folgt auf einen wachsenden Block höchstwahrscheinlich ein fallender Block. Die vorgeschlagene Definition habe ich in dem Artikel "Was ist ein Trend und basiert die Marktstruktur auf einem Trend oder einer Seitwärtsbewegung?" ausführlich beschrieben.

Trend-Seitwärtsbewegung

Abb. 1 Trend und Seitwärtsbewegung auf verschiedenen Skalen 

Abbildung 1 zeigt einen deutlich sichtbaren Abwärtstrend von 32 Blöcken von 0,00061. Dieser Trend ist bei 32 Blöcken mit der Skala von 0,00131 fast nicht vorhanden. In den meisten Fällen gibt es gleichzeitig die Skalen, die sowohl Trend als auch eine Seitwärtsbewegung aufweisen.

Der Algorithmus beginnt die Analyse immer auf den kleinsten Blöcken. Die Größe der Blöcke kann jedoch im Laufe der Analyse deutlich zunehmen, bis zu dem Punkt, an dem der Block einer größeren Skala genug Blöcke der ursprünglichen Größe enthalten kann, um das neue Startsignal der Serie zu erzeugen. Das Beispiel ist in Abbildung 2 dargestellt.

Das Innere des Blocks

Abbildung 2. Bewegungen innerhalb des großflächigen Blocks

Abbildung 2 zeigt, was im Inneren eines der Blöcke geschieht. Wir sehen einen wachsenden Block auf großskaligen Blöcken, aber wenn wir ins Innere schauen, können wir sehen, wie sich die Ereignisse entwickelt haben. Wenn der Algorithmus auf eine große Arbeitsskala umgeschaltet hat, dann helfen die Vorgänge, die im Inneren der Blöcke dieser Skala ablaufen, einen zusätzlichen Gewinn zu erzielen, der später zur Erhöhung der Stabilität des Algorithmus verwendet werden soll.

Die Arbeit wird durch logisch verbundene Reihen von Positionen ausgeführt. Wenn aber eine Blockskala stark vergrößert wird und die begonnene Serie nicht vollständig ist, starten wir eine neue Positionsserie, die unabhängig von der vorherigen ist, aber logisch mit ihr verbunden ist. 

Wir brauchen Kriterien für das Starten einer neuen Serie mit einer unvollständigen vorherigen Serie. Wenn wir einfach eine neue Serie starten, wenn eine Blockgröße der Hauptserie den Schwellenwert überschreitet, wird das Ergebnis schlecht sein. Der Algorithmus wird in solchen Fällen nicht adaptiv sein, da der Startschritt der neuen Serie manuell festgelegt wird. Mit diesem Ansatz startet der Algorithmus periodisch neue Serien auf einem langen Trendabschnitt, der die Belastung der Lagerstätte erhöht.

langer Trend

Abb. 3. Kleinere Oszillationen eines großen Trendsegments

Abbildung 3 zeigt einen langen Abwärtstrend von GBPUSD im Jahr 2008. Der Rollback auf diesem Trend bis zu seinem Ende dauerte 275 Tage. Längere Laufzeiten sind ebenfalls recht häufig. Es wäre falsch, wenn der Algorithmus nicht die ganze Zeit gehandelt hätte und stattdessen auf einen Preis-Rollback gewartet hätte, um die zuvor gestartete Positionsserie zu beenden. Die rote Ellipse zeigt den Bereich, in dem wir keine neue Serie starten können, während der blaue Kreis zeigt, wo zusätzliche Serien Gewinn bringen werden.

Es ist notwendig, das grundlegende Zeitrahmenkonzept einzuführen. In meiner Arbeit betrachte ich einen Zeitrahmen als eine Blockgröße. Die Ausgangsdaten für die Analyse werden aus dem statischen Zeitrahmen M1 genommen. Der Basiszeitrahmen ist ein Zeitrahmen, den der Algorithmus aktuell zum Öffnen von Positionen verwendet. Der Algorithmus beginnt die Marktanalyse vom ersten Zeitrahmen und erhöht ihn im Laufe seiner Arbeit je nach der Größe der Trendbewegung bis zum notwendigen Zeitrahmen. Wenn die Blockgröße des ersten Zeitrahmens gleich 10 Punkte ist, stellt sich die Blockgröße des zweiten Zeitrahmens als gleich 10*KTF heraus. Hier ist KTF ein Multiplikationsverhältnis der Blockgröße, um die Blöcke des nächsten Zeitrahmens zu erhalten. Wenn KTF=1,1 ist und die Blockgröße des ersten Zeitfensters 10 beträgt, sind die Blockgrößen wie folgt zu wählen:

TF1=10 Punkte, TF2=10*1.1=11 Punkte, TF3=11*1.1=12.1 Punkte, usw.

Die Hauptaufgabe besteht darin, den Start einer neuen Serie während einer langen Bewegung ohne Rollback zu verhindern. Wenn wir das Beispiel aus Abb. 3 verwenden, scannt der Algorithmus alle Skalen und geht nach dem Start der zweiten Serie in der Mitte des Trends sofort zur maximalen Skala oder einer Skala nahe der maximalen Skala über. In diesem Fall ist die Blockgröße des Basiszeitrahmens der zweiten Serie ungefähr gleich der Blockgröße des Basiszeitrahmens der ersten Serie, was nicht sinnvoll ist.

Damit das Signal der zweiten Serie aussagekräftig bleibt, sollte die Blockgröße des Basiszeitrahmens den Schwellenwert überschreiten, außerdem sollte es eine seitwärts gerichtete Bewegung mit ausreichender Amplitude auf dem Basiszeitrahmen der zweiten Serie geben. Es wurde der in Abbildung 4 dargestellte Mechanismus entwickelt.

bestätigte Serie

Abb. 4. Der Mechanismus zur Bestätigung des Beginns der zweiten Serie

Der Mechanismus wurde auf folgende Weise implementiert. Der Start der zweiten Serie wird möglich, nachdem der Basiszeitrahmen der ersten Serie den Schwellenwert überschritten hat. Danach beginnt die Suche nach dem Überschuss an fallenden oder wachsenden Blöcken auf dem ersten Zeitrahmen der zweiten Serie zur Bildung des Startsignals der zweiten Serie. Dies geschieht auf die gleiche Weise wie bei der ersten Serie. Nachdem das Startsignal der zweiten Serie gefunden wurde (ein Trendbereich von ausreichender Größe wurde gefunden), sollte die Fähigkeit, die zweite Serie zu starten, bestätigt werden. Um dies zu erreichen, müssen wir den seitwärts gerichteten Bereich auf dem Basiszeitrahmen der zweiten Serie finden. Dadurch können wir sicherstellen, dass der gefundene Trendbereich ein Teil des flachen Bereichs ist, und nicht eines großen Trends, der für die Operation der ersten Serie verwendet wurde.

Wenn 10 Blöcke für den Serienstart und die Suche nach einer Trendbewegung analysiert werden (wie in Abbildung 4), wie viele Blöcke sollten dann für die Suche nach dem flachen Bereich verwendet werden? Wenn der Wert starr festgelegt wird, verliert der Algorithmus seine Anpassungsfähigkeit. Das heißt, die Anzahl der Blöcke sollte irgendwie vom Marktgeschehen abhängen.

Um die Bestätigungsblöcke der Serien zu definieren, müssen wir den Bereich festlegen, innerhalb dessen die Suche nach dem Seitwärtssegment durchgeführt wird. Der Bereich wird mit zwei Werten eingestellt:

  • Bmin - minimale Anzahl der Blöcke des Bereichs der zweiten Serienbestätigung;
  • Bmax - maximale Anzahl der Blöcke des Bestätigungsbereichs der zweiten Serie;
  • NPb(s2) - Anzahl der vorherrschenden Blöcke der zweiten Serie;
  • %PV - angegebener Prozentsatz für die Definition des Seitwärts.

Bmin ist einfach definiert als Bmin=NPb(s2)/(%PV/100).

Um die obere Grenze des Bmax-Bereichs zu definieren, müssen wir die Anzahl der Blöcke des Basiszeitrahmens der zweiten Serie berechnen, die in die beiden zuletzt gebildeten Blöcke des Basiszeitrahmens der ersten Serie und die Blöcke des Basiszeitrahmens der zweiten Serie passen, für die der große Block noch nicht gebildet ist. Auf diese Weise wird die obere Grenze des Bmax-Bereichs berechnet. 

Betrachten wir ein Beispiel auf Abbildung 4. Lassen Sie %PV=50, die Anzahl der vorherrschenden Blöcke ist NPb(S2)=9. In diesem Fall ist Bmin=9/(50/100)=18. Die minimale Anzahl von Blöcken, in denen die Seitwärtsbewegung gefunden werden kann, ist 18. Um Bmax zu definieren, berechnen wir die Anzahl der kleinen Blöcke in den letzten beiden großen Blöcken. In Abb. 4 sind dies 14 Blöcke. Als Nächstes berechnen wir die Anzahl der kleinen Blöcke rechts vom Schließen des letzten großen. Dies ergibt 5 Blöcke. Definieren wir nun die Summe 14+5=19. Der resultierende Bereich ist Bmin=18, Bmax=19. 

Als Nächstes suchen wir das Seitwärtssegment im Bereich von 18 bis 19 Blöcken des Basiszeitrahmens der zweiten Serie. Das Segment, in dem die Anzahl der fallenden Blöcke gleich der Anzahl der wachsenden Blöcke ist, wird als seitwärts oder flach betrachtet. Das Kriterium des Seitwärtssegments kann in den Einstellungen angepasst werden, da 50% ein zu enger Bereich ist. Wir können 50-55% einstellen und davon ausgehen, dass, wenn die Anzahl der vorherrschenden Blöcke zwischen 50% und 55% liegt, dies ein flaches Segment ist.

Bei den Berechnungen kann sich Bmax als recht groß erweisen, während Bmin ein gleitender Wert ist. Daher wäre es falsch, ein seitwärts liegendes Segment mit einem festen Prozentsatz für unterschiedliche Anzahlen von Blöcken zu definieren. Sinnvoller wäre es, den Wert als Wahrscheinlichkeit für das Einfallen in den Bereich festzulegen und anschließend in den Prozentsatz umzurechnen. Die folgende Tabelle 1 tut genau das.

Serienbestätigungstabelle

Tabelle 1. Tabelle zur Berechnung des Prozentsatzes der Anzahl der Blöcke für die Bestätigung der Serie

Nehmen wir 56,25% der Blöcke in gleicher Richtung von 16 Blöcken als Kriterium für ein Seitwärtssegment. Dieser Prozentsatz entspricht 80,36% aller Ereignisse, die in den Bereich von 2 bis 16 vertikalen Blöcken fallen. Das bedeutet, dass der Prozess innerhalb von 16 Blöcken in 80,36% der Fälle von 2 bis 16 Blöcken vertikal durchläuft. Mit Hilfe der Tabelle ist es möglich, den Prozentsatz der Serienbestätigung für jede eindeutige Anzahl von Blöcken neu zu berechnen, wobei der Prozentsatz der Bestätigung so sein sollte, dass 80,36 % aller Ereignisse in den Amplitudenbereich fallen.

Wir sind in der Lage, mit Hilfe der Tabelle für jede Anzahl von Blöcken aus dem Bereich Bmin-Bmax eine entsprechende Serienbestätigung zu berechnen.

Ein solcher Mechanismus ermöglicht es, eine neue Positionsserie zu starten, wenn die vorherige noch nicht abgeschlossen ist, und verringert erheblich die Anzahl der Fälle, in denen die Blockgröße der zweiten Serie gleich der Blockgröße der ersten Serie wird, und die zweite Serie bedeutungslos wird.

Zu Beginn arbeitet die zweite Serie ähnlich wie die erste. Mit anderen Worten, der Algorithmus enthält alle Mechanismen der Trendverfolgung und der Anpassung der aktuellen Handelsskala. 

Sobald die zweite Serie startet, beginnt der Algorithmus mit der Verfolgung der Blockgröße seines Basiszeitrahmens. Wenn sie den Schwellenwert überschreitet, startet die dritte Serie gemäß den oben beschriebenen Bedingungen. Auf diese Weise können Sie so viele zusätzliche Serien wie nötig erstellen. 

Wie es funktioniert.

Betrachten wir als Beispiel den in Abbildung 5 dargestellten Ausschnitt des Diagramms. Dies ist derselbe Ausschnitt, der auch in Abbildung 3 dargestellt ist. Für den Algorithmus ist dieser Abschnitt recht kompliziert, da er ein langes Warten auf einen Rollback für die Schließungspositionen beinhaltet.

Eröffnungspositionen

Abbildung 5. Mehrere Serien gleichzeitig erstellen

Abbildung 5 zeigt das Verhalten des Algorithmus bei einem langen Trend. Nachdem die Hauptserie mit Kaufposition beginnt, ist der Block des Basiszeitrahmens zu groß geworden, was dem Algorithmus erlaubt, die zweite und dritte Serie zu erstellen, ohne auf das Schließen der Basisserie zu warten. Solch ein Ansatz ermöglicht es, Preisbewegungen auf kleineren Skalen zu nutzen und einen zusätzlichen Gewinn zu erhalten, der die Schwankungen auf dem Depot glättet.

Betrachten wir zwei Abschnitte mit demselben Preis und bewerten den Drawdown durch Fonds zu diesen beiden Zeitpunkten. Der erste Punkt ist am 13.11.2008 mit dem Preis von 1,45554, Kaufpositionen der ersten Serie sind offen und der Preis geht gegen offene Positionen. Die Mittel umfassen $8265,16. Dann fällt der Preis weiter und kehrt am 04.10.2009 auf 1,45554 zurück. Aber jetzt sind die Fonds um $1677,57 gestiegen und umfassen $9942,48. Wenn der Preis gegen unsere Position geht, ist der erhaltene Drawdown nicht zu groß im Vergleich zu dem, den wir ohne die Verwendung des zusätzlichen Serienmechanismus bekommen können.

Es ist möglich, die Risiken, die beim Handel in großem Maßstab entstehen, durch die Nutzung der Preisschwankungen von Vermögenswerten, die in kleinerem Maßstab auftreten, erheblich zu verringern. Die automatische Skalierung ermöglicht es uns, immer auf einer relevanten Skala zu handeln, während der zusätzliche Serienbestätigungsmechanismus eine Funktion der Anpassung an die aktuellen Bedingungen ist.


Kompensieren von Verlustpositionen und Entscheidungsfehlern

Die Methoden der Trenddefinition und der automatischen Skalierung funktionieren gut, aber sie sind nicht perfekt. Während seiner Arbeit öffnet der Algorithmus Positionen außerhalb der Zeit. Es kann sein, dass Positionen gleich zu Beginn eines ausgedehnten Trends geöffnet werden, was zu einem Verlust zum Ende der Positionsserien führen kann. Der Endpunkt der Positionen kann nicht verschoben werden, da er auf der Grundlage der Preisreihenparameter berechnet wird. Die Berechnung des Trend-Rollbacks wurde im vorherigen Artikel "Selbstanpassender Algorithmus (Teil III) beschrieben: Verzicht auf Optimierung". Es ist jedoch möglich, fehlerhafte Positionen zu erkennen und zu korrigieren.

Korrektur von fehlerhaften Positionen mit Hilfe des Gewinns der zusätzlichen Serien

Eines der Ziele des Algorithmus der zusätzlichen Serien liegt in der Korrektur von fehlerhaften Positionen. Im vorigen Artikel habe ich gezeigt, dass die durchschnittliche Amplitude der Preisbewegung in Abhängigkeit von der Anzahl der Schritte nichtlinear erhöht wird. Dementsprechend erhöht sich der durchschnittliche Verlust auf einer fälschlicherweise geöffneten Position nichtlinear von der Anzahl der durchgeführten Schritte.

durchschnittlicher Verlust

Abb. 6. Das Gesetz des zunehmenden Verlustes in Abhängigkeit von der Anzahl der durchlaufenen Schritte

Abbildung 6 zeigt ein ungefähres Gesetz, das den Anstieg eines durchschnittlichen Verlustes bei einer offenen Position definiert. Die Parameter unterscheiden sich geringfügig für jedes Instrument, aber, was am wichtigsten ist, die Kurvenform bleibt mehr oder weniger gleich, was bedeutet, dass dieser Parameter gemessen werden kann. Das Gesetz erlaubt uns, den durchschnittlichen Verlust einer falsch eröffneten Position vorherzusagen und zeigt die mögliche Effizienz der Nutzung des Gewinns aus zusätzlichen Serien, um falsch eröffnete Positionen zu schließen.

Ein Teil des Gewinns, der aus den zusätzlichen Serien gewonnen wird, wird zum Schließen der falsch geöffneten Positionen verwendet. Diesen Parameter habe ich in den Einstellungen für mich angepasst. Ein Teil des gewonnenen Gewinns soll für die Unterstützung der Zuverlässigkeit des Algorithmus verwendet werden. Je besser der Algorithmus ist, desto weniger Gewinnanteil soll ausgegeben werden, damit der Algorithmus stabil bleibt. Jetzt verwende ich 80% des zusätzlichen Seriengewinns, um verlorene Positionen zu kompensieren.

Um fehlerhafte Positionen zu erkennen, wird eine einfache Methode angewendet. Wenn die Serie einen Verlust in einem Serienabschluss-Referenzpunkt erhält, hat sie definitiv fehlerhafte Positionen. Aus allen Positionen der Serie suchen wir die verlustreichste heraus und bewerten den aktuellen Verlust auf dieser Position. Wenn die Position zur ersten Serie gehört, dann sollten 80 % des Gewinns aus der zweiten Serie den aktuellen Verlust der Position decken. Wenn die Bedingung erfüllt ist, wird die Position geschlossen. 

Die Mittel werden während der Arbeit akkumuliert. Sie sollen dazu verwendet werden, verlustbringende Positionen auszugleichen. Wenn die Notwendigkeit entsteht, werden diese Mittel verwendet, um einen Verlust auf einer offenen Position auszugleichen, und der Verlust aus der Schließung einer Position wird von der Reserve abgezogen. Der Algorithmus fährt fort, Reserven für den nächsten Ausgleich zu akkumulieren. Dies wird fortgesetzt, bis alle fehlerhaften Positionen geschlossen sind oder die Hauptserie endet. Nach Beendigung der Hauptserie werden alle ungenutzten Mittel aus der Reserve auf Null gesetzt.

Fehlerhaft geöffnete Positionen der ersten Serie bleiben auf dem Markt, bis der Gewinn der zweiten Serie es erlaubt, sie mit einem bedingten Gewinn gleich Null zu schließen. Ähnlich funktioniert es für den Rest der Serien. Der Gewinn der dritten Serie wird verwendet, um die fehlerhaften Positionen der zweiten Serie zu kompensieren, und so weiter. 

Abbildung 5 zeigt, dass einige Kaufpositionen der ersten Serie mit einem Verlust geschlossen wurden, ohne auf den allgemeinen Schlusspunkt der Serie zu warten. Dies geschah aufgrund der Aktivierung des Verlustausgleichsalgorithmus.

So sind die Schwankungen, die für den Gewinn in der zweiten Serie ausgenutzt werden, immer kleiner als die Amplitude des Trends der ersten Serie. Die Trendamplitude der dritten Serie ist sogar noch kleiner. Die zusätzlichen Serien führen nicht zu einer signifikanten Erhöhung des Kapitalrückgangs, sondern bringen zusätzlichen Gewinn, der zur Aufrechterhaltung der Stabilität genutzt wird. Die Anzahl der gleichzeitig geöffneten zusätzlichen Serien hängt ausschließlich vom aktuellen Marktzustand ab und ist vom Händler nicht konfigurierbar. Dies ist eine weitere adaptive Funktion. Der Algorithmus selbst hat eine fraktale Struktur. Er kopiert sich selbst auf verschiedenen Skalen. Gleichzeitig passt er seine Arbeit für jede Skala individuell an.

Die Korrektur des Serienschlusspunktes aufgrund von Schwankungen auf kleineren Skalen

Wie ich bereits geschrieben habe, hängt der Schließungspunkt der Serie (Rollback vom Haupttrend) von der Rollback-Geschwindigkeit ab. Die Geschwindigkeit wird in der Anzahl der Schritte gemessen, die der Preis für einen Rollback benötigt. Je höher die Anzahl der Schritte ist, desto geringer ist der Rollback aus einer Trendbewegung. Diese Eigenschaft hängt mit den fundamentalen Gründen für das Entstehen von Trends zusammen. Trends erzeugen Handelsvolumina, die die aktuelle Liquidität übersteigen. Mit anderen Worten, das Öffnen oder Schließen von Positionen für große Beträge. Eine bedingte Position, die zu einer Trendbewegung geführt hat, sollte geschlossen werden. Dies erfordert Liquidität. Wenn sie sofort geschlossen wird, dann wird der Rollback 100 % des vorherigen Trends betragen, d.h. es wird genau die gleiche Trendbewegung in die entgegengesetzte Richtung auftreten. Aber je langsamer die Position geschlossen wird, desto geringer ist der Rollback. In diesem Fall spielt es keine Rolle, ob die Bewegung durch einen einzelnen oder mehrere Marktteilnehmer verursacht wurde. Der Mechanismus ist der gleiche.

Der Algorithmus passt den Schließungspunkt basierend auf der Berechnung der Anzahl der Basiszeitrahmenblöcke an. Bei großen Skalen ist dies nicht ausreichend. Die Blöcke großer Skalen weisen ihre eigenen Preisschwankungen auf, die ebenfalls für die Anpassung des Schließungspunktes berücksichtigt werden sollten, da die Blöcke nur eine bedingte Darstellung von Preisbewegungen sind, die der Einfachheit halber erstellt wurden.

Am korrektesten ist es, alles zu berechnen und alle Schwankungen zu berücksichtigen. Aber ich werde es der Einfachheit halber anders machen (der Algorithmus ist schon ziemlich komplex). Ich werde den Gewinn der zusätzlichen Serie für ein Instrument verwenden, um den Schließungspunkt zu korrigieren. Das macht 80 % des Gewinns aus, der durch das Schließen der zusätzlichen Serien erzielt wird. Wir berechnen die Höhe des zu erzielenden Gewinns in der Einzahlungswährung Der aktuell vorhandene Gewinn der Zusatzserie wird zum aktuellen Gewinn der Serie addiert. Wenn der erhaltene Wert den berechneten Gewinn im Schlusspunkt übersteigt oder gleich ist, ist die Hauptserie abgeschlossen. Der Rollback wird als beendet angesehen und die Serie ist vollständig.

Schließungspunkt

Abbild 7. Korrektur der Schließungspunkte auf Basis des zusätzlichen Seriengewinns

Abbildung 7 zeigt die Korrektur der Schließungspunkte auf der Grundlage des zusätzlichen Seriengewinns. Offene Positionen sollten im oberen Punkt bei 1,69846 mit dem Gewinn von $915,66 geschlossen werden. Wenn der Preis 1,60887 erreicht, beträgt der aktuelle Gewinn $109,35. Aufgrund der großen Fluktuationen sind jedoch weitere Serien in der Lage, $1009 zu verdienen. 80% dieses Gewinns wird verwendet, um die Serie früher zu schließen. Das bedeutet, dass $807,2 verfügbar sind. Die Ungleichung von 109,35+807,2=916,55>915,66 wird geprüft und die Serie wird vorzeitig beendet.

Dies ermöglicht es uns, den Abschlusspunkt genauer zu definieren und die Anzahl der Fälle zu reduzieren, in denen ein Rollback bereits beendet ist, während eine Serie noch nicht abgeschlossen ist.

Korrektur von fehlerhaften Positionen unter Verwendung des Gewinns aus dem Handel mit anderen Vermögenswerte

Der oben beschriebene Algorithmus ermöglicht es, die Volatilität der Vermögenswerte zu reduzieren. Das System ist jedoch für die gleichzeitige Arbeit an 28 Handelsinstrumenten gedacht. Bestimmte Handelsinstrumente können sich für eine lange Zeit in einem Zustand eines übermäßigen Auf- oder Abwärtstrends befinden. Wir müssen den Gewinn aus der Schließung jeder ersten Serie auf anderen Instrumenten nutzen, um die Volatilität des Profit-Charts noch weiter zu reduzieren. 

Dieser Ansatz funktioniert, wenn der Trend auf einigen Handelsinstrumenten von einem Seitwärts auf anderen begleitet wird. Abbildung 6 zeigt ein ungefähres Gesetz, das die Zunahme der durchschnittlichen Amplitude der Schwankungen auf einem einzelnen Instrument in Abhängigkeit von der Anzahl der Schritte erklärt. Mit der Kenntnis dieses Gesetzes ist es möglich, dieselben Entwicklungen für 28 Handelsinstrumente vorherzusagen. Mit anderen Worten, die durchschnittliche Strecke, die der Preis vertikal durchläuft, ist ungefähr proportional zur Schrittgröße multipliziert mit der Anzahl der Schritte hoch 0,5 (die Potenz ist für verschiedene Instrumente und Märkte unterschiedlich). Zur besseren Veranschaulichung ist es besser, 28 Handelsinstrumente zu nehmen und die Distanz zu berechnen, die sie im Durchschnitt innerhalb von n Schritten zurücklegen können, und dies in einem Diagramm darzustellen.

Wie können wir also 28 unabhängige Handelsinstrumente in einem einzigen Graphen darstellen? Jedes von ihnen hat seine eigene Volatilität und unterschiedliche Schwankungsbreite. Es ist bekannt, dass das Verhalten eines jeden Handelsinstruments nicht dem eines anderen ähnlich ist. Sie ähneln sich jedoch nicht nur in der Form, in der wir sie auf dem Graphen sehen. Wenn wir die Größe der Kerzen nicht in Punkten, sondern in einer einzigen Währung (z.B. USD) umrechnen und davon ausgehen, dass wir Transaktionen für einen festen Betrag in USD durchführen, wird die Skala und die Volatilität jedes Instruments ungefähr gleich. Innerhalb eines Handelssystems ist der entscheidende Faktor die Menge an USD, die der Preis innerhalb von n Schritten vertikal durchläuft, wenn wir einen festen Betrag handeln.

Wir sollten vom Graphen in Punkten zum Graphen der Gewinne übergehen. Ich spreche hier von einer festen Summe für den Handel und nicht von einer festen Losgröße. Dies sind völlig unterschiedliche Dinge. Lassen Sie uns den Handel mit Währungspaaren in Höhe von $1000 für jedes Instrument durchführen. In diesem Fall haben wir vier Gleichungstypen in Abhängigkeit von einem Währungspaar. Berechnen wir die Kerzengröße von Punkten zu USD nach den folgenden Gleichungen:

  • Formel EURUSD;
  • Formel USDCAD;

  • Formel EURGBP;

  • Formel CADCHF.

In den Gleichungen: 

  • EURUSD, USDCAD, EURGBP, CADCHF — Kerzengröße in USD für das entsprechende Währungspaar beim Handel von $1000;
  • EURUSD(-1), USDCAD(-1), EURGBP(-1), CADCHF(-1) — Schlusskurs der vorherigen Kerze;
  • EURUSD(0), USDCAD(0), EURGBP(0), CADCHF(0) — Schlusskurs der zuletzt gebildeten Kerze;
  • 1000 — Dealgröße in USD.

Betrachten wir die erste Gleichung für EURUSD und alle Währungspaare, in denen das Geschäft in der Höhe der zweitfolgenden Währung durchgeführt wird. Deals werden für die Summe von $1000 abgeschlossen. In diesem Fall ist die Logik der Definition der Kerzengröße wie folgt: Verkauf von $1000 -->> Kauf von EUR zum Kurs der vorherigen Kerze (-1 Kerze) -->> auf $1000 wird ein umgekehrtes Geschäft auf EUR zum Kurs der letzten geschlossenen Kerze (0 Kerze) durchgeführt -->> von der Anzahl der für $1000 gekauften EUR zum Kurs der (-1) Kerze, subtrahieren Sie die Anzahl der für $1000 verkauften EUR zum Kurs der Kerze Null -->> der erhaltene Gewinn/Verlust in EUR wird in USD zum aktuellen Kurs von EURUSD umgerechnet -->> Gewinn/Verlust in USD wird erhalten. Auf diese Weise definieren wir die Kerzengröße in USD. 

Um dann einen Graphen mit der Kerzengröße in USD zu erstellen, wird die Größe jeder nachfolgenden Kerze zur Größe der vorherigen Kerze addiert.

Für USDCAD und andere Währungspaare, bei denen der USD an erster Stelle steht, ist die Berechnung einfacher. Die Transaktion wird bereits in USD durchgeführt. Für Kreuzkurse ist die Berechnung ähnlich der EURUSD-Gleichung, außer dass im EURGBP-Paar $1000 in GBP konvertiert werden sollten, dann sollte eine Handelsoperation durchgeführt werden, und dann sollte der resultierende Gewinn in EUR zurück in USD konvertiert werden. Für CADCHF ist die Idee ähnlich wie bei den vorherigen Optionen, aber die Berechnung wird über das Paar durchgeführt, bei dem USD an erster Stelle steht, so dass die Gleichung entsprechend modifiziert wird.

In jedem Fall besteht die Idee hinter den Operationen darin, die Menge an USD zu berechnen, die man beim Handel mit der Summe von $1000 für die Kerze einer bestimmten Amplitude für jedes Währungspaar verdienen/verlieren kann. 

In diesem Algorithmus werden 80 % des gesamten Gewinns, der aus der Schließung jeder ersten Serie eines beliebigen Handelsinstruments erzielt wird, für die Kompensation von fehlerhaft geöffneten Positionen eines Instruments verwendet, für die eine solche Kompensation erforderlich ist. Somit arbeitet der gesamte Algorithmus darauf hin, "übermäßige Positionen" auf einem beliebigen Handelsinstrument rechtzeitig zu schließen. Das Ziel ist es, fehlerhafte Positionen so schnell wie möglich zu schließen, damit langwierige Trendabschnitte nicht zu einem signifikanten Kapitalrückgang führen. Dies soll die Volatilität der Profitabilitätskurve reduzieren.

28 Währungspaare

Abb. 8. Der Weg von 28 Währungspaaren innerhalb von 10.000 Schritten

Abbildung 8 zeigt die Gewinnkurven für 28 Währungspaare, die gleichzeitig mit den oben dargestellten Gleichungen berechnet wurden. Die Graphen sind für 10.000 H4-Kerzen erstellt. Der analysierte Zeitraum ist von 2004 bis Mitte 2010. Die Excel-Datei ist unten angehängt, so dass Sie in der Lage sind, Ihre Daten einzufügen und die Gleichungen zu sehen, die zur Erstellung der Diagramme verwendet wurden.

Abbildung 8 zeigt, dass bei einigen Währungspaaren eine Seitwärtsbewegung erkannt wird, während bei anderen ein Trend vorliegt. Dies bestätigt die Möglichkeit, die Volatilität des Profitabilitätsgraphen zu reduzieren, indem man die fehlerhaft eröffneten Positionen durch den Gewinn aus dem Handel mit allen Instrumenten gleichzeitig kompensiert. Es gibt immer ein Handelsinstrument, an dem der Algorithmus gerade verdienen kann.

Dieses Verhalten ist nicht nur für den Devisenmarkt typisch, sondern mit einigen Vorbehalten auch für den Aktienmarkt. Der Devisenmarkt ist bei Kursanstiegen und -rückgängen oft symmetrisch, während der Aktienmarkt asymmetrisch ist. Die Entwicklungen auf dem Devisen- und dem Aktienmarkt werden in etwa gleich sein, mit dem einzigen Unterschied, dass der Aktienmarkt die Tendenz nach oben und die größere Korrelation zwischen den Vermögenswerten aufweist. Aber wenn wir Handelsinstrumente von Börsen verschiedener Länder nehmen, dann kann die Korrelation deutlich reduziert werden bis hin zu einer negativen Korrelation zwischen den Vermögenswerten.

Außerdem habe ich die durchschnittliche Kerzengröße (in USD) von allen Handelsinstrumenten geändert. Sie umfasste $2.26. Wenn man die Anzahl der Schritte und die durchschnittliche Schrittgröße kennt, ist es möglich, die durchschnittliche vertikale Bewegung aller Instrumente zu bewerten. $2.26*10,000^0.5=$226. In der Realität bewegten sich alle Handelsinstrumente im Durchschnitt $216,41 innerhalb von 10.000 Schritten, was nahe am theoretischen Wert liegt.

In diesem Algorithmus werden 80 % des gesamten Gewinns, der aus der Schließung jeder ersten Serie eines beliebigen Handelsinstruments erzielt wird, für die Kompensation von fehlerhaft geöffneten Positionen eines Instruments verwendet, für die eine solche Kompensation erforderlich ist. Somit arbeitet der gesamte Algorithmus darauf hin, "übermäßige Positionen" auf einem beliebigen Handelsinstrument rechtzeitig zu schließen. Das Ziel ist es, fehlerhafte Positionen so schnell wie möglich zu schließen, damit langwierige Trendabschnitte nicht zu einem signifikanten Kapitalrückgang führen. Dies soll die Volatilität der Profitabilitätskurve reduzieren.

Abbildung 9 zeigt, wie dies funktioniert. Für den Test werden nicht-korrelierende Instrumente ausgewählt. Der Test selbst wird auf M1 für das Jahr 2020 durchgeführt. Es ist zu beachten, dass die Einstellungen nicht optimiert und für alle Instrumente gleich eingestellt wurden. Der Algorithmus passt seine Arbeit in Echtzeit an.

GBPUSD+AUDNZD

EURCAD+CHFJPY

GBPUSD+AUDNZD+EURCAD+CHFJPY

Abb. 9. Multi-Instrumenten-Kompensationsfunktion

Zunächst wird der Test mit separaten Währungspaaren durchgeführt, um die Rentabilitätskurve jedes Paares zu bewerten. Dann wird der Test gleichzeitig auf vier Währungspaaren mit den aktivierten Kompensationsmodi durchgeführt.

Wir können sehen, dass der maximale Drawdown des Geldes bei GBPUSD lag und $4311 umfasste. Der maximale Gewinn wurde auch auf GBPUSD festgestellt und ist gleich $1555. Zur gleichen Zeit zeigt AUDNZD einen Verlust von $109 aufgrund des Abbruchs des Tests. Wäre er fortgesetzt worden, wäre der Handel profitabel gewesen.

Der Algorithmus der Multi-Instrumenten-Kompensation ermöglicht die Senkung des Rückgangs des Geldes während des Tests auf vier Währungspaaren gleichzeitig von $4311 auf $3517, d.h. um 18%. Der Gesamtgewinn ist $2015.21 geworden. Die resultierende Gesamtzahl der abgeschlossenen Transaktionen während des separaten Handels beträgt 1446 und sinkt auf 1409 während des gemeinsamen Handels, was darauf hindeutet, dass die Kompensationsalgorithmen den Verlauf des Handels praktisch nicht beeinflussen, sondern die Stabilität der Arbeit verbessern.

Je mehr Handelsinstrumente für den Handel verwendet werden, desto glatter (bis hin zu einer linearen) Gewinnkurve kann man also beim gleichzeitigen Handel von 1000 Handelsinstrumenten von verschiedenen Weltbörsen und Märkten erhalten. Wir sind in der Lage, Aktien, Währungen und sogar Kryptowährungen gleichzeitig zu handeln, indem wir die Transaktionsvolumina für jedes Handelsinstrument auf eine angemessene Weise ausgleichen.


Tests

Der Algorithmus sollte auf jedem Handelsinstrument funktionieren. Daher werde ich zuerst zeigen, wie er auf AAPL (Apple) Aktien funktioniert. Im Moment ist der EA nicht in der Lage, statistische Parameter eines Instruments zu sammeln. Diese Funktion befindet sich in der Entwicklung. Aus diesem Grund werde ich zwei Parameter manuell konfigurieren. Das sind die Prozentsätze für das Öffnen und Schließen einer Serie. Die Parameterwerte werden jedoch nicht durch die Optimierung und Anpassung ermittelt, sondern durch den Indikator, der in den EA integriert werden soll. Der EA wird diese Werte in Zukunft selbständig anpassen.

AAPL Kaufen 

AAPL Kaufen Testbericht

Abb. 10. AAPL (nur Kaufpositionen)

Die Tests werden für Kauf- und Verkaufspositionen getrennt durchgeführt, da die statistischen Charakteristiken des Instruments für steigende und fallende nicht symmetrisch sind. Für Kaufpositionen sind die Parameter aggressiver, während sie für Verkaufspositionen konservativer sind. Nur zwei Parameter ändern sich.

Abbildung 10 zeigt das Ergebnis des Backtests vom 24.06.2012 bis 28.12.2020 (7,5 Jahre). Der Test wurde auf М1 durchgeführt. Die Gewinnkurve ist glatt, der maximale Drawdown nach Eigenkapital ist $858, während der Gewinn $1704 ist. Die Gesamtzahl der offenen Positionen beträgt 176, während der Gewinnfaktor 18,13 beträgt, was ein sehr gutes Zeichen ist.

Einige mögen sagen, dass ein komplexer Algorithmus unnötig ist, wenn wir von einer wachsenden AAPL-Aktie profitieren wollen, indem wir nur Kaufpositionen eröffnen. Und sie haben Recht. Lassen Sie uns sehen, wie sich der Algorithmus verhält, wenn nur Verkaufspositionen erlaubt sind. Das Eröffnen von Verkaufspositionen von Apple-Aktien scheint eine selbstmörderische Idee zu sein, aber der Algorithmus soll ja adaptiv sein. Schauen wir also, ob er überlebt.

AAPL verkaufen

AAPL Bericht über Verkaufen

Abbildung 11. AAPL (nur Verkaufsposition)

Abbildung 11 zeigt die Ergebnisse des Algorithmus mit AAPL-Aktien vom 24.06.2012 bis 28.12.2020, M1. Sie sind nicht so gut wie im Fall von Kaufpositionen, aber der Algorithmus schafft es trotzdem, einen Gewinn zu erzielen. Hier beträgt der maximale Kapitalrückgang $10.533, während die Profitabilität $2234 beträgt. Der Gewinnfaktor ist wesentlich niedriger und ist gleich 1,4. Die Gesamtzahl der offenen Positionen beträgt 944. Wenn es möglich wäre, sowohl zu kaufen als auch zu verkaufen, wäre das Ergebnis besser, weil die Algorithmen der fehlerhaften Positionskompensation die Volatilität der Gewinnkurve reduzieren. Die Ergebnisse werden noch besser, wenn 28 Handelsinstrumente gleichzeitig gehandelt werden. Die Fähigkeit des Algorithmus, 7,5 Jahre im fast autonomen Modus zu bestehen, ohne die Parameter an die Historie anzupassen, ist ein gutes Ergebnis.

Jetzt ist es wichtig, dass er in der Lage ist, sich an schwierige Bedingungen anzupassen. Ich habe mich entschieden, den Test auf AAPL durchzuführen, da dies offensichtlich ein schwieriges Handelsinstrument für das Eingehen von Verkaufspositionen ist. Werfen wir einen Blick auf den Chart des Instruments während des Tests.

AAPL-Chart

Abb. 12. AAPL-Chart von 06.24.2012 bis 12.28.2020

Abbildung 12 zeigt das starke Wachstum der AAPL-Aktie. In den letzten 7,5 Jahren ist der Wert um das 6,3-fache gewachsen. Die Erzielung von Gewinnen auf einem solchen Chart nur mit dem automatischen Handel ohne Optimierung ist eine ziemlich anspruchsvolle Aufgabe.

Der Algorithmus ist für den gleichzeitigen Handel mit 28 Instrumenten gedacht. Deshalb werden die Tests mit 28 Handelsinstrumenten durchgeführt. Sehen wir uns zunächst die Ergebnisse für die Arbeit auf FOREX an. Die folgenden Währungspaare wurden für den Test verwendet: GBPUSD, EURUSD, NZDUSD, AUDUSD, USDCAD, USDCHF, USDJPY, EURGBP, EURAUD, EURNZD, EURCAD, EURCHF, EURJPY, GBPAUD, GBPNZD, GBPCAD, GBPCHF, GBPJPY, AUDNZD, AUDCAD, AUDCHF, AUDJPY, NZDCAD, NZDCHF, NZDJPY, CADCHF, CADJPY und CHFJPY. Alle Paare haben völlig identische Einstellungen. Der Algorithmus passt sich an alle Änderungen in Echtzeit an. 

Der Test wurde vom 01.01.2008 bis zum 01.13.2021 (13 Jahre) auf М1 durchgeführt. Der EA verbraucht große Ressourcen und der Test von einem Jahr dauert etwa 12 Tage. Daher wird das gesamte Testintervall in Abschnitte von 1 - 2,5 Jahren unterteilt, um die Tests zu parallelisieren.

2008-2009

2009-2010

2010-2011

24.06.2010 -24.06.2012

24.06.2012 - 24.06.2014

24.06.2014-24.06.216

24.06.2016 - 24.06.2018

24.06.2018-13.01.2021

Abb. 13. Tests von 28 Währungspaaren vom 01.01.2008 bis 01.13.2021

Abbildung 13 zeigt die Tests von 28 Währungspaaren gleichzeitig an. Wie wir sehen können, endete der Handel für fast alle Testintervalle mit Gewinn, außer für das Intervall vom 24.06.2012 bis 24.06.2014. Hier schließt der Test mit einem kleinen Verlust von $123 ab. Dies liegt daran, dass der Test gestoppt wurde. Wenn der Test 13 Jahre ununterbrochen fortgesetzt würde, käme der EA aus dem Drawdown heraus. Die Gesamtzahl der offenen Positionen beträgt 14.415. Dieser statistisch signifikante Wert deutet darauf hin, dass die erzielten Ergebnisse nicht zufällig sind. Der Kapitalrückgang hat einen angemessenen Wert. Die zukünftigen Versionen des Algorithmus sollten jedoch verbesserte Rentabilitäts- und Stabilitätsparameter aufweisen. 

Da der EA vielseitig ist, wollen wir sehen, wie er auf Aktien russischer Unternehmen funktioniert, die an der MOEX gehandelt werden. Die Einstellungen sind die gleichen, die auch für die Währungen gelten. Allerdings sind nur Long-Positionen erlaubt. In der aktuellen EA-Version ist es noch nicht möglich, die Parameter für Short- und Long-Positionen getrennt einzustellen. Diese Funktion befindet sich derzeit in der Entwicklung. Der Test wurde vom 02.01.2013 bis zum 20.09.2018 (5 Jahre und 7 Monate) durchgeführt. Der vorgegebene Hebel im Tester ist 1:5. Das Portfolio enthält die liquidesten Instrumente: GAZP, CHMF, ALRS, HYDR, LKOH, MAGN, MGNT, MTSS, NLMK, NVTK, ROSN, RTKM, SBER, SNGS, SNGSP, TATN, VTBR, SBERP, TATNP, AFLT, FEES, GMKN, RSTI, SIBN, UPRO, MSNG, MTLR and PLZL.

moex

Abb. 14. Der Test wurde für 28 Aktien russischer Unternehmen von 02.01.2013 bis 20.09.2018 durchgeführt

Abbildung 14 zeigt die Testergebnisse für 28 Aktien russischer Unternehmen. Der Algorithmus verdient recht konsistent und gleichmäßig. Genau wie im vorherigen Fall ist die Rentabilität niedrig ausgefallen, aber das Wichtigste ist, dass er profitabel bleibt. Die Gesamtzahl der offenen Positionen beträgt 5485. Das deutet darauf hin, dass das Ergebnis nicht zufällig ist. 

Quellen des Gewinns

Es reicht nicht aus, einen funktionierenden Algorithmus oder ein Modell zu entwickeln. Eine weitere wichtige Komponente ist das Verständnis, warum es funktioniert und woher der Gewinn kommt. In diesem Fall wird der Gewinn aus einer nicht offensichtlichen Quelle gewonnen, nämlich aus der Erhöhung der Entropie. Ich spreche von der Entropie, die durch das Boltzmannsche Prinzip bestimmt wird und durch die Anzahl der möglichen Systemzustände und die Wahrscheinlichkeit eines bestimmten Zustands charakterisiert ist.

Mit anderen Worten: Die Entropie im Markt ist annähernd konstant. Je höher die Liquidität eines Instruments ist, desto höher ist die Entropie des Preisdiagramms dieses Instruments. Mit einer Zunahme der Anzahl der Handelsoperationen, die auf einem Handelsinstrument durchgeführt werden, steigt auch die Anzahl der möglichen Zustände und das System strebt danach, den wahrscheinlichsten Zustand einzunehmen. Der Effekt der Erhöhung der Entropie tritt auf, wenn die Entropie selbst ungefähr konstant ist, aber die Anzahl der möglichen Zustände des Systems wächst.

Die höchste Entropie kann auf dem Devisenmarkt beobachtet werden, während die niedrigste Entropie bei niedrig liquiden Vermögenswerten festgestellt wird. Die Entropie eines jeden spezifischen Handelsinstruments tendiert dazu, die höchste zu werden, aber der Zufluss von Geldmitteln verhindert dies. Der Zufluss von Geldmitteln entsteht aus zwei Gründen: Investitionsattraktivität des Vermögenswertes und die Emission von Geldmitteln. Die Entropie eines jeden Handelsinstruments wächst schließlich.


Zusammenfassung

Die Rentabilität ist recht gering, aber die Artikel demonstrieren das Modell des vollautomatischen profitablen Handels mit völlig unterschiedlichen Instrumenten, die auf grundlegend verschiedenen Märkten gehandelt werden. Es werden die Tests zu 57 Handelsinstrumenten angezeigt. Da sie identische Parameter haben, entspricht dies 520 Jahren an Tests für ein einziges Handelsinstrument.

  • Ich habe den grundlegenden Algorithmus entwickelt, der zuverlässig arbeitet und einen Raum für Verbesserungen hat. Jeder beschriebene Mechanismus sollte verbessert werden, um die Rentabilität deutlich zu erhöhen und die Drawdowns der Fonds zu verringern. 
  • Im vorherigen Artikel habe ich über die zwei Methoden der Verfolgung des aktuellen Trends geschrieben. Sie sind im Absatz "Verzögerung der Positionseröffnung" beschrieben. Die Tests für 28 Handelsinstrumente werden mit der Methode "Trendsegmentverzögerung" durchgeführt. Dies ist nicht die beste Methode, da "Verzögerung basierend auf den statistischen Eigenschaften des Instruments" besser funktioniert, aber der Algorithmus ist noch nicht fertig, deshalb habe ich nur die Arbeitsfunktionalität verwendet. In den zukünftigen Versionen des Algorithmus wird diese Funktion deutlich verbessert werden.
  • Die zusätzliche Analyse der Daten für die vorläufige Auswahl der minimalen Blockgröße ist erforderlich, um die Anzahl der fälschlicherweise geöffneten Positionen zu verringern.
  • Der Algorithmus berücksichtigt keine Unterschiede in den Preisen der Vermögenswerte, die zu Unterschieden in den auf diesen Vermögenswerten basierenden Blockpreisen führen. Dies reduziert die Rentabilität von Börseninstrumenten erheblich. Wir müssen den Ausgleich einer Losgröße durch ein Portfolio in Abhängigkeit von einem Blockpreis für jedes spezifische Asset hinzufügen.
  • Es ist auch notwendig, die separate Verwaltung der Entscheidungsalgorithmen für Kauf- und Verkaufspositionen zu implementieren, sowie die Analyse der Statistikparameter und der Asymmetrie jedes bestimmten Handelsinstruments hinzuzufügen.
  • 80% des gesamten Gewinns wird für die Aufrechterhaltung der Stabilität des Algorithmus ausgegeben. Es ist notwendig, sowohl den Mechanismus der Kompensation von Verlustpositionen als auch die Entscheidungsmechanismen zu verbessern. Dadurch wird die Rentabilität erheblich verbessert.
  • Der Algorithmus ist nicht in der Lage, statistische Parameter jedes Handelsinstruments zu sammeln und wendet derzeit nur die Anpassungsmechanismen an. In den nächsten Versionen sollen die Parameter basierend auf statistischen Merkmalen eines Handelsinstruments vollautomatisch angepasst werden, um die Profitabilität zu verbessern. 
  • Die Unterschiede zwischen Kurscharts von Währungspaaren und Aktien werden noch nicht genutzt. Das Modell soll durch das Hinzufügen des bereits vorhandenen Wissens verbessert werden.

    Frühere Artikel zu diesem Thema

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

    Beigefügte Dateien |
    chart_in_dollars.zip (16374.28 KB)
    Preise in der DoEasy-Bibliothek (Teil 64): Markttiefe, Klassenobjekte für Schnappschüsse der Markttiefe und der Schnappschuss-Reihen Preise in der DoEasy-Bibliothek (Teil 64): Markttiefe, Klassenobjekte für Schnappschüsse der Markttiefe und der Schnappschuss-Reihen
    In diesem Artikel werde ich zwei Klassen erstellen (die Klassenobjekte des DOM-Schnappschusses und die der DOM-Schnappschuss-Reihe) und die Erstellung der DOM-Datenreihe testen.
    Nützliche und exotische Techniken für den automatisierten Handel Nützliche und exotische Techniken für den automatisierten Handel
    In diesem Artikel werde ich einige sehr interessante und nützliche Techniken für den automatisierten Handel vorstellen. Einige davon sind Ihnen vielleicht schon bekannt. Ich werde versuchen, die interessantesten Methoden zu behandeln und werde erklären, warum es sich lohnt, sie zu verwenden. Außerdem werde ich zeigen, wozu diese Techniken in der Praxis taugen. Wir werden Expert Advisors erstellen und alle beschriebenen Techniken anhand von historischen Kursen testen.
    Maschinelles Lernen für Grid- und Martingale-Handelssysteme. Würden Sie darauf wetten? Maschinelles Lernen für Grid- und Martingale-Handelssysteme. Würden Sie darauf wetten?
    Dieser Artikel beschreibt die Technik des maschinellen Lernens, die auf den Grid- und Martingale-Handel angewendet wird. Überraschenderweise hat dieser Ansatz wenig bis gar keine Verbreitung im globalen Netzwerk. Nachdem Sie den Artikel gelesen haben, werden Sie in der Lage sein, Ihre eigenen Trading Bots zu erstellen.
    Neuronale Netze leicht gemacht (Teil 11): Ein Blick auf GPT Neuronale Netze leicht gemacht (Teil 11): Ein Blick auf GPT
    Eines der fortschrittlichsten Modelle unter den derzeit existierenden neuronalen Netzen für Sprachen ist vielleicht GPT-3, dessen maximale Variante 175 Milliarden Parameter enthält. Natürlich werden wir ein solches Ungetüm nicht auf unseren Heim-PCs erstellen. Wir können uns jedoch ansehen, welche architektonischen Lösungen bei unserer Arbeit verwendet werden können und wie wir von ihnen profitieren können.