Samstag, 27. April 2024, 07:58 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Robert

unregistriert

1

Montag, 28. April 2003, 15:59

Exit-Regel

Hallo,
müßte eine Exit-Regel formulieren, wer kann helfen.

Immer wenn in einem HS 1 eine neue Position eröffnet wird, müßte ich in einem HS 2 einen Wert X eines Indikators zu diesem Zeitpunkt feststellen können.
Der aktuelle Wert Y dieses Indikators soll dann nach jeder Periode mit dem zuvor festgestellten Wert X verglichen werden.
Wenn irgendwann X-Y>oder<Z werden sollte, soll das Exit-Signal gegeben werden.

Danke im voraus, Gruß, Robert

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

2

Montag, 28. April 2003, 22:13

RE: Exit-Regel

Hallo,

ich habe es noch nicht probiert, aber es müsste so funktionieren:

>>Immer wenn in einem HS 1 eine neue Position eröffnet wird.

Dies lässt sich nur über die Kapitalkurve von HS 1 ermitteln:
--------------
calc Kapital: #_Kapital HS 1<<#;
calc KapÄnderung: ROC(Kapital,1,$);
calc NeuePosition:
Ref(KapÄnderung,-1)=0 AND KapÄnderung<>0
---------------
In der letzten Periode hat sich die Kapitalkurve nicht geändert, in der aktuellen aber schon (Zinsen sollte hier natürlich auf 0 gesetzt sein und der Fall gleichbleibender Kurse ist auch noch nicht berücksichtigt).
Der Rest ist relativ einfach ("Indi" sei der gewünschte Indikator):
---------------
calc Indi: ....;
calc WertX: ValueWhen(Indi, NeuePosition, 1, V)
----------------
WertX hält den Wert von Indi zum Zeitpunkt einer Neuen Position fest. Jetzt kann der aktuelle Wert von "Indi" mit "WertX" verglichen werden:
----------------
z.B.
Indi>WertX
--------------------
Ich hoffe dies hilft weiter?
Viele Grüße
A. Knöpfel

Robert

unregistriert

3

Dienstag, 29. April 2003, 13:15

Hallo Hr.Knöpfel,
danke erst mal. Wenn ich Ihren Vorschlag umsetze tut sich zwar was, aber es funktioniert noch nicht.
Folgende Eingaben:
Definitionen:

GLOBAL CONST X:[X:2.166,1,200,1,200,1,0.1301,];
GLOBAL CONST Y:[Y:6.954,1,30,1,30,1,0.0402,];
calc KL: #_Kapital Long#;
calc KS: #_Kapital Short#;
calc KapÄnderungLong: ROC(KL,1,$);
calc KapÄnderungShort: ROC(KS,1,$);
calc NeuePositionLong: Ref(KapÄnderungLong,-1)=0 AND KapÄnderungLong<>0;
calc NeuePositionShort: Ref(KapÄnderungShort,-1)=0 AND KapÄnderungShort<>0;
calc GD_Long: GD(#_Kapital Long#,3,S);
calc GD_Short: GD(#_Kapital Short#,3,S);
calc Wert_x_Long: ValueWhen(GD_Long, NeuePositionLong, 1, V);
calc Wert_x_Short: ValueWhen(GD_Short, NeuePositionShort, 1, V);

Enter Long:

Close > GD(Close, X, S)
AND
Close > Ref(Close, -Y)
AND
(Wert_x_Long+GD_Long)>-20

Exit Long:

Close < Ref(Close, -Y)
OR
(Wert_x_Long+GD_Long)<-20

Habe es erst mal nur mit Enter und Exit-Long umgesetzt.

1.) Seitdem ich die Zeilen (Wert_x_Long+GD_Long)>-20 bzw <-20 eingefügt habe, bekomme ich folgende Fehlermeldung:

Vorgang: Indikatorberechnung
Datenreihe: DAX Future
Indikator: Add
Meldung: Für die Berechnung des Indikators stehen (bei dieser Datenkomprimierung) nicht genügend Daten zur Verfügung

Was ist hier falsch, an den Daten kann es eigentlich nicht liegen. Der GD_Long hat vorher auch funktioniert und jetzt werden ja eigentlich nur zwei Werte davon addiert.

2.) In Exit-Long habe ich dann zum testen mal nur (Wert_x_Long+GD_Long)<-20 geschrieben, um zu sehen ob es funktioniert:

Am Anfang funktioniert es um eine Periode verschoben, danach verträgt es sich nicht mehr mit den anderen Enter-Regeln, muß ich mir noch genauer anschauen um überhaupt erahnen zu können, was hier falsch sein könnte, bzw um eine Frage zu stellen.
Vielleicht verstehen sie es aber gleich:
Zusätzlich zu den normel definierten Enter und Exit-Bedingungen kommt die angefragte Erfolgskontrolle ((Wert_x_Long+GD_Long)<-20 bzw >-20) um zu große Verluste zu vermeiden:
Trifft (Wert_x_Long+GD_Long)<-20 zu, soll ein Exit Signal gegeben werden. Ist diser Wert dann irgendwann wieder >-20 soll ein Enter-Signal gegeben werden wenn die ursprünglichen Bedingungen noch zutreffen.

Danke für Ihre Hilfe, Robert

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

4

Dienstag, 29. April 2003, 15:56

Hallo,

das ist schon eine recht komplexe Sache und ich bitte um Verständnis, dass ich darin nicht noch allzuviel weiter einsteigen will (zum Knobeln gibt es Stoff genug).
zu 1) Vielleicht kommt der Fall >20 <-20 nicht vor?
zu 2)
>>Am Anfang funktioniert es um eine Periode verschoben
Event. muss das Delay noch durch ein Ref(,-1) berücksichtigt werden.

Viele Grüße
Andreas Knöpfel