Dienstag, 16. April 2024, 19:12 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

dubi

Profi

Registrierungsdatum: 1. September 2002

Beiträge: 331

1

Mittwoch, 22. August 2018, 20:25

Delta von 2 Indikatoren per Robustheitstest minimieren

Hallo

Ich komm irgendwie nicht weiter. Könnte mir jemand einen Hinweis geben, wie ich folgendes Problem lösen kann:

Ich habe 2 Indikatoren. Beide Indikatoren nehmen entweder den Wert 1 oder -1 an.

Der erste Indikator x könnte z.B. so aussehen:

Quellcode

1
Schalter(0, Cross(MACD(Close), -0.002, 1), 1, Cross(MACD(Close), 0.002, 1), 0);

Der zweite Indikator y könnte so aussehen:

Quellcode

1
Schalter(0, Cross(RSI(Close,10), 30, 1)=1, 1, Cross(RSI(Close,10), 70, 1)=-1, 0);


Zu jedem Zeitpunkt in der Zeitreihe prüfe ich nun ob die beiden Indikatoren gleich sind (0) oder sich unterscheiden (1):

Quellcode

1
calc z: If(x=y,0,1);


Im Chart kann ich mir nun das aufsummierte Delta ansehen, wobei mich hier eigentlich nur der letzte Wert interessiert:

Quellcode

1
CUM(z)


Mein Begehr ist nun, über das Robusten verschiedener Parameter des 2. Indikators (y) das aufsummierte Delta zu minimieren. Also indem z.B. die Grenzwerte von 30/70 auf 40/60 verschoben werden.

Ich denke, dass ich das Delta zuerst einmal als "eigenes Testergebnis" definieren müsste, denn so hab ich Zugriff auf diesen Wert im Robustheitstest. Dann muss ich noch Optimierungsvariablen defnieren. Gut - mach ich im Handelssystem z.B. unter Definitionen. Diese Variablen müssten dann in den "Eigenen Testergebnissen" verarbeitet werden.

Hat mir jemand einen Vorschlag, was ich wo definieren müsste??? ?( :baby:

Danke und Grüsse
-dubi

dubi

Profi

Registrierungsdatum: 1. September 2002

Beiträge: 331

2

Freitag, 24. August 2018, 08:13

darf ich nochmals vorsichtig nachfragen, ob mir jemand einen Hinweis hat? :)

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

3

Freitag, 24. August 2018, 20:50

Hallo,

wenn die Berechnungen als globale Variable definiert sind, können sie in einem anwenderdefierten Testergebnis abgefragt werden.

Also im HS/Definitionen:

Quellcode

1
global calc z: ....;


Im Anwender-Testergebnis:

Quellcode

1
2
getglobalvar "z", Daten
Ergebnis = Daten(LetzteDatenPeriode(Daten))


Das Testergebnis kann dann z.B. minimiert werden.

Viele Grüße
Andreas Knöpfel

dubi

Profi

Registrierungsdatum: 1. September 2002

Beiträge: 331

4

Samstag, 25. August 2018, 15:39

Vielen herzlichen Dank, Herr Knöpfel - das ist ja so einfach! Ich muss ich echt nochmals mit dem Datenmodell auseinandersetzen.
-dubi