English Русский 中文 Español 日本語 Português
preview
Brute-Force-Ansatz zur Mustersuche (Teil V): Neue Blickwinkel

Brute-Force-Ansatz zur Mustersuche (Teil V): Neue Blickwinkel

MetaTrader 5Handel | 18 Dezember 2023, 09:37
362 0
Evgeniy Ilin
Evgeniy Ilin

Inhalt


Einführung

Es ist schon eine ganze Weile her, dass ich den letzten Artikel zu diesem Thema veröffentlicht habe. Seitdem musste ich vieles von dem, was ich vorher gemacht habe, neu überdenken. Dies ermöglichte es, das Problem des profitablen algorithmischen Handels aus einem völlig anderen Blickwinkel zu betrachten und dabei all die kleinen Dinge zu berücksichtigen, die vorher nicht in Betracht gezogen werden konnten. Anstelle von standardisierter und farbloser Mathematik und Code biete ich meinen Lesern an, das Problem auf eine völlig andere Weise anzugehen. Dieser Artikel kann sowohl der Beginn von etwas Neuem als auch ein Neustart von Altem sein. Ich bin es leid, schlau zu sein und unnötige Gleichungen und Codes auf den Müllhaufen der Geschichte zu werfen, daher wird dieser Artikel so einfach und verständlich wie möglich für jeden Leser sein.


Möglichkeiten, das Ziel zu erreichen

Ich fing an, über die Vielfalt der Wege nachzudenken, die Menschen zum Erfolg führen oder in Sackgassen führen, wenn sie versuchen, mit algorithmischem Handel Geld zu verdienen. Theoretisch gibt es also mehrere Möglichkeiten:

  1. Frontale Annäherung.
  2. Schönes Bild.
  3. Fertige Handelssysteme.
  4. Modernisierung und Hybridisierung von öffentlich verfügbaren Algorithmen.
  5. Team-Ansatz.

Der erste Ansatz ist bei hartnäckigen Menschen am weitesten verbreitet. Für Menschen wie mich ist es sogar nützlich, um Ambitionen und falsche Hoffnungen loszulassen. Das hört sich nicht nach viel an, aber es ist tatsächlich sehr vorteilhaft für Ihre Zukunft. Dieser Ansatz ist sehr mühsam und zeitaufwändig, und wenn Sie damit nicht irgendwann aufhören, werden Sie vielleicht zu einem Doktor der Forumswissenschaften mit allen sich daraus ergebenden Konsequenzen. Ich denke, hier sind keine Klarstellungen erforderlich. Jeder versteht meinen Sarkasmus sehr gut. Nichtsdestotrotz ermöglicht Ihnen dieser Ansatz, die theoretischen Informationen zu lernen, die ich in meiner Zeit gelernt habe, und ihr Wert ist absolut. Die Hauptsache ist, dass man rechtzeitig aufhört. Wenn wir die aufgewendete Zeit und die erzielten Ergebnisse abwägen, ist das Ergebnis natürlich alles andere als perfekt.

Der zweite Ansatz ist viel einfacher und in der Tat sehr viel effizienter, was den Zeitaufwand angeht, denn er ist mit viel weniger Aufwand verbunden, und Sie müssen die Leute nur davon überzeugen, dass Sie erfolgreich sind. Alles ist in unseren Köpfen, und irgendwann habe ich gemerkt, dass das wunderbar funktioniert. Die Menschen neigen dazu, schönen Verpackungen zu vertrauen. Hier ist kein Platz für Moral oder etwas anderes. Das Ergebnis ist alles, was zählt. Das mag zynisch erscheinen, aber die ganze Welt lebt so. Alles, was Sie brauchen, ist ein bestimmtes Bild zu schaffen. Sie können Martingale, Mittelwertbildung oder andere Handelstechniken verwenden. Sie reichen völlig aus, um ein solches Bild zu erzeugen.

Ich glaube, der dritte Ansatz ist klug, denn in diesem Fall ist der Aufwand minimal, aber Ihr Bild ist echt. Bei einer ordnungsgemäßen Umsetzung dieses Konzepts gibt es keine negativen Aspekte, wenngleich es einige Nachteile gibt. Das Wichtigste für die Umsetzung dieses Ansatzes ist Wissen. Wenn ich nicht die Erfahrung gemacht hätte, die ich jetzt habe, wäre ich nicht in der Lage gewesen, sie zu nutzen, selbst mit der richtigen Einstellung und einem rationalen und ausgewogenen Ansatz, um meine Ziele zu erreichen.

Was den vierten Ansatz betrifft, so weiß ich nicht, ob ihn jemand praktiziert. Theoretisch sollte es weniger Zeit in Anspruch nehmen, aber ich kann nichts über seine Effizienz sagen. Im Allgemeinen ist alles möglich, aber ich glaube nicht, dass dieser Ansatz der effektivste ist, um es gelinde auszudrücken. Vielmehr ist es besser, ihn in Kombination mit dem vorherigen zu verwenden, da dies die Variabilität Ihres Handels erhöht und die Chancen auf konsistentere Handelssignale steigert.

