Dienstag, 23. April 2024, 20:36 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

guid

unregistriert

1

Dienstag, 11. Mai 2010, 15:19

Kombination von Exit-Regel und Stopps, Formelsprache

Hallo,

brauche bitte Unterstützung bei der Formelsprache:

Aktuelle Handels- und Testbedingungen

Enter Long definiert, Exit Long = 0, Gewinnstop, Verluststop
Enter Short definiert, Exit Short = 0, Gewinnstop, Verluststop
Position: "Richtung stets wechseln" aktiviert

Geplante Handels- und Testbedingungen
Enter Long definiert, Exit Long definiert, Gewinnstop, Verluststop
Enter Short definiert, Exit Short definiert, Gewinnstop, Verluststop
Position: "Richtung stets wechseln" deaktiviert!!!

Problem
Wenn ein Trade gestoppt wird und die entsprechende Enter-Bedingung noch gültig ist, bucht das System (bei dieser gewählten Einstellung) korrekterweise den Trade sofort wieder ein.

Frage
Wie macht man es bei meiner geplanten Einstellung, dass das System einen Stop so wie ein Exit behandelt und den Trade erst dann wieder einbucht, wenn erneut ein Enter auftritt?


Bis dato hatte ich das Problem nicht, weil auf jeden Long-Trade ein Short-Trade folgte und umgekehrt. Dadurch war das System nach einem Stop immer aus dem Markt. Jetzt will ich aber, dass beispielsweise nach einem Long-Trade der gestoppt wurde, das System in der Lage ist, später einen weiteren Long-Trade zu machen, also nicht zwingend ein Short-Trade vorangestellt sein muss.
Zur Erklärung, meine Signal ist Long bei 1, Short bei -1. Das Signal kann aber auch den Wert 0 annehmen, was zugleich die Exit-Regel für beide Signale ist. Wenn das Signal also 1 ist, dann 0 und danach wieder 1, funktioniert alles - das System ist Long, Out und wieder Long. Wenn aber der erste Long-Trade gestoppt wird und das Signal inzwischen nicht auf 0 steht, bucht das System mit der nächsten Periode wieder den gleichen Trade ein. An diesem Punkt hätte ich gerne, dass das System aus dem Markt bleibt, bis das Signal = 0 ist und erst dann wieder in den Markt geht wenn das Signal erneut auf 1 ist (oder direkt auf -1).

Hoffe, ich habe das jetzt verständlich erklärt, wäre dankbar für eine Lösung!



Gruß, Guid

Yoggi

unregistriert

2

Dienstag, 11. Mai 2010, 15:34

Hallo Guid,

sind Deine Enterbedingungen so definiert (blödes Beispiel: a>50), dass man sie auch mit einer Crossbedingung formulieren könnte (enter wenn a den Wert 50 nach oben überschreitet)? Somit wäre verhindert, dass INV solange long bliebe (oder immer wieder long gehen würde), wie a größer als 50 wäre. Das erschiene mir jetzt als der erstmal leichteste Weg.
Alles Gute
Yoggi

guid

unregistriert

3

Dienstag, 11. Mai 2010, 17:56

An cross habe ich auch schon gedacht, aber das ist nicht die Lösung weil es wie folgt vorkommen kann:

Signal = 1 (long), Signal = 0, dann Signal = wieder 1. Es hat also kein Durchkreuzen der Signallinie (0) gegeben.

Vuego

Meister

Registrierungsdatum: 30. August 2002

Beiträge: 999

4

Dienstag, 11. Mai 2010, 18:37

Zitat

Es hat also kein Durchkreuzen der Signallinie (0) gegeben.

..und man kann auch 0.5 crossen!

sven

unregistriert

5

Mittwoch, 12. Mai 2010, 05:59

Hallo Guid,
Prüf doch ob die Enterbedingung in der Vorperiode nicht gültig war.
Also in Enterlung:
Enterbedingung and ref(Not Enterbedingung,-1)

guid

unregistriert

6

Mittwoch, 12. Mai 2010, 13:24

Danke sven,



so gehts!