Metastock Formel: Kauf über Close des Inside am Folgetag

Wer hat eine Idee zur Lösung fogenden Problems?

Ich möchte am Tag nach einem Inside Tag einen Kauf generieren, wenn an diesem Tag der Kurs über dem Close des Insidetages liegt.

Im System Tester Buy order:
HRef(L,-1)

Nun soll ein Stopkurs gesetzt werden der am Tief des Tages vor dem Inside day liegt. Zunächst erscheint das sehr einfach:

Im System Tester Sell order:
Stopkurs:=If( (HRef(L,-1), Ref(L,-1),0))
{Stopkurs nimmt bei Eintreten der Bedingung Intraday den Wert des Low des Vortages an, anderenfalls 0}
LRef(L,-1)), Ref(L,-1),PREV)

Wenn die Bedingung zum Kauf erst einmal eingetreten ist, nimmt Stopkurs den gewünschten Stopkurswert tatsächlich dauerhaft an. Allerdings nur solange nicht ein neuer Inside Tag auftritt, dann nämlich bezieht sich die Formel auf den neuen Insidetag und nimmt einen neuen Stopkurswert an, der für die zuerst eingegangene Position ohne Sinn ist.

Bemerkenswert ist außerdem, daß die Formel im Indicator builder wunderbar funktioniert und das Stopkurslevel als Linie in den Chart zeichnet, im System Tester aber nicht zu einem Verkaufssignal führt sowie die Prev-Bedingung eingesetzt ist.

Um das Problem mit den später eintretenden Intradays zu umgehen, habe ich im System Tester mit der Simulation.CurrentPositionAge experimentiert:

Stoporder:=If(Simulation.CurrentPositionAge = 1, Ref(L,-2),0)
L

Geschrieben von Gast (nicht überprüft) am
gautama2
Mitglied seit 11 Jahre 2 Monate

Hallo,

das Problem ist, daß nur dann ein Kaufsignal kreiert werden soll, wenn vorher ein Verkaufsignal war und umgekehrt, also keine 2 Kaufsignale hintereinander, oder?

Meine Lösung, die ich aus dem stockcentral Forum gezogen habe, sieht so aus:

Kauf:=Deine Kaufbedingung;
Exit:=Deine Verkaufbedingung;
{Ab hier einfach einfuegen und nix veraendern}
Buy:=Kauf AND Exit=0;
Sell:=Exit AND Kauf=0;
I:=Cum(Buy+Sell>-1)=1;
B:=BarsSince(I OR Buy)<BarsSince(I OR Sell);
B AND Alert(B=0,2);
Se:=BarsSince(I OR Sell)<BarsSince(I OR Buy);
Se AND Alert(Se=0,2);

B AND Alert(B=0,2); ist das Kaufsignal, das nur kreiert wird, wenn das letzte Signal zuvor ein Verkaufsignal war.
Se AND Alert(Se=0,2);ist das Verkaufsignal, das nur kreiert wird, wenn das letzte Signal zuvor ein Kaufsignal war.

Damit solltest Du klarkommen. Diese Version hat den Riesenvorteil, daß Du keine PREV Funktion brauchst, die gerade im Intradaybereich eine Menge Rechenkapazität kosten kann und extrem verlangsamt, wenn Du viele Kursdaten geladen hast.

Viele Grüße

Rückrufservice
Beschreiben Sie bitte Ihr Anliegen, damit wir uns auf den Rückruf vorbereiten können.
Ja, ich habe die Datenschutzerklärung zur Kenntnis genommen und willige ein, dass die von mir angegebenen Daten inklusive der Kontaktdaten zwecks Bearbeitung der Anfrage und für den Fall von Anschlussfragen elektronisch erhoben und gespeichert werden. Meine Daten werden dabei nur streng zweckgebunden zur Bearbeitung meiner Anfrage genutzt und nicht ohne Einwilligung weitergegeben. Diese Einwilligung kann jederzeit mit Wirkung für die Zukunft widerrufen werden.
Fragen?

Sie haben Fragen zu ZMP Live? Unser Team steht gerne hilfsbereit zu Ihrer Verfügung. Senden Sie uns gerne eine Nachricht:

Es gilt unsere Datenschutzerklärung

Jetzt registrieren

Jetzt registrieren und ZMP Live+ 14 Tage kostenlos testen!
  • Dauerhaft kostenfrei
  • Keine Zahlungsinformationen erforderlich