Nicht für MT-Entwickler! Wodurch soll INIT_PARAMETERS_INCORRECT ersetzt werden? - Seite 10
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Falsche Parameter werden im Allgemeinen aus 3 Gründen deaktiviert:
1. das Untersuchungsgebiet ist nicht von Interesse (z. B. Ausschluss einer Reihe von Zeiträumen, da dies die verständlichste Option ist);
Völlig richtig.
Wie organisieren Sie nun die MA-Optimierung aus dem Beispiel, ohne die "ungültigen" Parameter einzubeziehen?
OK, ich gebe zu, ich habe nicht genau hingesehen. um einen anderen Parameter mit einer ungültigen Lücke auszuschneiden zu optimieren
OK, ich stimme zu, ich habe nicht genau hingesehen. Um zu optimieren, sollte ein weiterer Parameter mit der ungültigen Lücke herausgeschnitten werden.
Können Sie mir ein Beispiel nennen?
Darf ich Ihnen ein Beispiel nennen?
Ich stimme zu. Wie sieht es mit dem Zeitrahmen aus?
Ich stimme zu. Und was ist im Falle von Zeitrahmen zu tun?
Auf die gleiche Weise - Konvertierung von int innerhalb eines kontinuierlichen Intervalls in einen Zeitrahmen. z.B. ein Array mit allen Werten von TF erstellen und nach Array-Index optimieren
Zum Beispiel, um ein Array mit allen TF-Werten zu erstellen und nach Array-Index zu optimieren
Nun, das sieht für mich wie eine Krücke aus... Vielleicht irre ich mich, aber es ist fast dasselbe, was ich bei meinem Ausgangsbeispiel tun musste. Nur müssen Sie in diesem Fall nicht das gesamte Array vorher in eine Datei auslagern...
Es kam die Idee auf, "ungültige" Parameter während der genetischen Optimierung in OnTester() auszusieben:
Es stellt sich heraus, dass die Ergebnisse von INIT_PARAMETERS_INCORRECT nicht gesehen werden können, ohne die Genetik zu beeinträchtigen.
Hier stellt sich eine weitere Frage: Können wir in diesem Fall ein "tiefes Minus" beim Gewinn bekommen?
So habe ich es gemacht: ein separater Parameter wird erstellt und andere Werte werden abhängig von seinem Wert ersetzt.
Ein einfaches Beispiel (vor 2 Wochen):
Es gibt Zeitrahmenparameter: TF_UP (Senior) und TF_DOWN (Junior), und der Senior muss immer größer sein als der Junior, im umgekehrten Fall kommt input_incorrect heraus. Im Tester gibt es viele Nullergebnisse und die Genetik "arbeitet umsonst" (obwohl sie schnell ist). Als Ergebnis habe ich diese 2 Parameter entfernt und einen neuen Parameter erstellt, der den unten beschriebenen Typ hat, und nur diesen optimiert, und bereits in der OnInit-Funktion die Substitution in 2 anderen Parametern, abhängig von diesem Parameter.