Machen Sie den EA richtig?
7 Antworten
stearno
vor 11 Jahren #110806
Ich habe den beigefügten EA entworfen. Mache ich es richtig?
Ich habe einen benutzerdefinierten Indikator, der Entry, Stop, Profit Target und Trailing Stop bietet.
1. EA platziert 3 Stop Orders, wenn der Einstiegspreis im Feld von Indy erscheint.
2. Legen Sie den Stopp und das Gewinnziel wie in der Indy
3. Dann, wenn der Indy das ActiveStop-Feld auffüllt, EA, um den Stop-Kurs zu ändern (oder machen Sie einen Trailing-Stop) und dann tun es wieder, wenn der Indy das ActiveStop-Feld auf eine neue Zahl aktualisiert.
Ich danke Ihnen für Ihr Feedback und Ihre Hilfe!
Stearno
Mark Fric
vor 11 Jahren #120703
Hallo Stearno,
Es scheint richtig zu sein, obwohl ich die ursprüngliche Strategie nicht kenne.
Die 3 Stop-Orders sind korrekt platziert, das einzige Problem könnte der Trailing-Stop sein - er kann in Ihrem Handelssystem anders implementiert sein als im EA Wizard.
> 3. dann, wenn der Indy das ActiveStop-Feld ausfüllt, EA den Stop-Kurs ändern (oder einen Trailing-Stop machen) und es dann wieder tun, wenn der Indy das ActiveStop-Feld auf eine neue Zahl aktualisiert.
Wenn Sie den Stop-Loss erst ändern wollen, nachdem Indy das ActiveStop-Feld aktualisiert hat, sollten Sie wahrscheinlich eine neue Regel dafür hinzufügen.
Die Regel würde lauten:
IF
(Auftrag vorhanden und iCustom(..., ActiveStop) > 0)
DANN
SL nach iCustom(..., ActiveStop) verschieben
Mit freundlichen Grüßen,
Mark
Mark
StrategyQuant Architekt
stearno
vor 11 Jahren #120705
Mark,
Tolles Feedback. Ich werde diese Einstellungen nach dem neuen Update mit den erweiterten Parametern aktualisieren. Ich danke Ihnen!
stearno
vor 11 Jahren #120893
Sie sagten, "wenn Ordnung existiert". Was wähle ich, um diese Logik zu überprüfen?
Ich habe unter Strategiekontrolle nachgeschaut, aber es schien nichts zurückzugeben, wenn ein offener Auftrag mit einer magischen Zahl existierte.
Was bedeuten die Begriffe "Flat", "Long" und "Short" unter "Marktposition"?
Danke
-Stearno
Mark Fric
vor 11 Jahren #120906
Es gibt zwei Funktionen, um zu prüfen, ob die Bestellung geöffnet ist:
Marktposition - gibt die Position des gesamten EA wieder
Auftragsposition(MagischeZahl) - gibt die Position des Auftrags mit der angegebenen magischen Zahl zurück
Die möglichen Rückgabewerte dieser Funktionen sind:
Flach - das bedeutet, dass es keine offene Position gibt
Short/Long - bedeutet, dass eine Short- oder Long-Position offen ist
Mark
StrategyQuant Architekt
stearno
vor 11 Jahren #120908
Oh, okay. Ich dachte, Flat/Short/Long könnte möglicherweise der Gewinn/Verlust sein. Danke, dass Sie das geklärt haben.
Jetzt habe ich, wie von Ihnen gewünscht, zwei weitere Fragen gestellt:
1. Dieser EA wird 3 Long-Aufträge öffnen, wenn die Long-Bedingungen erfüllt sind. Wenn ich eine weitere Registerkarte für die Verschiebung der Stop-Loss, muss ich eine Registerkarte für jede Long-Order (Magic Long1, Magic long2, Magic Long3) zu tun, oder kann ich eine Registerkarte, die 3 haben wird Dann statments jeweils eine Bewegung ein SL für jede Bestellung. Der Grund für meine Frage ist, dass Long Order 1 vielleicht das Profit-Ziel erreicht hat, so dass nur noch 2 Orders offen sind. Wenn die Then-Anweisung diese Order aufruft, um ihren SL zu ändern, und diese nicht existiert, wird dies ein Problem verursachen, oder wird sie übersprungen und zur nächsten Then-Anweisung übergehen. Wenn dies ein Problem verursacht, muss ich für jede MagicNumber eine Tab-Anweisung ausführen, um nur diesen einen Auftrag zu ändern. (Beispiel für jede beigefügte mit 3 auf einer Registerkarte, und nur eine auf einer Registerkarte, die funktionieren wird)?
2. Außerdem wird die Ausgabe des ActiveStop-Indikators aufgefüllt und ändert dann die Zahlen. Ich dachte, dass die If-Anweisung den ActiveStop-Ausgang [1] mit dem vorherigen ActiveStop-Ausgang [2] vergleichen würde. Wenn der Wert größer ist (weil wir long gehen, also wird der Stop nur steigen), dann wird der Stop auf den neuen Ausgang verschoben. Ist dies der beste Weg?
Danke,
Jonathan
Mark Fric
vor 11 Jahren #120917
1. Dieser EA wird 3 Long-Aufträge öffnen, wenn die Long-Bedingungen erfüllt sind. Wenn ich eine weitere Registerkarte für die Verschiebung der Stop-Loss, muss ich eine Registerkarte für jede Long-Order (Magic Long1, Magic long2, Magic Long3) zu tun, oder kann ich eine Registerkarte, die 3 haben wird Dann statments jeweils eine Bewegung ein SL für jede Bestellung. Der Grund für meine Frage ist, dass Long Order 1 vielleicht das Profit-Ziel erreicht hat, so dass nur noch 2 Orders offen sind. Wenn die Then-Anweisung diese Order aufruft, um ihren SL zu ändern, und diese nicht existiert, wird dies ein Problem verursachen, oder wird sie übersprungen und zur nächsten Then-Anweisung übergehen. Wenn dies ein Problem verursacht, muss ich für jede MagicNumber eine Tab-Anweisung ausführen, um nur diesen einen Auftrag zu ändern. (Beispiel für jede beigefügte mit 3 auf einer Registerkarte, und nur eine auf einer Registerkarte, die funktionieren wird)?
können Sie sie in dieselbe Handelsregel aufnehmen. Wenn der Auftrag nicht existiert und Sie versuchen, seine SL/PT zu ändern, passiert nichts, er wird einfach ignoriert.
2. Außerdem wird die Ausgabe des ActiveStop-Indikators aufgefüllt und ändert dann die Zahlen. Ich dachte, dass die If-Anweisung den ActiveStop-Ausgang [1] mit dem vorherigen ActiveStop-Ausgang [2] vergleichen würde. Wenn der Wert größer ist (weil wir long gehen, also wird der Stop nur steigen), dann wird der Stop auf den neuen Ausgang verschoben. Ist dies der beste Weg?
Ja, ich denke, dies ist die einzige Möglichkeit, wenn Sie auf eine Änderung des ActiveStop-Werts prüfen müssen.
Mark
Mark
StrategyQuant Architekt
stearno
vor 11 Jahren #120926
Danke, Mark. Sehr hilfreich.
Ansicht von 7 Antworten - 1 bis 7 (von insgesamt 7)