Änderung des Wertes von Parametern
3 Antworten
chengsmine
vor 10 Jahren #111615
Ich habe einen Anfangswert für einen bestimmten Parameter DS auf 5 (Eingabe) festgelegt, wenn der EA startet. Nach der Schließung einiger Trades wird DS auf 10 erhöht. Aber es scheint, dass dieser neue Wert nicht den ursprünglichen Wert von DS ersetzt hat, wenn der EA neu startet. Zum Beispiel,
Eingang: DS=5;
Regel 1:
PU= Open (0) + ConvetToRealPips(DS)
Nach vielen Regeln:
Alle Aufträge schließen
DS=DS+5
Der neue Wert von DS ist nun 10, aber DS ist immer noch <=5 in Regel 1, wenn der EA neu startet (zu Regel 1 zurückkehrt).
Und warum? Gibt es eine Lösung für dieses Problem?
Mark Fric
vor 10 Jahren #122729
Wenn Sie einen EA neu starten, vergisst er alle im Speicher abgelegten Werte und verwendet wieder die Standardwerte.
Dafür gibt es keine einfache Lösung, es funktioniert einfach so.
Die einzige Möglichkeit, frühere Werte aus der Zeit vor dem EA-Neustart beizubehalten, besteht darin, sie in einer Datei zu speichern und dann wieder zu laden.
Oder Sie können versuchen, DS aus Ihren Bestellungen zu erkennen - wenn Sie zum Beispiel bei jeder Bestellung eine andere Größe verwenden, können Sie anhand der Größe der aktuellen Bestellung erkennen, welcher DS-Wert beim letzten Mal verwendet wurde.
Mark
Mark
StrategyQuant Architekt
chengsmine
vor 10 Jahren #122733
Wie können Sie sich an die Größe der letzten Bestellung erinnern, da Sie oben erwähnen, dass alle im Speicher abgelegten Werte gelöscht werden, sobald Sie einen EA neu starten?
Mark Fric
vor 10 Jahren #122751
Sie können sich den Wert der letzten Bestellung nicht merken, aber Sie können ihn aus der Bestellhistorie abrufen.
Fügen Sie diese Funktion einfach am Ende der Datei {EA Wizard}/code/CustomFunctions.mq4 ein:
Dann können Sie sie in Bedingungen verwenden, indem Sie die benutzerdefinierte Funktion sqGetLastPositionSize(YourMagicNumber) aufrufen.
Mark
Mark
StrategyQuant Architekt
Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)