Der fünfte Ansatz kann nur dann effektiv sein, wenn man viele Ideen hat und ständig daran arbeitet, aber er ist viel besser als der erste, selbst wenn jedes Teammitglied einen frontalen Ansatz verfolgt. Aber es ist nun einmal so, dass die meisten Entwickler von Handelssystemen narzisstische Einzelgänger sind, und nur wenige können ein solches Team zusammenstellen und vor allem seine Arbeit organisieren. Ich weiß, dass es solche Teams gibt, und sie sind recht erfolgreich. Es ist gut, wenn Sie sich in einem solchen Team wiederfinden, das gemeinsam profitable Algorithmen entwickelt. Der Vorteil ist, dass am Ende die Gesamtqualität und -quantität der Entwicklungen eine entscheidende Rolle spielen kann und ein wettbewerbsfähiges Produkt ermöglicht.

Natürlich sind dies eher idealisierte Szenarien, und der Weg eines jeden ist ein wenig einzigartig, aber trotzdem kann ich mit Sicherheit sagen, dass, egal welchen Weg man wählt, dem Ergebnis immer der Erwerb einer Art von Wissen vorausgeht. Es ist nicht unbedingt nur technisch oder philosophisch, aber in meinem Fall ist es beides. Meiner Meinung nach sollte es genau so sein, denn ein Problem muss immer von allen Seiten betrachtet werden, damit es gelöst werden kann.


Erzielung eines stabilen Einkommens auf der Grundlage von automatisierten Handelssystemen

Bevor wir einen harmonischen Ansatz für den automatisierten Handel finden, müssen wir den gesamten Prozess von Anfang bis Ende strukturieren - von der Idee bis zu ihrer Umsetzung:

  1. Die Idee.
  2. Ausarbeitung des Durchführungsplans.
  3. Entwicklung.
  4. Behebung von Fehlern.
  5. Verbesserungen und Modernisierungen.
  6. Ausführliche Tests.
  7. Optimierung und Bestimmung der Anwendungsgrenzen.
  8. Vorbereitung auf den Handel (Ressourcen, Demokonto).
  9. Handel auf einem echten Konto.

Wenn Sie ein Anfänger sind, dann werden Sie sich fast hundertprozentig sicher sein, dass Ihr System funktionieren sollte, weil Sie es entweder irgendwo gelesen oder es sich selbst ausgedacht und sich davon überzeugt haben, dass es funktioniert. Die Realität ist, dass Sie kein mathematisches Modell des Marktes haben, und dieser ist so komplex, dass Sie, selbst wenn Sie eines hätten, aufgrund seiner unglaublichen Komplexität und der Irrationalität seiner Verwendung in einem EA nicht in der Lage sein werden, es zu nutzen. Was können wir also tun? Die Antwort ist nicht so einfach, wie sie scheint. Genau aus diesem Grund habe ich meinen eigenen Brute-Force-Algorithmus entwickelt.

Es liegt auf der Hand, dass Sie, wenn Sie die Aufgabe übernehmen, einen Super-EA zu erstellen, viele solcher Phasen durchlaufen werden, bevor Sie das gewünschte Ergebnis erreichen, was gelinde gesagt äußerst zweifelhaft ist. Das weiß ich aus eigener Erfahrung. Das Ärgerlichste nach einem weiteren erfolglosen Versuch, einen EA zu entwickeln, ist die Tatsache, dass er weggeworfen werden muss, was bedeutet, dass trotz aller Nützlichkeit der gewonnenen Erfahrung die Enttäuschung über die aufgewendete Zeit nicht geringer wird. Wenn Sie selbst EAs entwickeln, ist dies unvermeidlich. Wenn es sich um einen Freelance-Auftrag handelt, ist alles noch trauriger, denn Sie erhalten Ihren EA, der höchstwahrscheinlich nutzlos sein wird.

In diesem Zusammenhang möchte ich klarstellen, dass es hier in erster Linie um Ihre Zeit geht. Erfolgreiche Menschen haben die Fähigkeit, den Wert der Zeit richtig einzuschätzen. Wenn die aufgewendete Zeit nicht das gewünschte Ergebnis bringt, lohnt es sich kaum, weiterzumachen. Hier ist das Diagramm des Standardansatzes:

Diagramm 1.

Standardansatz

Jede Aktion im Diagramm benötigt ihre eigene Zeit, und das Gesamtergebnis hängt direkt davon ab, über welche Kenntnisse und Ressourcen Sie verfügen. Mit Ressourcen sind nicht unbedingt Ihre verfügbaren Mittel für Investitionen gemeint, sondern vielmehr die Verfügbarkeit von Computern für das ständige Testen von Handelssystemen oder Mittel für den Kauf der erforderlichen Ausrüstung. Ihr Wunsch, Ihre Ziele zu verfolgen, und die Verfügbarkeit von Freizeit sind ebenfalls wichtig. Die Sache ist die, dass das Finden oder Erstellen eines guten Handelssystems nur die halbe Miete ist, die zweite Hälfte betrifft den Aspekt, wie man es richtig verwaltet, wenn man nur wenig freie Zeit hat.

Wenn Sie das Thema auch nur ansatzweise verstanden haben, können Sie sehen, wie sich das Diagramm verändert, wenn wir fertige Handelssysteme vom MQL5-Markt oder aus anderen Quellen verwenden. Es ist nicht nötig, alles neu zu zeichnen, sondern nur die entsprechenden Ersetzungen anzugeben:

Diagramm 2.

Ersetzen der Entwicklung durch die Suche

Die Bedeutung des Diagramms ändert sich nicht, aber die Suche nach und die Auswahl von etwas Vorgefertigtem ist viel einfacher und, ich würde sagen, viel angenehmer als das Schreiben von Tonnen von Code. Glücklicherweise kann ich beides tun. Dies erfordert natürlich Wissen und Erfahrung. Diesem Diagramm liegt u. a. der Gedanke zugrunde, dass EAs im Laufe der Zeit an Bedeutung verlieren könnten und die meisten von ihnen sicherlich verschrottet werden. Nachdem Sie einen anderen EA weggeworfen haben, vermuten Sie nicht, dass er nach einiger Zeit wieder verwendet werden kann, oder? Das Durchwühlen des Mülls auf der Suche nach längst vergessenen Algorithmen und das Nachdenken darüber, wie man sie anwenden kann, wird ebenfalls viel Zeit in Anspruch nehmen.

Nichtsdestotrotz wäre es gut, eine gewisse Datenbank von EAs anzuhäufen und weiterhin erfolgreich zu handeln, während man sie klugerweise austauscht. In diesem Fall wird unser Prozess sogar noch weiter vereinfacht, denn es ist nicht nötig, nach neuen EAs zu suchen. Ist es möglich? Ja, das ist es. Idealerweise sollte diese Sammlung von EAs die folgenden Eigenschaften aufweisen:

  • Flexibilität des Algorithmus.
  • Möglichkeit der Signalinvertierung.
  • Leistung (minimaler Ressourcenverbrauch).
  • MagicNumber der Aufträge.

Auf der Grundlage dieser Daten ist es sogar möglich, eine mathematische Definition der Aussichten einer ausgewählten Sammlung von EAs zu erstellen. Wir können sogar versuchen, solche Ausdrücke zu finden, um deutlicher zu machen, wie und was die Merkmale dieser EAs und ihre Anzahl beeinflussen. Alternativ können wir auch einfach eine einfache und verständliche Liste erstellen:

  1. Je mehr EAs, desto besser unsere Sammlung (denn je mehr EAs, desto mehr von ihnen erfüllen die erforderlichen Handelskriterien im ausgewählten Handelsbereich).
  2. Je mehr Inputs ein EA hat, desto effektiver kann er optimiert werden.
  3. EAs, die auf Balken basieren, sind besser (sie sind einfacher zu benutzen und zu testen sowie zu optimieren, und wir müssen uns nicht um Ping, Slippage und andere Probleme kümmern).
  4. Wenn es möglich ist, das Handelssignal zu invertieren, verdoppelt sich das Gewicht des EAs.

Ich werde mich hier nicht mit der Überoptimierung und der Anpassung an die Geschichte befassen, da dies ein anderes Thema ist. Ich gehe davon aus, dass Sie wissen, wie man das alles richtig macht. Wenn alles richtig gemacht wird, dann verwandelt sich unser Diagramm in einen sehr einfachen Entwurf:

Diagramm 3.

Handel auf der Grundlage einer EA-Datenbank

Je mehr EAs Sie haben, desto besser können Sie die Roboter sortieren. Aber hier gibt es einige unangenehme Momente. Je besser die Qualität der Auswahl sein soll, desto mehr Zeit brauchen wir für diese Auswahl. Darüber hinaus müssen wir viele Male eine Auswahl treffen. Sie müssen dies regelmäßig tun. Es wird also nur ein weiterer Job sein, es sei denn, jemand wird alles für Sie tun. In diesem Zusammenhang stellt sich die Frage: „Wozu brauche ich das, wenn es bereits erprobte Beispiele für reguläre Geschäfte ohne jedes Risiko gibt?“

Und je erfolgreicher Sie mit Ihren Handelsaktivitäten sein wollen, desto mehr simultan arbeitende Terminals benötigen Sie. Das bedeutet, dass Sie jedes Terminal ständig überwachen, neue EAs hinzufügen und entfernen sowie deren Arbeit konfigurieren und überwachen sollten. Wie Sie verstehen, ist das alles ein Haufen Arbeit. Obwohl wir uns von der Notwendigkeit befreit haben, ständig neue EAs zu entwickeln, sind wir die Hauptroutine noch immer nicht losgeworden. Lassen Sie uns die wichtigsten arbeitsintensiven Punkte aufzählen:

  • Auswahl von EAs durch Optimierung.
  • Vorläufige Tests auf einem Demokonto.
  • Auswahl der beständigsten Handelssignale.
  • Echter Handel mit den beständigsten Kombinationen.
  • Ständige Kontrolle (Abschaltung, Pause, Austausch von Robotern usw.) (Arbeit mit Terminals).

All dies ist möglich, aber nur, wenn Sie das optimale Workflow-Paradigma haben. Aber natürlich gibt es eine Grenze. Aufgrund meiner Erfahrung denke ich, dass Sie allein arbeiten. Es ist unmöglich, über seinen Kopf zu springen, denn alles braucht seine Zeit.

Ursprünglich habe ich meinen Brute-Force-Algorithmus zu Forschungszwecken entwickelt, um zu verstehen, ob es möglich ist, mit einfachen Algorithmen profitabel zu handeln. Mir wurde klar, dass dies möglich ist. Angesichts ihrer damaligen Möglichkeiten konnte sie nur zusätzliche EAs bereitstellen, um ihre Gesamtzahl zu erhöhen. Um besser zu verstehen, wie einfache EAs helfen können und wie man sie richtig einsetzt, müssen wir ein wenig tiefer verstehen, wie ein bestimmter Algorithmus in der Lage ist, das profitable Handelsproblem zu lösen und wie man bestimmte EAs richtig behandelt.


EAs und Muster

Es reicht nicht aus, eine Sammlung von Algorithmen zu haben und diese ständig zu optimieren. Die Optimierung ist eine eigenständige Fähigkeit, und ihre Beherrschung bestimmt das Ergebnis der Verwendung des EA auf einem Handelskonto. Jeder EA ist auf seine Weise einzigartig und hat seine eigenen Nuancen sowohl bei der Optimierung als auch bei der Nutzung. Eine wichtige Option, die meiner Meinung nach in jedem EA enthalten sein sollte, ist die Möglichkeit, den Handel umzukehren. Das bedeutet, dass jede Handelsaktion durch das Gegenteil ersetzt wird, d. h. Kaufen wird durch Verkaufen ersetzt und Verkaufen durch Kaufen. Auf den ersten Blick scheint diese Option völlig unnötig zu sein, denn es besteht der Irrglaube, dass alles wie vorgesehen funktionieren sollte.

Um diese Tatsache zu verstehen, sollten wir zunächst wissen, was ein Muster ist. Im allgemeinen Verständnis ist ein Muster der Unterschied zwischen einigen statistischen Merkmalen und einer Zufallsverteilung. Bei einer oberflächlichen Betrachtung dieses Themas könnte man an die Trägheit von Mustern denken. Dies ist jedoch nur eines der möglichen Zukunftsszenarien für dieses Muster. Nur ein kleiner Teil der Muster hat Trägheit. Betrachten wir das gefundene Muster innerhalb eines Backtests oder eines Handelssignals.

Angenommen, wir haben eine sehr große Datenbank mit Robotern, aus der wir nach bestimmten Merkmalen, die wir aus dem einen oder anderen Grund für angemessen halten, getrennte Gruppen bilden können. Die Merkmale sind nicht so wichtig wie die Gruppierung selbst:

Diagramm 4.

Gruppierungsroboter

Hier erscheint mein Brute-Force-Programm zum ersten Mal als ein Element des Flussdiagramms. Das Programm führt diese Gruppierung dank der unterschiedlichen Einstellungen der einzelnen Kopien durch. Im Grunde genommen ist jede Kopie des Programms, die unterschiedlich konfiguriert ist, eine völlig unabhängige Gruppe von Robotern, aus der eine Auswahl getroffen werden kann. Die generierten Roboter können für den Handel verwendet werden, was ganz unten im Flussdiagramm dargestellt ist. Das Wichtigste dabei ist, dass alle diese Gruppen von Robotern nach einiger Zeit in drei Gruppen unterteilt werden:

  • Profitable mit einem direkten Signal (basierend auf der Trägheit des Musters).
  • Profitabel bei einem invertierten Signal (basierend auf einem sofortigen Musterwechsel).
  • Chaotisch (einfache Anpassung an die Geschichte).

Es ist unmöglich, im Voraus zu wissen, welches Set eine bestimmte Gruppe von Signalen liefern wird, aber nach einiger Zeit ist eine Filterung durch Ausschluss möglich. Je mehr solcher unabhängigen Gruppen und Signale, desto besser. Es ist besser, für jede Gruppe von EAs mindestens zwei Signale zu erstellen:

  1. Direktes Signal.
  2. Invertiertes Signal.

Außerdem können wir gemischte Signale von verschiedenen Gruppen hinzufügen. All dies wird die Chancen maximieren, harmonisch zusammengesetzte Gruppen von EAs zu finden, die über einen langen Zeitraum hinweg arbeiten können. Zwei Tatsachen können dazu führen, dass man so schnell wie möglich gute Portfolios findet:

  1. Die hochwertigste und effektivste Gruppierung der verfügbaren EAs (so viele unabhängige Gruppen wie möglich).
  2. Direktes und invertiertes Signal für jede Gruppe + gemischte Signale.

All diese Faktoren liefern letztlich die zahlreichsten und vielfältigsten Signale, die uns schließlich die bestmögliche Probe für die spätere Verwendung im realen Handel liefern. Die wichtigsten Faktoren, die die Fähigkeit, solche Gruppierungen vorzunehmen, beeinflussen, sind der Umfang und die Vielfalt der EA-Kollektion. Bei meinem Programm stehen die durchdachten Einstellungen und die Vielfalt der internen Algorithmen, wie Analysemethoden, Clustering und andere, an erster Stelle. Eine der universellen Methoden zur Erhöhung der Variabilität ist das Clustering:

Diagramm 5.

Arbeitsbeschränkungen

In diesem Fall wird das Clustering durch die Möglichkeit repräsentiert, Untergruppen von Robotern nach Wochentagen und Zeitfenstern innerhalb eines Tages zu unterteilen, was an sich schon die breitesten Möglichkeiten zur Gruppierung von EAs in Portfolios bietet. Natürlich gibt es viele Möglichkeiten der Clusterbildung, aber ich glaube, dies ist die einfachste und effektivste. Darüber hinaus kann das Programm selbst so konfiguriert werden, dass es an bestimmten Tagen und zu bestimmten Zeiten arbeitet. Dies ermöglicht die größtmögliche Optimierung des Verbrauchs von Rechenressourcen und die richtige Gewichtung jeder Programmkopie. Jede Einstellung hat ihre eigene Berechnungskomplexität, sodass diese Technik notwendig ist.

Außerdem möchte ich noch ein paar Worte über komplexe und einfache EAs verlieren. Theoretisch ist es möglich, einen EA zu erstellen, der so flexibel und variabel wie möglich in Bezug auf fast jedes Muster ist, aber ich denke, es ist jedem klar, dass je komplexer das System ist, desto einfacher ist es, es zu brechen. Es ist natürlich auch möglich, dass sich das System als äußerst erfolgreich und fehlertolerant erweisen wird, aber sehen wir die Dinge realistisch. Nehmen wir an, dass einige wenige ein solches System haben (obwohl ich dies für eine Utopie halte), und sie werden es definitiv niemals mit anderen teilen. Aber was sollen andere Menschen tun?

Jeder erfolgreiche algorithmische Händler sollte die einfachen Wahrheiten, die ich darlege, verstanden haben, und der Gewinn dieser Leute beruht zu einem großen Teil auf diesem Verständnis. Profitabler Handel ist in erster Linie die Fähigkeit, die Ihnen zur Verfügung stehenden Instrumente richtig einzusetzen. Das Warten auf magische Strategien ist nicht die beste Lösung. Jede Idee kann mit den richtigen Begleitlösungen umgesetzt werden. Das versuche ich in diesem Artikel zu zeigen, ohne mich auf bestimmte Algorithmen zu konzentrieren. 


Maximale Automatisierung der Arbeitskette

Die Idee entwickelte sich allmählich von einer einfachen Recherche zur vollständigen Automatisierung der Suche nach stabilen Handelssignalen. Es kam genau so, wie es hätte kommen müssen. Zurzeit führt mein System eine ganze Reihe von Aufgaben aus, die von der einfachen Generierung von Handels-EAs bis zum Handel in MetaTrader 4 und 5 Terminals reichen. So sieht in etwa die aktuelle Version meines Programms aus:

Diagramm 6.

Die derzeitige Struktur der Anwendung von Brute-Force

Diese Struktur entlastet mich vollständig von Routinearbeiten, wie z. B.:

  • Auswahl und Gruppierung von EAs.
  • Aktivieren/Deaktivieren von EAs auf Charts und ihre anschließende Konfiguration.
  • Optimieren und Auswählen von Einstellungen.
  • Suche nach neuen EAs.
  • Erstellung neuer EAs.

Einer der Tricks dieser Struktur ist die Tatsache, dass zusätzlich zur Generierung einfacher EAs, die in meinem Telegram-Kanal landen, gleichzeitig ein universeller EA in den Terminals vorhanden ist. Es ist nicht nötig, ihn ständig aus den Charts zu entfernen und jedes Mal zu installieren, wenn das Programm einen neuen funktionierenden EA findet. Stattdessen werden der EA selbst und eine separate Textdatei erstellt, die das Äquivalent des EA ist. Die Datei landet im freigegebenen Ordner des Terminals, in dem es ein entsprechendes Verzeichnis gibt, aus dem der Universal EA die Einstellungen liest. Das alles geschieht automatisch und ohne meine Kontrolle, und der EA selbst landet im Telegram-Kanal.

