Dienstag, 16. April 2024, 18:15 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Registrierungsdatum: 23. Oktober 2006

Beiträge: 216

1

Montag, 5. Dezember 2016, 00:06

Gestufter Trailing Stop auf Basis SAR

Hallo

ich habe leider ohne Erfolg versucht einen Trailing-Stop zu entwickeln, bei dem das Stop-Level in Stufen nachgezogen wird sobald jeweils ein einstellbarer fixer Kursgewinn erreicht ist. z.B. immer nachziehen, wenn weitere 5% Kursgewinn erzielt. Nachgezogen werden soll auf den Wert des SAR zum Zeitpunkt, da der neuerliche Kursgewinn erreicht ist.

Gescheiter bin ich, weil ValueWhen hartnäckig den mir nicht verständlichen Fehler nicht ausreichen Daten oder so ähnlich erzeugt hat.

Wer kann mir einen Tipp geben?

Danke
Gruß
Augustus

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

2

Montag, 5. Dezember 2016, 13:25

Vielleicht könntest Du noch genauer zeigen, wieviel historische Daten da überhaupt reinmarschieren in das HS.

Und vor allem, was Du da codiert hast. Dazu sollte man auch wissen, wo Du das codiert hast, z.B. in den Definitionen, in den Zusatzbedingungen oder was? Hardcopies aller Stop-Einstellungen wären auch nützlich.

Du weisst ja, je mehr Du aus der Deckung kommst, umso mehr wird Dir geholfen ;)
Gruss
Bernd

Registrierungsdatum: 23. Oktober 2006

Beiträge: 216

3

Montag, 5. Dezember 2016, 20:45

Hallo Bernd,

vielen Dank

Anzahl der Daten die in HS marschieren: 11 Jahre Datenhistorie mit wöchentlicher Komprimierung

Folgende Stop-Kombination hat grundsätzlich recht gut funktioniert, jedoch mit dem Nachteil, dass nach Kursgewinn entsprechend Kursgewinnstop verkauft wird und bei weiter steigenden Kursen sofort anschließend wieder investiert wird:
  • Kursgewinn-Stop: Gewinnziel 20%, sonst alles Standard in Verbindung mit
  • Anwenderstop wie folgt
unter Definitionen vereinbart StopL: SAR(Close,0,02,02)

Zusatzbedingung:

calc #_StopLevel#: RefVar(StopL, -TradePeriods);
calc #_ExitLevel#: If(Open < #_StopLevel#, Open, #_StopLevel#);
Low < #_StopLevel#

Daraufhin habe ich versucht die beiden Stops in einem Anwenderstop zusammen zu fassen, bin jedoch an der Definition von TEP und TP gescheitert:

Zusatzbedingung:

//Gewinn in Prozent
calc Gewinn: If(TradePosition = 1, (TradePrice/TradeEntryPrice-1)*100, (TradeEntryPrice/TradePrice-1)*100);

//TradeEntryPrice: TEP
calc TEP: //Ausdruck, der TEP der Reihenfolge nach TradeEntryPrice, TradePrice, wenn Gewinn= 1,2, TradePrice, wenn Gewinn= 1,4, usw. zuordnet

//TradePeriods: TP
calc TP: //Ausdruck, der TP der Reihenfolge nach TradePeriods, TradePeriods, wenn Gewinn= 1,2, TradePeriods, wenn Gewinn= 1,4, usw. zuordnet

calc Anfangslimit: TEP-RefVar(StopL,-TP);
calc #_StopLevel#: If(TradePosition = 1, TEP-Anfangslimit , TEP+Anfangslimit);

calc #_ExitLevel#: If(TradePosition = 1, MIN(Open, #_StopLevel#), MAX(Open, #_StopLevel#));
// Ausstieg, wenn
If(TradePosition = 1, Low <= #_StopLevel#, High >= #_StopLevel#)
Gruß
Augustus

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

4

Montag, 12. Dezember 2016, 01:33

OK, schicke Formel-Sammlung. Der AWS macht die Sache sicher auch nicht schneller.

Was kommt raus, wenn Du für einen Trailing-Stop einen "ganz normalen" Intraday-Verlust-Stop verwendest, nur "ein wenig ge-pimpt"?

Etwas so:
* unter "Einstellungen" hakst Du "Limit nur in Trade-Richtung nachziehen" an
* unter "Optionen" trägst Du als "Basis für Verlust-Gewinnberechnung" Deinen SopL ein, als Bezugsart könnte wohl "Relativ" passen

Das sollte den gewünschten Trailer ergeben, nur schneller gerechnet als der AWS und die Formel wär ja auch einfacher, beschränkte sich auf den StopL.

Nicht, dass ich das jetzt die Zeit gehabt hätte zu testen; nur mal eben rüber geguckt, was Du machst und wie es vielleicht sonst im Standard gehen könnte. Denke ich mal
Gruss
Bernd