Diskussion zum Artikel "Erwartungsnutzen im Handel" - Seite 2

 

Guter Slogan, es war interessant, danke an den Autor. Formeln und Beispiele machen es viel schneller, in sie als Code-Implementierung zu bekommen.

Ich bin nicht zu den früheren Artikeln des Autors gekommen. Ich werde sie lesen müssen. Nochmals vielen Dank.

Aleksej Poljakov
Aleksej Poljakov
  • www.mql5.com
Профиль трейдера
 

Vielen Dank für den Artikel.

Ich verstehe, dass die Losgröße stark von der Reihe der gewinnbringenden und verlustbringenden Geschäfte beeinflusst wird, die in der Historie ermittelt und zur Berechnung des Loses verwendet werden. Es ist also interessant, die Ergebnisse zu sehen, wenn man das Ergebnis der Trades zufällig nimmt. Ich gehe davon aus, dass die Ergebnisse der Pass-Metriken sehr unterschiedlich ausfallen werden.

 
Aleksey Vyazmikin #:

Ich danke Ihnen für diesen Artikel.

Ich verstehe, dass die Losgröße stark von der Reihe der gewinnbringenden und verlustbringenden Geschäfte beeinflusst wird, die in der Historie erfasst und zur Berechnung des Loses verwendet werden. Es ist also interessant, die Ergebnisse zu sehen, indem man das Ergebnis der Geschäfte zufällig nimmt. Ich gehe davon aus, dass die Ergebnisse der Pass-Metriken sehr unterschiedlich ausfallen werden.

In Skripten wird das Ergebnis der Trades nach dem Zufallsprinzip generiert. Gleichzeitig weiß das Skript selbst nicht, welche Wahrscheinlichkeit bei der Berechnung des Loses ursprünglich festgelegt wurde. Das Schlimmste, was passieren kann, sind mehrere Verlustgeschäfte hintereinander, insbesondere am Ende einer Serie. Am einfachsten ist es, bei der Berechnung nicht die gesamte Einlage, sondern einen Prozentsatz davon zu nehmen.... Sagen wir 5-10%, dann wird die Bilanzkurve stabiler sein - es wird keine großen Verluste geben, aber die Gewinne werden auch geringer.

 
Aleksej Poljakov #:

In Skripten wird das Ergebnis von Geschäften nach dem Zufallsprinzip generiert. Gleichzeitig weiß das Skript selbst nicht, welche Wahrscheinlichkeit bei der Berechnung des Loses ursprünglich eingestellt wurde. Das Schlimmste, was passieren kann, sind mehrere aufeinanderfolgende Verlustgeschäfte, insbesondere am Ende einer Serie. Am einfachsten ist es, bei der Berechnung nicht die gesamte Einlage, sondern einen Prozentsatz davon zu nehmen... Sagen wir 5-10%, dann wird die Gleichgewichtskurve stabiler sein - es wird keine großen Verluste geben, aber die Gewinne werden auch abnehmen.

Ich schreibe gerade über den letzten Teil des Artikels:

Schauen wir uns gemeinsam an, wie sich das Risiko auf den Handel auswirken kann. Zum Testen werden wir einen einfachen Expert Advisor auf dem Schnittpunkt von zwei gleitenden Durchschnitten verwenden. Das Testen des EA erfolgte mit den folgenden Parametern:

Auch hier ist es wichtig, das Fenster für die Berechnung der historischen Erfolge/Misserfolge zu untersuchen, auch wie es sich verändert. Sie werden den Anteil nicht für 10 Jahre nach der Auswahl einer Strategie im Strategietester nehmen.

 
Ausgezeichnete Arbeit.
Gut gemacht, Autor, Lesezeichen für den Artikel.
 

Das ist ein interessanter Ansatz. Es stellt sich jedoch eine Frage: Hat die moralische Erwartung die gleiche physikalische Bedeutung wie die mathematische Erwartung? In dem Artikel gibt es zwei Interpretationen der mathematischen Erwartung - durch die Summe (z. B. 11 Dukaten am Anfang des Artikels) und durch Punkte (in der Formel p*TP - (1-p)*SL). Es gibt keine Erklärung über die moralische Erwartung, aber nach der Grundformel zu urteilen, ist die moralische Erwartung die Summe, weil sie der Einzahlung entspricht.

Dann die nächste Frage. Ich möchte, IMHO, ein gefordertes Problem in Betracht ziehen, das in dem Artikel nicht vorkommt. Eine Einzahlung ist gegeben, eine gewünschte moralische Erwartung ist als Bruchteil der Einzahlung (Mr = Bruchteil * Einzahlung) und ein Los gegeben. Zeichnen Sie für verschiedene Werte der Gewinnwahrscheinlichkeit die SL/TP-Kurven ein. Offenbar ist die Aufgabe für die Wahrscheinlichkeit 0,5 nicht definiert.

Ich habe versucht, es aus dem Stegreif zu machen, wahrscheinlich mit Fehlern. Überall fliegen entweder seltsame Zahlen oder NaNs aus dem Bereich der Wurzeldefinition.

Hier z.B. aus der Seite von SL zur Berechnung von TP:

#property script_show_inputs

input double Amount = 10000;
input double MoralExpectationPercent = 0.01;
input double Lot = 0;
input double WinProbability = 0.75;

void OnStart()
{
   const double pv = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE)
      * SymbolInfoDouble(_Symbol, SYMBOL_POINT) / SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE);
   const double lot = (Lot == 0 ? SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN) : Lot);

   const double sls[] = {10, 100, 1000};

   for(int i = 0; i < ArraySize(sls); ++i)
   {
      const double sl = sls[i];
      const double slp = sl * lot * pv;
      const double y1 = (1 + MoralExpectationPercent) * Amount * MathPow(Amount - slp, WinProbability - 1);
      const double tp = (MathPow(y1, 1 / WinProbability) - Amount) / (lot * pv);
      Print(sl, " ", tp);
   }
}

Ausgabe:

10.0 13358.8842517167
100.0 13389.287146464994
1000.0 13693.516911708502
 
Stanislav Korotky #:

Das ist ein interessanter Ansatz. Aber es stellt sich eine Frage: Hat die moralische Erwartung dieselbe physikalische Bedeutung wie die mathematische Erwartung? In dem Artikel gibt es zwei Interpretationen der mathematischen Erwartung - durch die Summe (z. B. 11 Dukaten am Anfang des Artikels) und durch Punkte (in der Formel p*TP - (1-p)*SL). Es gibt keine Erklärung zur moralischen Erwartung, aber nach der Grundformel zu urteilen, ist die moralische Erwartung die Summe, weil sie der Einlage entspricht.

Dann die nächste Frage. Ich möchte, IMHO, ein gefordertes Problem in Betracht ziehen, das in dem Artikel nicht vorkommt. Eine Einzahlung ist gegeben, eine gewünschte moralische Erwartung ist als Bruchteil der Einzahlung (Mr = Bruchteil * Einzahlung) und ein Los gegeben. Für verschiedene Werte der Gewinnwahrscheinlichkeit sind die SL/TP-Kurven zu zeichnen. Offensichtlich ist das Problem für die Wahrscheinlichkeit 0,5 nicht definiert.

Ich habe versucht, es aus dem Stegreif zu machen, wahrscheinlich mit Fehlern. Überall tauchen entweder seltsame Zahlen oder NaNs auf - es geht über den Bereich der Wurzeldefinition hinaus.

Zum Beispiel, um TP von der SL-Seite zu berechnen:

Ausgabe:

string const double y1 = (1 + MoralExpectationPercent) * Amount * MathPow(Amount - slp, WinProbability - 1);

WinProbability - 1 ist immer ein negativer Wert... und er sollte streng nicht-negativ sein

Dies ist korrekter

Dateien:
 
Stanislav Korotky #:

Das ist ein interessanter Ansatz. Aber es stellt sich eine Frage: Hat die moralische Erwartung dieselbe physikalische Bedeutung wie die mathematische Erwartung? In dem Artikel gibt es zwei Interpretationen der mathematischen Erwartung - durch die Summe (z. B. 11 Dukaten am Anfang des Artikels) und durch Punkte (in der Formel p*TP - (1-p)*SL). Es gibt keine Erklärung zur moralischen Erwartung, aber nach der Grundformel zu urteilen, ist die moralische Erwartung die Summe, weil sie der Einlage entspricht.

Dann die nächste Frage. Ich möchte, IMHO, ein gefordertes Problem in Betracht ziehen, das in dem Artikel nicht vorkommt. Eine Einzahlung ist gegeben, eine gewünschte moralische Erwartung ist als Bruchteil der Einzahlung (Mr = Bruchteil * Einzahlung) und ein Los gegeben. Für verschiedene Werte der Gewinnwahrscheinlichkeit sind die SL/TP-Kurven zu zeichnen. Offensichtlich ist das Problem für die Wahrscheinlichkeit 0,5 nicht definiert.

Ich habe versucht, es aus dem Stegreif zu machen, wahrscheinlich mit Fehlern. Überall tauchen entweder seltsame Zahlen oder NaNs auf - es geht über den Bereich der Wurzeldefinition hinaus.

Zum Beispiel, um TP von der SL-Seite zu berechnen:

Ausgabe:

Der zweite Fehler ist, dass wir keine moralische Erwartung zuordnen können.....

Der moralische Erwartungswert ist immer kleiner als der mathematische Erwartungswert. Sie nähern sich einander an, wenn die Einlage wächst. Daher reduziert sich das Problem streng auf die folgenden Bedingungen: Wenn der mathematische Erwartungswert positiv ist, erhält man einen positiven moralischen Erwartungswert

 
Aleksej Poljakov #:

string const double y1 = (1 + MoralExpectationPercent) * Amount * MathPow(Amount - slp, WinProbability - 1);

WinProbability - 1 ist immer negativ... und muss streng nicht-negativ sein

dies ist korrekter

Ich scheine die strengen mathematischen Umformungen befolgt zu haben - ich sehe nicht, wo der Fehler liegt? Lassen wir einmal die Bedeutung des Wertes selbst hinter den Klammern und betrachten wir die Formel als Abstraktion.

Die ursprüngliche, mit dem substituierten Teil der F-Einlage D anstelle des ursprünglichen Mr: F * D = (D + L * TP * PV)^p * (D - L * SL *PV)^(1-p) - D

Wir haben moralische Erwartungszahlen im Zehnerbereich erhalten, warum können wir nicht jede beliebige Zahl als % der Einlage bezeichnen? Wir können.

Als nächstes erhalten wir:

(1+F)*D = (...)^p * (...)^(1-p)

(1+F)*D / (...)^(1-p) = (...)^p

Beachten Sie, dass 1 / x^y -> x^-y, so können wir loswerden, den Bruch, obwohl es nicht entscheidend für den Computer zu zählen, aber die Formel ohne den Bruch ist einfacher zu lesen.

(1+F)*D * (...)^(p-1) = (...)^p

[ (1+F)*D * ( D - L * SL *PV )^(p-1) ] ^ (1/p) = ( D + L * TP * PV )

Das, was in eckigen Klammern steht, habe ich in meinem Code in der Variablen y1.

Ihre Version des Codes hat eine unvollständige Formel.

 
Stanislav Korotky #:

Ich scheine mich an strenge mathematische Umformungen gehalten zu haben - ich sehe nicht, wo der Fehler liegt? Lassen wir einmal die Bedeutung des Wertes selbst aus den Klammern heraus und betrachten wir die Formel als Abstraktion.

Die ursprüngliche, mit dem substituierten Teil der F-Einlage D anstelle des ursprünglichen Mr: F * D = (D + L * TP * PV)^p * (D - L * SL *PV)^(1-p) - D

Wir haben moralische Erwartungszahlen im Zehnerbereich erhalten, warum können wir nicht eine beliebige Zahl als % der Einlage bezeichnen? Wir können.

Als nächstes erhalten wir:

(1+F)*D = (...)^p * (...)^(1-p)

(1+F)*D / (...)^(1-p) = (...)^p

Beachten Sie, dass 1 / x^y -> x^-y, so können Sie loswerden, der Bruch, obwohl es nicht entscheidend für den Computer zu zählen, aber die Formel ohne den Bruch ist einfacher zu lesen.

(1+F)*D * (...)^(p-1) = (...)^p

[ (1+F)*D * ( D - L * SL *PV )^(p-1) ] ^ (1/p) = ( D + L * TP * PV )

Ich habe das, was in eckigen Klammern steht, in meinem Code in der Variablen y1.

Ihre Version des Codes hat eine unvollständige Formel.

Wenn wir der Transaktion eine gewünschte moralische Erwartung zuordnen, dann erhalten wir (aufgrund der Eigenschaft, dass die moralische Erwartung geringer ist als die mathematische Erwartung) diese Ungleichung:

p* L * TP * PV - (1-p) *L * SL *PV > F*D

d.h. anstatt den Wert von TP zu finden, bei dem die moralische Erwartung positiv wird, suchen wir nach dem Wert von TP, bei dem die mathematische Erwartung größer als ein bestimmter Wert wird.