Diskussion zum Artikel "Der naive Bayes-Klassifikator für die Signale einer Reihe von Indikatoren"
Der Programmierungsteil ist wie immer auf höchstem Niveau! Den praktischen Teil habe ich wegen der schwachen theoretischen Vorbereitung fast nicht verstanden.
Wenn ich mir fmtprnt2.mqh ansehe, gibt es eine Menge Warnungen. Warum hat man sich für einen solchen Vorlagenstil entschieden?
template<typename T> CFormatOut *operator<<(const T v) { if(typename(v) == "int" || typename(v) == "uint" || typename(v) == "long" || typename(v) == "ulong" || typename(v) == "short" || typename(v) == "ushort")
Immerhin wäre es möglich, für jeden Typ eine andere Operatorvariante zu schreiben und entsprechende Compilerwarnungen zu vermeiden.
ZЫ Ich glaube, ich verstehe. Die Bibel wurde geschrieben, als die Sprache dies noch nicht zuließ.
Wenn man sich fmtprnt2.mqh ansieht, gibt es eine Menge Warnungen. Warum hat man sich entschlossen, eine solche Vorlage zu erstellen?
Immerhin wäre es möglich, für jeden Typ eine andere Operatorvariante zu schreiben und entsprechende Compilerwarnungen zu vermeiden.
ZЫ Ich glaube, ich verstehe. Die Bibel wurde geschrieben, als die Sprache dies noch nicht zuließ.
Kann ich die Idee verdeutlichen? Im Allgemeinen ist diese Datei nicht die wichtigste, was die Anzahl der Warnungen angeht. Einige Dinge können wirklich bereinigt werden.
Wenn es um Funktionen mit bestimmten Typen geht, wollen wir eigentlich immer alles einheitlich in einer Vorlage beschreiben und nicht Varianten mit verschiedenen Typen kopieren, denn wozu brauchen wir dann Vorlagen?
Kann ich die Idee verdeutlichen? Im Allgemeinen hat diese Datei nicht die höchste Anzahl an Warnungen. Einige Dinge können wirklich aufgeräumt werden.
Wenn es um Funktionen mit bestimmten Typen geht, wollen wir eigentlich immer alles einheitlich in einer Vorlage beschreiben und nicht Varianten mit verschiedenen Typen kopieren, denn wozu brauchen wir dann Vorlagen?
Verstehe ich die Formel richtig: P(H|E) = P(E|H) * P(H) / P(E) (1), wobei die Berechnung wie folgt erfolgt:
P(H|E) = K2 *(1 / K1 )
In diesem Fall betrachte ich den Indikator für den Kauf, wenn er über Null liegt, kaufe ich.
K2= ist das Ergebnis der Division (Verhältnis) zwischen der Anzahl der Balken, bei denen der Indikator über Null liegt und das Geschäft profitabel war, und der Gesamtzahl der Balken.
K1= das Verhältnis der Anzahl der Balken, bei denen der Indikator über Null liegt, zur Gesamtzahl der Balken.
Verstehe ich die Formel richtig: P(H|E) = P(E|H) * P(H) / P(E) (1), wobei die Berechnungen wie folgt durchgeführt werden:
P(H|E) = K2 *(1 / K1 )
In diesem Fall betrachte ich den Indikator für den Kauf, wenn er über Null liegt, kaufe ich.
K2= ist das Ergebnis der Division (Verhältnis) zwischen der Anzahl der Balken, bei denen der Indikator über Null liegt und das Geschäft profitabel war, und der Gesamtzahl der Balken.
K1= das Verhältnis der Anzahl der Balken, bei denen der Indikator über Null liegt, zur Gesamtzahl der Balken.
Ja. Allerdings erfordert dieser Ansatz entweder eine Handelsdauer von 1 Balken, oder mehrere offene Positionen im Expert Advisor zuzulassen, oder die Wahrscheinlichkeit nicht über den Prozentsatz der profitablen Positionen zu berechnen, sondern z.B. als Abhängigkeit der Gewinngröße vom Indikatorwert (plus oder minus), d.h. zu Wahrscheinlichkeitsdichten zu wechseln.
Ja, das Ergebnis wird bei diesem Ansatz unscharf sein. Ich werde wahrscheinlich den Indikator über Null durch den Balken ersetzen, bei dem der Indikator die Nullmarke überschritten hat.
Ich habe vor, einen Indikator auf dieser Basis zu erstellen, die Trades darin werden virtuell sein und ich werde sehen, was er zeigen wird. Vielleicht lassen sich einige signifikante Extremwerte erkennen.
Der Programmierteil ist wie immer auf höchstem Niveau! Den praktischen Teil habe ich wegen der schwachen theoretischen Vorbereitung fast nicht verstanden.
Ich werde versuchen, in meinen eigenen Worten einfacher zu erzählen:
1. Nehmen wir an, es gibt drei Strategien:
- Strategie Strat_A auf der Grundlage des Indikators A mit einer Gewinnwahrscheinlichkeit von P(Win|A) =0,63
- Strategie Strat_B basierend auf dem Indikator B mit einer Gewinnwahrscheinlichkeit von P(Win|B) =0,58
- Strategie Strat_C basierend auf dem Indikator C mit einer Wahrscheinlichkeit eines gewinnenden Geschäfts P(Win|C) =0,57
2. Alle drei Indikatoren A, B und C korrelieren nicht miteinander, d.h. sie geben unabhängig voneinander Signale zum Einstieg in den Markt.
3) Es ist erforderlich, den theoretischen Prozentsatz der Gewinnabschlüsse für die Strategie Start_ABC zu berechnen, bei der ein Markteintritt nur dann erfolgt, wenn alle drei Indikatoren gleichzeitig einen Einstieg in dieselbe Richtung anzeigen.
Dann ist P(Win|ABC) = P(Win|A)* P(Win|B)* P(Win|C) /[ P(Win|A)* P(Win|B)* P(Win|C) - (1 - P(Win|A))*(1 - P(Win|B))*(1 - P(Win|C))) ]
Richtig, @Stanislav Korotky?
Ich werde versuchen, in meinen eigenen Worten einfacher zu erzählen:
Richtig, @Stanislav Korotky?
Ja, so ungefähr habe ich es ausgedrückt ;-)
Ja, das ist fast das, was ich sagen wollte ;-)
Dann das Thema eines weiteren Artikels - wie findet man automatisch Indikatoren, die voneinander unabhängig sind?
Und dann haben wir schon fast ein einfaches KnowHow für die Erstellung von Robotern aus einer beliebigen Indikatorensammlung. Außerdem kann man mit dem MQL5-Assistenten den Grundalgorithmus um Trailing, Mani-Management und so weiter erweitern.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel Der naive Bayes-Klassifikator für die Signale einer Reihe von Indikatoren :
Der Artikel analysiert die Verwendung der Bayes'schen Formel, um den Gewinn von Handelssystemen durch die Signale mehrerer unabhängiger Indikator zu erhöhen. Theoretische Berechnungen werden über einen einfachen, allgemeinen EA, der mit beliebigen Indikatoren arbeitet verifiziert.
Tatsächlich haben aber bestimmte Indikatoren, inklusive der standardmäßigen, vieles gemeinsam. In der Abbildung Figure 2 werden einige mitgelieferte Indikatoren gezeigt.
Fig. 2. Gruppen ähnlicher Standardindikatoren
Autor: Stanislav Korotky