StopLoss auf Break Even nachziehen
Kann mir jemand in Code-Form aufschreiben, wie ich den StopLoss einer bestehenden Order auf Break Even ziehe, sobald ich 20 Pips im Plus bin und die Order anschließend mit einem TrailingStop versehe ?
|
Joa das wäre cool!!
Aber nur So nebenbei: Breakeven bedeutet, dass man gerade an die Stelle kommt, an der man keinen Verlust mehr macht (aber auch noch keinen Gewinn). Man geht also +-0 aus dem Trade (bzw setzt den Stoploss so, dass man +-0 ausgehen würde). Der Breakeven wäre meiner Meinung nach also nicht der Einstiegskurs sondern wenn überhaupt der Einstiegskurs Plus Spread... als sicherheitsfanatiker oder "ganz genauer" könnte man auch noch Plus ein paar Pips als Ausgleich für die Evtl anfallende Kommission dazu rechnen;-p Nur fürs allgemeine Verständnis, damit keine Missverstände auftreten!!:p |
Hallo,
das ist kein Problem. Code:
Das void UpdateBE() rufst du aus der void Start() auf (also bei jedem Tick). Fertig! Spread wird berücksichtigt. Läuft die Order nach dem Break Even Update ins SL wird sie exakt mit 0 geschlossen. Gruß naranjoe |
Danke dir für den Code.
Und wie füge ich nun einen TrailingStop zu eben dieser Order hinzu ? |
Wenn ich den Code richtig verstehe, IST das der Training Stopp.
Bei jedem Tick, also jeder Kursänderung wird überprüft, ob der Kurs gestiegen ist. Wenn er gestiegen sein sollte wird der aktuelle StopLoss gelöscht und ein neuer mit dem vorgegebenen Abstand wird erstellt. Nichts anderes ist ein TrailingStop vom Broker;-p |
Diese Funktion beinhaltet keinen Trailing Stop.
Es funktioniert so: Wenn deine Order einen bestimmten Wert (UpdateToBE) im Plus ist, dann wird der Stop Loss auf den Eröffnungspreis der Order gesetzt. Läuft jetzt der Kurs zurück und der Stop Loss wird erreicht, (welcher ja jetzt mit dem Eröffnungspreis übereinstimmt) wird die Order genau bei 0 geschlossen. Code für den Trailling Stop folgt. Gruß naranjoe |
Trailing Stop
Eröffne deine Order mit TrailingStop Pips als Stop Loss (also z.B. 20).
Das SL wird dann immer mit dem Abstand von 20 Pips der Order nachgezogen oder halt eben ausgelöst (wenn der Kurs dreht). Dafür solltest du auch ein Take Profit wählen das etwas größer ist z.B. 50. Aufruf von void UpdateTS erfolgt wie beim void UpdateBE. Code:
void UpdateTS() Aber das überlasse ich mal dir ;) Gruß naranjoe |
Und wie weise ich diese 2 Funktionen einer bestimmten Order zu ?
Sorry, aber ich bin halt noch Anfänger. Ich habe gerade erst das visuelle Backtesting ausprobiert und festgestellt, dass die BreakEven-Funktion nichts tut. Zur Info: Ich habe die genannte Funktion innerhalb der Start-Funktion eingefügt aber ohne die letzte und die ersten 3 Zeilen, also folgendermaßen: HTML-Code:
for(int i = OrdersTotal() - 1; i >= 0; i--) |
Zitat:
Häng doch mal deinen kompletten Code hier dran, dann lässt sich der Fehler ganz leicht herausfinden und erklären. Gruß naranjoe |
HTML-Code:
extern double dLots=0.1; |
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:41 Uhr. |
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum