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
Optimieren nach Bitfeldern, bei dieser Variante gibt es keine unnötigen Durchläufe.
Zum Beispiel:
und optimieren Sie in den vorgegebenen Parametern, in diesem Beispiel wird bp von 0 bis 3 optimiert
Sie haben nur vergessen, das Urteil zu schreiben, ob Sie es können oder nicht.
Wie kann es "einfacher" sein? :) Die Bedingungen für das Löschen eines EA oder für REASON_INITFAILED müssen noch verfolgt werden. Das sieht nach Ärger aus.
Es stellt sich heraus, dass eine Arbeitsgruppe von Parametern im Prinzip keine Ergebnisse liefert und nicht in die weitere Auswahl einbezogen wird.
In Ermangelung einer eleganten Lösung können Sie zunächst die "einfachere" Lösung verwenden. Wenn etwas Besseres gefunden wird, kann es jederzeit ersetzt werden. :)
Nicht wirklich, wenn Sie von meiner quälenden Idee sprechen. Mit "working set of parameters" und dem ersten trpar2=false wird der Durchlauf ein recht gutes Ergebnis liefern. Alle anderen Durchläufe mit demselben "Arbeitsparametersatz" und trpar2=false führen sofort zu Nullen, aber Ihr "Arbeitsparametersatz" wird trotzdem an der Auswahl teilnehmen. Das ist es doch, was du wolltest, oder?
Sie können es ein wenig korrigieren. Die Optimierungsparameter sollten in Strukturen geschrieben werden, und diese (einfachen Strukturen) sollten als Variablen behandelt werden. Der Code sollte lauten
if(!trpar && Par1==Parold1 && Par2==Parold2) { Parold1=Par; Parold2=Par2 ; return(9) } Hier sind Par und Parold Strukturen, in die optimale Parameter von anderen Währungspaaren geschrieben werden. So viele Paare wie es Wenns gibt, sieht es nicht so hässlich aus. Ich danke Ihnen.
Noch einmal: Es geht nicht darum, mit welchem Befehl der Durchgang vorzeitig beendet werden soll - das ist eine ziemlich primitive Lösung, was auch immer das sein mag. Die Schwierigkeit besteht darin, die Bedingungen für die vorzeitige Beendigung des Passes im Auge zu behalten. Die Tatsache, dass die Passage mit Hilfe Ihres Vorschlags vorzeitig abgeschlossen wird, macht die "Tracking-Einheit" selbst nicht weniger lästig, und die Eleganz dieser Einheit wird in keiner Weise erhöht.
Was haben Sie damit gemeint? Dass man in Ermangelung einer eleganten Lösung überhaupt keine verwenden sollte? Selbst wenn es eine gibt, aber, wie Sie es ausdrücken, "schmerzhaft"?
Kurzum, lassen Sie uns weitermachen. Ansonsten ist die Überflutung lästiger als der Code. :)
Sie können es ein wenig korrigieren. Die Optimierungsparameter sollten in Strukturen geschrieben werden, und diese (einfachen Strukturen) sollten als Variablen behandelt werden. Der Code sollte lauten
if(!trpar && Par1==Parold1 && Par2==Parold2) { Parold1=Par; Parold2=Par2 ; return(9) } Hier sind Par und Parold Strukturen, in die optimale Parameter von anderen Währungspaaren geschrieben werden.
Sie können es ein wenig korrigieren. Die Optimierungsparameter sollten in Strukturen geschrieben werden, und diese (einfachen Strukturen) sollten als Variablen behandelt werden. Der Code sollte lauten
if(!trpar && Par1==Parold1 && Par2==Parold2) { Parold1=Par; Parold2=Par2 ; return(9) } Hier sind Par und Parold Strukturen, in die optimale Parameter von anderen Währungspaaren geschrieben werden. So viele Paare wie es Wenns gibt, sieht es nicht so hässlich aus. Ich danke Ihnen.
Es gibt noch eine weitere Variante (die mir entfallen ist).
Sie können sich die Funktionen ansehen: OnTesterInit(), OnTesterPass(), OnTesterDeinit().
Und FrameFirst (),FrameFilter (),FrameNext (),FrameInputs (),FrameAdd().
Das ist genau das, wofür sie da sind. :)
Das heißt, Sie können jederzeit alle Parameter eines beliebigen Durchgangs der aktuellen Optimierung abfragen.