Zur Berücksichtigung von Fachleuten. - Seite 3

 
khorosh:
Der Zweck Ihres Beitrags ist es, zu zeigen, wie man den Drawdown richtig zählt? Danke für den EA. Es scheint mir nur, dass Ihr Code, wenn er in einem echten EA enthalten ist, den Drawdown für einen oder mehrere offene Trades vom Moment der Eröffnung bis zur Schließung dieser Trades ermittelt, aber nicht nach dem maximalen Drawdown der gesamten Zeit sucht, in der der EA arbeitet. Oder habe ich es falsch verstanden? Können Sie meinen Code kritisieren? Erfüllt er seine Aufgabe, den maximalen Drawdown zu finden, korrekt?


Dieser (mein) Code speichert genau den maximalen Drawdown für die gesamte Zeit der Arbeit des Expert Advisors, d.h. er setzt die Variablen max und min nicht zurück, wenn ein Handel geschlossen wird, wenn das Eigenkapital gleich dem Saldo ist und es kein min für die gesamte Zeit gibt.

Ich habe es nur als Beispiel und der Einfachheit halber geschrieben - als Vergleich mit einem Tester.

Was Ihren Code betrifft, so ist nicht klar, warum er hier verwendet werden soll:

  if(AccountEquity()>MaxEquity) 
    {MaxEquity=AccountEquity();MinEquity=AccountEquity();}

MinEquity wird zurückgesetzt.

MinEquity=AccountEquity();

In einer Situation, in der AccountEquity() > MaxEquity ist, gibt es aus verschiedenen Gründen keine Möglichkeit, einen Auftrag (oder mehrere Aufträge) zu schließen oder zu öffnen, geschweige denn MinEquity=AccountEquity() zurückzusetzen;

Im Allgemeinen kann ein und dieselbe Sache auf unterschiedliche Weise programmiert werden, die Hauptsache ist der richtige Algorithmus.

Wenn Sie die Variable in einen echten EA einfügen wollen, ist es besser, die Variablen in Dateien zu schreiben (mit Prüfung).

Meiner Meinung nach werden der maximale Drawdown und der relative Drawdown im Tester nicht berücksichtigt; ich habe vorhin einen Beispiel-Link angegeben.

 
serferrer:


Dieser (mein) Code speichert genau den maximalen Drawdown für die gesamte Zeit des EA, d.h. er setzt die Max- und Min-Variablen nicht zurück, wenn ein oder mehrere Trades geschlossen werden, wenn das Eigenkapital gleich dem Saldo ist und es kein Minimum für die gesamte Zeit gibt.

Ich habe es nur als Beispiel und der Einfachheit halber geschrieben - als Vergleich mit einem Tester.

Was Ihren Code betrifft, so ist nicht klar, warum er hier verwendet werden soll:

MinEquity wird zurückgesetzt.

In einer Situation, in der AccountEquity() > MaxEquity ist, gibt es aus verschiedenen Gründen keine Möglichkeit, einen Auftrag (oder mehrere Aufträge) zu schließen oder zu öffnen, geschweige denn MinEquity=AccountEquity() zurückzusetzen;

Im Allgemeinen kann ein und dieselbe Sache auf unterschiedliche Weise programmiert werden, die Hauptsache ist der richtige Algorithmus.

Wenn Sie die Variable in einen echten EA einfügen wollen, ist es besser, die Variablen in Dateien zu schreiben (mit Prüfung).

Meiner Meinung nach berücksichtigt der Tester fälschlicherweise den maximalen Drawdown und den relativen Drawdown, den Link zu dem Beispiel, das ich vorhin genannt habe.

MinEquity wird in dem Moment zurückgesetzt, in dem ein neuer Höchststand erreicht wird, was bedeutet, dass das vorherige Minimum überschritten wird und nach der Bildung des neuen Höchststands ein neuer Tiefststand gefunden werden muss, der einen höheren Drawdown als der zuvor gefundene Drawdown im Verhältnis zum neuen Höchststand ergibt. Beachten Sie, dass wir den Drawdown im Verhältnis zum letzten Maximum durch das nach diesem Maximum gebildete Minimum berechnen und das Maximum unter ihnen auswählen sollten. Siehe die Bestätigung in den Beiträgen von Integer, der dies ebenfalls für richtig hält. Ich denke, das ist der Grund für die Unstimmigkeiten mit dem Tester.

 
Serferrer, Ihre Variante zeigt den falschen Drawdown an, im Falle einer Folge von Verlustaufträgen. Sie können 10 Verlustaufträge in Folge mit einem Verlust von jeweils 100 erhalten, und dann verlieren Sie 1000 und der maximale Drawdown beträgt nur 100, was falsch ist.
 
Integer:
Serferrer, Ihre Variante zeigt im Falle einer Reihe von Verlustaufträgen einen falschen Drawdown an. Sie können 10 Verlustaufträge mit jeweils 100 Verlusten hintereinander haben und 1000 abziehen, während der maximale Drawdown nur 100 beträgt, was falsch ist.


Ich wiederhole - ich schrieb es nur als Beispiel und einfacher (für Klarheit) - als Vergleich mit dem Tester.

Und sie ist keineswegs endgültig.

Wenn Sie den endgültigen Code erstellen, müssen Sie ihn um viele weitere Funktionen ergänzen.

 
serferrer:


Ich wiederhole - ich schrieb es nur als Beispiel und der Einfachheit halber - als Vergleich mit dem Tester.

Und sie ist keineswegs endgültig.

Wenn Sie den endgültigen Code erstellen, müssen Sie ihn um viele weitere Funktionen ergänzen.


Für ein Beispiel von was und einen Vergleich mit was im Tester? Ihr Code berechnet keinen Account-Drawdown und kann nicht als Beispiel für die Berechnung des Account-Drawdowns verwendet werden und kann daher nicht zum Vergleich der Account-Drawdown-Berechnungen im Tester verwendet werden.
 
khorosh:

MinEquity wird in dem Moment zurückgesetzt, in dem ein neuer Höchststand erreicht wird, was bedeutet, dass das vorherige Minimum überschritten wird und nach der Bildung des neuen Höchststandes ein neuer Tiefststand gefunden werden muss , der einen höheren Drawdown als der zuvor gefundene Drawdown im Verhältnis zum neuen Höchststand ergibt . Beachten Sie, dass wir den Drawdown im Verhältnis zum letzten Maximum durch das nach diesem Maximum gebildete Minimum berechnen und das Maximum unter ihnen auswählen sollten. Siehe die Bestätigung in den Beiträgen von Integer, der dies ebenfalls für richtig hält. Ich denke, das ist der Grund für die Unstimmigkeiten mit dem Tester.


Das ist Ihre Meinung, ich verstehe sie, und ich selbst denke, sie ist nicht korrekt, und der Drawdown sollte auf der Grundlage des Preises der offenen Order(n) und nicht auf der Grundlage des Aktienmaximums berechnet werden, ich wiederhole:

Wenn z.B. in einer Situation, in der AccountEquity()>MaxEquity ist, gibt es aus verschiedenen Gründen keine Möglichkeit, einen Auftrag zu schließen oder zu eröffnen.

 
Integer:

Für ein Beispiel von was und einen Vergleich zu was im Tester? Ihr Code berechnet den Konto-Drawdown nicht und kann daher nicht als Beispiel für die Berechnung des Konto-Drawdowns verwendet werden und kann daher nicht zum Vergleich der Konto-Drawdown-Berechnungen im Tester verwendet werden.


Zum Vergleich und als anschauliches Beispiel, um auch Nicht-Programmierern zu verdeutlichen, dass der Tester den Drawdown nicht korrekt berechnet.

Absoluter Drawdown - Drawdown des Anfangssaldos, der angibt, wie stark der Saldo im Verhältnis zum Anfangswert gesunken ist;
Maximaler Drawdown - der Drawdown, der den maximalen Drawdown in Geld angibt (die Differenz zwischen dem letzten Maximum und dem aktuellen Minimum); kann den absoluten Drawdown übersteigen und zeigt die Höhe des möglichen Verlusts an, selbst wenn der Handel positiv ist;
Relativer Drawdown - relativer Drawdown, zeigt den maximalen Drawdown-Prozentsatz im Verhältnis zur ursprünglichen Einzahlung;

http://www.onix-trade.net/forum/index.php?showtopic=82146&st=0&p=342915&#entry342915

Ganzzahlig:

Stimmen Sie zu, dass in meinem Beispiel - Maximaler Drawdown 1013,00 (50,85%) Relativer Drawdown 50,85% (1013,00) und dies korrekt ist?

 
serferrer:


Zum Vergleich und zur Veranschaulichung: Auch Nicht-Programmierer verstehen, dass der Tester nicht richtig rechnet.

Absoluter Drawdown - Drawdown des Anfangssaldos, der angibt, wie stark der Saldo im Verhältnis zum Anfangswert gesunken ist;
Maximaler Drawdown - der Drawdown zeigt den maximalen Drawdown in Geld an (die Differenz zwischen dem letzten Maximum und dem aktuellen Minimum); kann den absoluten Drawdown übersteigen und zeigt die Höhe des möglichen Verlusts an, selbst wenn der Handel positiv ist;
Relativer Drawdown - relativer Drawdown, zeigt den maximalen Drawdown-Prozentsatz im Verhältnis zur ursprünglichen Einzahlung;

http://www.onix-trade.net/forum/index.php?showtopic=82146&st=0&p=342915&#entry342915

Ganzzahlig:

Stimmen Sie zu, dass in meinem Beispiel - Maximaler Drawdown 1013,00 (50,85%) Relativer Drawdown 50,85% (1013,00) und dies korrekt ist?


Nein, ich stimme mit Ihnen überhaupt nicht überein, in gar nichts.
 
khorosh:

Erläutern Sie, wo Sie einen solchen Parameter wie die Mindestausschöpfung gefunden haben und in welchem Bericht. Ich bin der Meinung, dass der während des Testlaufs ermittelte maximale Aktienrückgang im realen Handel wiederholt werden kann, daher halte ich es für richtig, ihn zum Maximum zu zählen.

Entschuldigung wegen der Mindestabnahme - mein Fehler. Der Beitrag wurde korrigiert. Warum macht es keinen Sinn, den maximalen Drawdown des Eigenkapitals bei einem offenen Auftrag im Freiflug zu berechnen?
 
Reshetov:

Nun, wenn Sie es nicht brauchen oder nicht verstehen, wozu es gut sein soll, warum sollten Sie sich dann an der Diskussion beteiligen und sogar Ihre Meinung kundtun?
Lesen Sie sorgfältig. Ich habe gefragt, warum andere es brauchen, nicht ich. Ich dränge nicht meine Meinung auf, ich habe nur die Logik erklärt.
Grund der Beschwerde: