Hallo,
Kann jemand weiterhelfen?
Ich versuche ein scheinbar einfaches Handelssystem zu entwickeln und komme einfach nicht auf die Lösung.
Das Handelssystem soll nach letzten Exit(Long) wieder Kaufen nachdem der tiefste Punkt (seit Exit!!!) um x-Punkte überschritten wird.
Das Handelssystem soll nach letzten Enter(Long) wieder verkaufen nachdem der Höchste Punkt (seit Enter!!!) um x-Punkte unterschritten wird.
Letzterer Wert soll veränderlich sein (in Abhängigkeit vom aktuellen Tradegewinn)
Hier mein Ansatz - mal stark kommentiert:
{1.Startbedingung zum 1. Schalten (Initialisierung Schalter)}
calc SB: Zwischen(CUM(close/close), 50, 55);
{Schalter = 1 (-> Enter Long) wenn Kurstiefpunkt nach Letzten Exit Long um ... (Variables Limit) überschritten ist
Schalter = 0 (-> Exit Long) wenn Kurshochpunkt nach Letzten Exit Long um ... (Variables Limit) überschritten ist }
calc S1: Schalter(0, SB OR ÜL, 1, ÜH, 0);
{Höchster / Tiefster Wert seit S1 0->1; 1->0 }
Calc WH: HighestSince(Close, Cross(S1, 0.5, 3)>0.5, 3);
Calc WL: LowestSince(Close, Cross(S1, 0.5, 3)<-0.5, 3);
{Abstand zum aktuellen Kurs - hier für Limit Positiv }
Calc AH: WH-Close;
Calc AL : Close-WL;
{Limit vorerst fest - später variabel - ggf in Stufen in Abhängigkeit von AH
also kleine Gewinne mit Kleineren Limit versehen Größere ggf mit etwas Größeren Limit (Gewinne laufen lassen) }
Const LH: 50;
Const LL: 50;
{Limitüberschreitung -> 1 als Impuls }
Calc ÜH: Cross(AH-LH, 0, 3)>0.5;
Calc ÜL: Cross(AL-LL, 0, 3)>0.5;
Das
Problem scheint zu sein, daß der HH(LL)Kurs seit Betätigung des Schalters ermittelt werden muß und später bei Erfüllung der Schaltbedingung ÜH oder ÜL wieder zum Schalten verwendet wird.
Im Excel könnte man hier von einem "Zirkelbezug sprechen".
Im Voraus vielen Dank
rlo