Das ganze System automatisiert also sowohl die Erstellung von EAs als auch deren automatische Veröffentlichung auf meinem Kanal. Alles, was ich tun muss, ist, das System zu skalieren, Ausrüstung zu kaufen und die Handelssignale zu überwachen. Natürlich funktioniert das alles nur mit 1 % seiner Möglichkeiten, aber ich halte es als Demonstrationsmöglichkeit für durchaus geeignet.

Im Moment habe ich nur einen Computer zur Verfügung. Es ist zwar schon recht alt, aber es reicht aus, um den abwechselnden Betrieb von zwei unabhängigen Arbeitern (Brute-Force-Programmen) zu gewährleisten. Auf der Grundlage dieser beiden Einstellungen habe ich zwei Signale erstellt: jeweils ein direktes und ein invertiertes Signal sowie zusätzlich ein direktes und ein invertiertes Mischsignal. Anhand der Ergebnisse der zweimonatigen Tests können Sie sehen, was ich oben gesagt habe:

Abbildung 1.

direkt profitabel und invertiert profitabel

Die Testergebnisse zeigen, dass nach zwei Monaten kontinuierlichen Handels bei minimaler Kapazität nur zwei eindeutig positive Signale übrig blieben. Dort gibt es noch eine andere (gemischte), die aber fast identisch mit der hier gezeigten ist, die auf dem Kopf steht. Sie beziehen sich auf zwei völlig unterschiedliche Handelsalgorithmen und deren Einstellungen. Hier sehen wir, dass sowohl bei einem direkten als auch bei einem invertierten Signal ein positiver Handel erzielt werden kann. Sie können die EAs, die während des gesamten Testprozesses generiert wurden, in meinem Telegram-Kanal finden. Den Link dazu finden Sie in meinem Profil und am Ende des Artikels.


Universalempfänger EAs

Natürlich sind durchdachte und qualitativ hochwertige EAs viel effektiver. Sie können für den automatisierten Handel verwendet werden. Die meisten EAs können jedoch wiederholt eingesetzt werden. Jeder Algorithmus hat Grenzen der Anwendbarkeit, und viele EAs, die scheinbar die Erwartungen eines Entwicklers oder eines Kunden nicht erfüllen, haben ihre eigenen ungenutzten Ressourcen. Wenn wir das ungefähre Verhältnis schätzen, wie viele Handelssysteme nie das Teststadium erreichen (zumindest auf einem Demokonto), werden wir sehen, dass es einfach Unmengen davon gibt.

Die Wahrheit ist: Wenn Sie nicht wissen, wie man einen EA richtig optimiert, wird er mit Sicherheit aussortiert werden. Aus diesem Grund habe ich einige interessante EAs verworfen. Mir war nur nicht klar, dass man sie auch anders verwenden kann. Leider erfordert dies eine gewisse Erfahrung. Ich werde hier nicht auf dieses Thema eingehen, aber ich werde zu einem späteren Zeitpunkt einen separaten Artikel über fortgeschrittene Optimierung schreiben.

Es ist nicht leicht, sich für ein solches Abenteuer zu entscheiden, denn instinktiv möchte man immer eine Super-EA nehmen, sie in das Terminal stecken, einen Knopf drücken und sie zumindest für ein paar Wochen vergessen. Aber wir müssen es noch finden und bestätigen, dass es wirklich die von uns gewünschten Eigenschaften hat. Aber denken Sie daran: Während Sie auf der Suche sind, können Sie einfach alles nehmen, was Sie haben, und so viele verschiedene Konfigurationen wie möglich ausprobieren.

Natürlich werden Sie viel Zeit und Mühe aufwenden müssen, um den Handelsprozess solcher EAs kompetent zu steuern. In meinem System habe ich dieses Problem umgangen, indem ich einen universellen EA verwendet habe, der ein praktisches optionales Add-on zum generierten Advisor (Einstellung) ist. Die erste und einfachste Version eines solchen EAs enthält die folgenden wichtigen Kontrollvariablen:

input int DaysToFuture=50;//Days to future
input LOT_VARIATION LotMethod=SIMPLE_LOT;//Lot Style
input bool bInitLotControl=false;//Auto lot bruteforce
input double MinLotE=0.01;//Min Lot
input double LotDE=0.01;//Lot (without variation)
input double MaxLotE=1.0;//Max Lot
input bool CommonE=true;//Common Folder
input string SubfolderE="T_TEYLOR_DIRECT";
input int MinutesAwaitE=2;//Minutes To Check New Settings
input bool bBruteforceInvertTrade=false;//Invert Bruteforce Trade

