Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Es wird also nur diese iCustom-Zeile geändert? Dann müssen wir uns diesen Indikator im Detail ansehen.
Sie haben das falsche Thema. Sie konzentrieren sich auf die Optimierung, während das Problem offensichtlich beim EA liegt(Parameterübertragungen usw.). Vergessen Sie die Optimierung für eine Weile, geben Sie Kommentare und Drucker in den EA ein, lassen Sie ihn mit verschiedenen Parametern in der Visualisierung laufen, kontrollieren Sie die Zwischendaten, finden Sie alle Fehler, und kehren Sie dann zur Optimierung zurück.
Die gleichen Ergebnisse deuten darauf hin, dass die optimierten Parameter keinen Einfluss auf die Bildung des Handelssignals haben, und dies ist das Problem des EA, nicht des Testers.
Wenn ich die Parameter wie folgt einstelle: (iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits); - erscheinen alle Nullen, wie ich oben ein Beispiel gegeben habe.
Wenn ich iCustom(NULL, 0, "ART", 0, 1), Digits) einstelle; - dann erscheinen berechnete Werte,
aber sie sind alle gleich, auch wenn die Ergebnisse der Geschäfte im Test mit verschiedenen Parametern sehr unterschiedlich ausfallen.
Angela, damit die Optimierung funktioniert, müssen Sie die vom Optimierer geänderten Werte irgendwie im Algorithmus verwenden, insbesondere müssen Sie sie an den Indikator weitergeben. Es ist notwendig, dem Indikator Parameter zu übergeben, wenn Sie ihn optimieren wollen. Wenn Sie den Indikator ohne Parameter aufrufen (d.h. im zweiten Fall iCustom(NULL, 0, "ART", 0, 1)), lassen Sie die Parameter tatsächlich weg und er arbeitet mit den Standardparametern, die in ART registriert sind (natürlich sind sie nicht optimiert). Der vollständige Aufruf mit Parametern - die erste Option - ist das, was Sie zur Optimierung benötigen. Höchstwahrscheinlich liegt das Problem darin, dass Sie die Parameter nicht korrekt übergeben. Zum Beispiel, wenn ihre Zahl im Indikator kleiner ist und Sie einen besseren Wert übergeben, oder umgekehrt, wenn Sie ihnen nicht alle Parameter geben. Wenn der Indikator ein Geheimnis ist, geben Sie zumindest die Liste seiner Parameter an.
Dank an alle, der Grund war trivial. Die Reihenfolge, in der die Parameter vom Indikator an den EA gesendet wurden, stimmte nicht überein:
im Expert Advisor war
extern int MA_Period=151; // 101 10 201
extern double KFK=0,9; // 0,7 0,005 1.
in dem Indikator im Gegenteil
extern double KFK=0.9; // 0.7 0.005 1.
extern int MA_Period=151; // 101 10 201
es funktionierte im Visualisierungsmodus, aber nicht im Optimierungsmodus.
Herzlichen Glückwunsch! Ich erinnere mich auch daran, dass ich mit der Übergabe von Parametern zu kämpfen hatte, bis ich mich daran gewöhnt hatte, peinlich genau zu sein. Jetzt kopiere ich ein Stück Indikatorcode mit allen Externa in Expert Advisor und schreibe iCustom, wobei ich mir das Beispiel ansehe. Es ist ein bisschen stumpf, aber seither gibt es keine Fehler mehr.
Noch eine Sache. Ich habe mir den illustrativen Schreibstil von komposter iCustom angesehen. Alles liegt direkt in meiner Hand.
Ich bin dabei, die zweite Version meines TS zu debuggen. Im Vergleich zur ersten hat sich die Anzahl der Geschäfte erhöht und die Anzahl der optimierbaren Parameter hat sich deutlich verringert, obwohl sich der Drawdown verdoppelt hat.
Allerdings habe ich einige Zweifel, das System ist von Monat zu Monat nicht sehr stabil. Ich habe es noch nicht optimiert, aber das Ergebnis mit GA wird in 48 Stunden vorliegen. 800+ Durchläufe sind nicht ermutigend und die Optimierungsergebnisse im Juni sind schlechter als die der Tests mit den ursprünglichen Parametern für den gleichen Zeitraum. Ich bringe drei Statistiken, für Juni, Juli und August, bisher habe ich nur Buy debuggt. Kann ich ein solches System aufgrund von Optimierungen mit stabilen Ergebnissen herausnehmen oder sollte ich gleich mit der Entwicklung eines neuen Systems beginnen?
Wenn nur der mql-Code am Expert Advisor beteiligt ist, muss dort etwas falsch kodiert sein, denn 800 Läufe sollten sich bei Eröffnungskursen nicht verlangsamen. Oder habe ich etwas falsch verstanden? Normalerweise sind Experten mit externen Bindungen wie Bibliotheken für neuronale Netze usw. sehr langsam. Natürlich können wir auch davon ausgehen, dass mql viele verschachtelte Schleifen hat (oder Aufrufe einiger "gefräßiger" Indikatoren) - dann kann es komplett verlangsamt werden. Daher kann ich die Idee der angeblichen Notwendigkeit von Refactoring nur wiederholen ;-) - Überprüfen Sie einige Codefragmente oder den gesamten Code erneut und wandeln Sie ihn um.
Zum Zeitpunkt des Verfassens dieses Beitrags waren 800 von mehr als 8000 Läufen absolviert, mit 5 Stunden Optimierung, und es waren noch 2 Tage Zeit. Aber ich wartete nicht bis zum Ende, reduzierte den Aufzählungsbereich einiger Parameter, startete neu und in 8 Stunden war die gesamte Optimierung abgeschlossen.
Bestes Ergebnis:
Die Anzahl der gewinnbringenden Geschäfte übersteigt die Anzahl der verlustbringenden Geschäfte, der durchschnittlich gewinnbringende Handel übersteigt den verlustbringenden, was ein sehr gutes Zeichen ist. Meiner Meinung nach sollten Sie dieses System nicht aufgeben, sondern sein Verhalten über einen längeren Zeitraum studieren. Sie können es auch auf ein anderes Kreuz setzen.