Diskussion zum Artikel "Entwicklung eines plattformübergreifenden Grid-EAs (Letzter Teil): Diversifikation als Mittel zur Steigerung der Profitabilität"
Das Problem der Raster ist, dass der Optimierer die Einstellungen so wählt, dass er mit einer minimalen Menge zu einem ungünstigen Chart kommt. Das ist im Leben nicht der Fall. Zuerst werden Positionen auf dem mittleren Markt aufgebaut, dann kommt für kurze Zeit ein sehr ungünstiger Chart und hallo zum Margin Call.
Es ist vielfach bewiesen, dass ohne ein profitables Handelssystem, Netze und Martins die Handelsleistung nicht verbessern werden.
Kann jemand einen Einstellungssatz zur Verfügung stellen? Ich führe diese EA und es ist nicht einmal öffnen normale Trades... Ich würde das wirklich gerne ausprobieren.
Ich danke Ihnen, Sir.
Kann jemand einen Einstellungssatz zur Verfügung stellen? Ich führe diese EA und es ist nicht einmal öffnen normale Trades... Ich möchte wirklich versuchen, diese.
Vielen Dank, Sir.
Ich habe nicht das Gefühl, dass ich die Parameter einstellen kann, es sagt immer Timer nicht eingestellt, kann jemand helfen?
Vielen Dank für Ihre Artikel, ich habe Ihren Code gründlich studiert und mir einige Ideen für meinen Roboter ausgeliehen. Ich würde mir wünschen, dass Sie Ihren Code sorgfältiger behandeln, sich zumindest klare und logische Namen für Variablen ausdenken, so dass man sofort versteht, warum eine Variable benötigt wird. Vor allem, wenn Sie Ihren Code öffentlich zugänglich machen. Und Sie sollten den Code mehr kommentieren.
Sie haben über die geringe Anzahl von Trades und die Anpassung an die Historie geschrieben - ich habe Ihren Roboter auf dem M1-Zeitrahmen optimiert, was aus 4 Tausend Trades für 3 Jahre ergab, dass die besten Instanzen recht stabile Ergebnisse lieferten.
Es ist absolut unbequem, mit dem absoluten Geldbetrag als Ziele des Expert Advisors zu arbeiten, es wäre tausendmal besser, wenn Sie sich dafür entscheiden, die Anzahl der Pips als Ziele festzulegen, und zusätzlich zu einem statischen Lot, als Option - ein Prozentsatz des maximal zulässigen Lots. Andernfalls ist schon der Wechsel von einem Budget im Tester zu einem anderen ein großes Problem, und man muss die Optimierung neu starten.
Irgendwo stand übrigens etwas von einer schrittweisen Erhöhung des Lots - ich habe im Code nichts darüber gefunden, wahrscheinlich ist es nicht die neueste Version.
Ich war auch sehr verwirrt von der Strategie des Einstiegs nach MA, die normalerweise entweder die Erhöhung oder die Verringerung des MA-Wertes berücksichtigt. Im Code sieht es so aus:
if (buf0[0] > buf0[6]) { //--- MA wächst } else if (buf0[0] < buf0[6]) { //--- MA fällt }
Warum wird der Wert des siebten Balkens mit dem aktuellen Balken verglichen? Wo ist die Logik? Was wäre, wenn es sich um ein Flat handelt und der MA zwischen dem 1. und 7. Balken steigt und fällt? Es scheint, dass Sie sich nicht sehr für diesen Punkt interessiert haben, vielleicht wollten Sie den Artikel schnell beenden. Meiner Meinung nach ist es notwendig, ein stabiles Wachstum über mehrere aufeinanderfolgende Balken zu betrachten, um es zu bestätigen. Ich habe einen Code geschrieben, um bestätigte Umkehrungen oder stabile Zuwächse/Abnahmen von Array-Werten über mehrere Balken zu erkennen, und ich teile ihn mit Ihnen:
//+------------------------------------------------------------------+ //| Abfangen der Umkehrung des Indikators| //+------------------------------------------------------------------+ bool getReverse(double & object [], string direction, int repeatsIn, int repeatsOut) { bool reverseCorrect = true; if (direction == "up") { if (repeatsOut > 0) { for(int i = 0; i <= (repeatsOut - 1); i++) { if (!(object[i] > object[i+1])) reverseCorrect = false; } } if (repeatsIn > 0) { for(int i = repeatsIn; i <= (repeatsIn + repeatsOut - 1); i++) { if (!(object[i] < object[i+1])) reverseCorrect = false; } } } else { if (repeatsOut > 0) { for(int i = 0; i <= (repeatsOut - 1); i++) { if (!(object[i] < object[i+1])) reverseCorrect = false; } } if (repeatsIn > 0) { for(int i = repeatsIn; i <= (repeatsIn + repeatsOut - 1); i++) { if (!(object[i] > object[i+1])) reverseCorrect = false; } } } return reverseCorrect; }
Verwenden Sie ihn wie folgt:
getReverse(MA1Val, "up", 0, 7);
In diesem Beispiel gibt die Funktion true zurück, wenn der MA1-Wert seit 7 aufeinanderfolgenden Bars gestiegen ist. Wenn Sie 0 durch z. B. 3 ersetzen, sucht die Funktion nach einem Muster, bei dem der MA zunächst 3 Balken in Folge gefallen und dann 7 Balken in Folge gestiegen ist.
Ich werde mich nicht zu anderen Indikatoren äußern, aber es gibt auch etwas zu bedenken. Selbst bei der Verwendung von Standardindikatoren können Sie mehr Logik hinzufügen.
Viel Erfolg!
gsc:
代码里没有开单程序,只有平单程序,大量重复的参数和程序,毫无用处的错误判断和创建物件,这是我见过的最垃圾的
Kannst du helfen, ein Ea zu schreiben, danke
- 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 Entwicklung eines plattformübergreifenden Grid-EAs (Letzter Teil): Diversifikation als Mittel zur Steigerung der Profitabilität :
In früheren Artikeln dieser Serie haben wir verschiedene Methoden ausprobiert, um einen mehr oder weniger profitablen Grid-Expertenberater zu erstellen. Jetzt werden wir versuchen, die EA-Profitabilität durch Diversifikation zu steigern. Unser oberstes Ziel ist es, einen Jahresgewinn von 100% zu erreichen, wobei der maximale Drawdown des Saldos nicht mehr als 20% beträgt.
Wenn wir das zugrunde liegende Handelssystem nicht ändern, gibt es zwei weitere Möglichkeiten, die uns helfen könnten, die Rentabilität zu steigern.
Die erste Methode besteht darin, die Zeitspanne zu verringern, in der die EA-Parameter optimiert werden. Dies kann es uns ermöglichen, den EA genau an den aktuellen Marktzyklus anzupassen und den maximalen Gewinn zu erzielen.
Diese Methode hat jedoch einen erheblichen Nachteil. Der vergangene Gewinn garantiert keine zukünftigen Gewinne. Je niedriger das Zeitintervall für EA-Tests ist, desto höher ist das Risiko, dass eine Strategie durch Marktveränderungen zerstört wird.
Die zweite Methode impliziert Mehrwährungshandel (Diversifikation). Die Losgröße für jedes Finanzinstrument wird niedriger sein als beim Handel mit einer einzigen Währung. Mit einem solchen Verlustmanagement, auch wenn Sie bei einem der Instrumente Drawdown oder Stop-Loss treffen, ist die der größte Drawdown des Saldos geringer als beim Einzelwährungshandel. Darüber hinaus kann der Gewinn anderer Symbole dazu beitragen, die Gelder schneller wiederherzustellen.
Autor: Roman Klymenko