Das sind natürlich nicht alle Variablen, die es gibt, aber es sind die Variablen, die notwendig sind, um die Automatisierung der folgenden wichtigen Aktionen zu ermöglichen:

  • Deaktivierung des Handels nach Ablauf der festgelegten zulässigen Zeit für den Handel (wenn während der aktuellen Einstellung keine neue generiert wurde, verliert die alte also ihre Relevanz).
  • Handelsstil (einfaches Lot / schrittweise Erhöhung des Lots vom Minimum zum Maximum innerhalb eines bestimmten Handelsfensters / schrittweise Verringerung des Lots vom Maximum zum Minimum innerhalb eines bestimmten Handelsfensters).
  • Lesen von Einstellungen aus dem aktuellen Terminalordner / dem gemeinsamen Ordner der Terminals.
  • Möglichkeit der Auswahl eines Unterverzeichnisses.
  • Intervall für die Aktualisierung der Einstellungen.
  • Invertierung des Signals.

All dies ermöglicht es uns, die Interaktion zwischen den Terminals und dem Brute-Force-Programm flexibel zu konfigurieren und auch eine beliebig große Anzahl von Terminals und Brute-Force-Maschinen gleichzeitig auf einer Maschine zu starten, soweit es deren Fähigkeiten erlauben. Das einzige Problem ist, dass ich jetzt jedem Chart einen eigenen EA zuweisen muss, da ich noch keinen universellen Multi-Empfänger erstellt habe. Sie wird später hinzugefügt. Wir werden sie brauchen, um einen besseren und durchdachteren Handel zu betreiben. Es ist sehr praktisch, alle Vor- und Nachteile in dem Diagramm zu sehen:

Diagramm 8.

Vor- und Nachteile

Wie aus dem Diagramm ersichtlich ist, werden zwei Systeme für die Implementierung sowohl im einfachen als auch im erweiterten Empfänger EA empfohlen:

  • System zur Synchronisierung des Parallelhandels.
  • Paralleles Handelsoptimierungssystem.

Dies sind sehr wichtige Ergänzungen zu allen Algorithmen, die sowohl die Qualität des Parallelhandels verbessern als auch die Handelskosten senken können. Ich habe vor, sie etwas später in Betrieb zu nehmen, aber im Moment gibt es keine notwendigen Ressourcen dafür.

Wenn es um den Handel mit nur einem EA geht, sind all diese Dinge überflüssig, aber wenn es um den parallelen Betrieb vieler EAs geht, ergibt sich zwangsläufig die Notwendigkeit eines solchen Add-ons. Der Vorteil meines Ansatzes besteht darin, dass ich diese Add-ons aufgrund der Einheitlichkeit aller EAs effizienter implementieren kann. Dies gilt sowohl für externe als auch für interne Systeme.

Ich möchte auch darauf hinweisen, dass der Multi-Empfänger so konzipiert ist, dass er auf einer Karte funktioniert, ohne dass er an jedem Instrument angebracht werden muss. Der einzige Nachteil eines solchen EA ist, dass es schwieriger ist, ihn für jedes spezifische Instrument anzupassen, aber dennoch hat er viel mehr Vorteile als Nachteile. Vielleicht werde ich in einem der folgenden Artikel ausführlicher auf diese Systeme eingehen und dabei die technischen Details der Innovationen beschreiben, die ich während meiner Schreibpause einführen konnte.


EA für die dynamische Sammlung von Preisen

Zuvor hatte ich einen einfachen EA, der Textdateien erstellte, die manuell im Programm geöffnet werden mussten. Natürlich verlieren diese Daten nach einiger Zeit ihre Relevanz. Um das Funktionieren aller oben beschriebenen Strukturen zu gewährleisten, benötigen wir Zugang zu frischen Kursen. Dazu musste ich nur einen EA erstellen, der ständig Daten in den gemeinsamen Terminalordner schreibt. Um Sets von handelbaren Instrumenten und Zeiträumen zusammenzustellen, habe ich mich entschlossen, die entsprechenden Listen zu den Programmeinstellungen hinzuzufügen:

Diagramm 9.

Aktualisierung neuer Kurse

Mit dieser Technik können wir jeden Browser so konfigurieren, dass er über einen eigenen Satz von Periodenwerkzeugen verfügt, ohne dass die Daten in mehreren Ordnern dupliziert werden müssen. In diesem Fall wird nur ein Terminal benötigt, um eine beliebige Anzahl von Handelsterminals zu betreiben. Wenn wir die Analyseintervalle auf Jahre festlegen, sind mögliche Pausen und Verzögerungen bei der Aktualisierung der Daten unbedeutend. Darüber hinaus basiert das gesamte System auf dem Paradigma Balken-für-Balken, sodass das Ganze so zuverlässig wie möglich ist und fast allen Notsituationen standhält. Dieser Bot hat nur wenige Einstellungen:

input bool CommonE=true;//Common Folder/Terminal Folder
input double YearsE=10.0;//Years Of History Data
input int MinutesForNew=2;//Rewrite Timeout In Minutes

Der EA schreibt entweder in den gemeinsamen Ordner aller Terminals oder in den eigenen Ordner des aktuellen Terminals. Sie schreibt die letzten Jahre der Geschichte, die wir ab der aktuellen Endzeit angeben und in der Geschichte zurückgehen. Der EA schreibt nach einer bestimmten Zeitspanne, die in Minuten angegeben wird. Dies war das letzte Element aller Logik. Der schwierigste Teil ist vorbei. Nun muss nur noch ein Empfänger-EA implementiert werden, der auf demselben Chart arbeitet. Ich habe bereits die Hälfte der Funktionalität für die Umsetzung vorbereitet.


Schlussfolgerung

In diesem Artikel bin ich vom üblichen technischen Teil abgekommen und habe versucht, das Problem des profitablen Handels aus einem etwas anderen Blickwinkel zu betrachten und dabei meine eigenen Erfahrungen zu nutzen. Wie Sie sehen, gibt es neben den EAs selbst (die nur einen kleinen Teil der Gewinnerzielung ausmachen) eine Menge Feinheiten und Nuancen, die Ihnen entweder helfen können, Gewinne zu erzielen, oder Ihre Bemühungen behindern. Interessanterweise ist das Ergebnis weit von dem entfernt, was zu Beginn beabsichtigt war.

Auf dem Weg dorthin musste ich die ursprüngliche Idee schrittweise an die Realität anpassen, was ein völlig unkontrollierbarer Prozess war, der sich jedoch spontan und unausweichlich ergab. So habe ich den richtigen Weg aus der theoretischen Sackgasse gefunden, der zwangsläufig nur auf praktischem Wege gefunden werden kann. Das bedeutet mehr Roboter, mehr Signale, mehr Computer und mehr Automatisierung. Ich wünsche mir, dass dieser Artikel vielen Theoretikern und Gralssuchern als eine Art Anstoß dient, der aufzeigt, dass es immer möglich ist, einen alternativen Ausweg zu finden. Im nächsten Artikel werde ich im Detail zeigen, welche Verbesserungen mein System erfahren hat. Es bleibt jedoch noch viel zu tun.

Alle derzeit verfügbaren Signale finden Sie hier. Ich habe in diesem Artikel nur die wichtigsten aufgeführt. Es wird noch mehr davon geben, und ihre Qualität wird mit zunehmender Leistung und Verbesserungen steigen. Wir werden sehen, ob ich eine Gruppe von stabilen und vielseitigen Signalen zusammenstellen kann. Was die automatisch generierten EAs angeht, so finden Sie diese in meinem öffentlichen Telegram-Kanal. Im Moment entspricht ihre Qualität noch meinen Mindestkapazitäten, aber später, wenn die Kapazitäten ausgeweitet werden, werden Sie sowohl die Vielfalt als auch die Qualität steigern können.

Links

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

Neuronale Netze leicht gemacht (Teil 50): Soft Actor-Critic (Modelloptimierung) Neuronale Netze leicht gemacht (Teil 50): Soft Actor-Critic (Modelloptimierung)
Im vorigen Artikel haben wir den Algorithmus Soft Actor-Critic (Akteur-Kritiker) implementiert, konnten aber kein profitables Modell trainieren. Hier werden wir das zuvor erstellte Modell optimieren, um die gewünschten Ergebnisse zu erzielen.
Das Preisbewegungsmodell und seine wichtigsten Aspekte. (Teil 3): Berechnung der optimalen Parameter des Börsenhandels Das Preisbewegungsmodell und seine wichtigsten Aspekte. (Teil 3): Berechnung der optimalen Parameter des Börsenhandels
Im Rahmen des vom Autor entwickelten technischen Ansatzes, der auf der Wahrscheinlichkeitstheorie basiert, werden die Bedingungen für die Eröffnung einer profitablen Position gefunden und die optimalen (gewinnmaximierenden) Take-Profit- und Stop-Loss-Werte berechnet.
Neuronale Netze leicht gemacht (Teil 51): Behavior-Guided Actor-Critic (BAC) Neuronale Netze leicht gemacht (Teil 51): Behavior-Guided Actor-Critic (BAC)
Die letzten beiden Artikel befassten sich mit dem Soft Actor-Critic-Algorithmus, der eine Entropie-Regularisierung in die Belohnungsfunktion integriert. Dieser Ansatz schafft ein Gleichgewicht zwischen Umwelterkundung und Modellnutzung, ist aber nur auf stochastische Modelle anwendbar. In diesem Artikel wird ein alternativer Ansatz vorgeschlagen, der sowohl auf stochastische als auch auf deterministische Modelle anwendbar ist.
Verständnis der Auftragsvergabe in MQL5 Verständnis der Auftragsvergabe in MQL5
Bei der Entwicklung jedes Handelssystems gibt es eine Aufgabe, die wir effektiv bewältigen müssen. Diese Aufgabe besteht darin, Aufträge zu erteilen oder das erstellte Handelssystem automatisch mit Aufträgen umgehen zu lassen, da dies in jedem Handelssystem von entscheidender Bedeutung ist. Daher finden Sie in diesem Artikel die meisten Themen, die Sie über diese Aufgabe verstehen müssen, um Ihr Handelssystem in Bezug auf die Auftragsvergabe effektiv zu gestalten.