Memphis Rain
Mitglied seit 11 Jahre 4 Monate

Metastock: Trendfolge Exit Problem

Hallo,

ich habe heute versucht, eine Idee umzusetzen, die rein visuell recht vielversprechend aussieht, nur die Umsetzung in MetaStock für den klar operationalisierten Test bereiten mir Probleme. Nun bin ich mir nicht ganz sicher, ob es sich überhaupt in MetaStock umsetzten lässt oder aber nur ich den Fehler nicht sehe.

Zunächst einmal die Grundidee:

ENTERLONG RMI(C,10,15) > 50 and DSS(6,3)(Bressert_Type) Crosses MA(DSS,3,E).
EXIT_LONG MA(DSS,3,E) Cross DSS

ENTERSHORT RMI(C,10,15) 50 ... usw.

Das Ganze ist auch kein Problem. An dieser Systemtik fällt jedoch auf, das immer dann, wenn der Markt "trendy" wird, die DSS zu schnell zurückschnappt und den EXIT angibt. Ich habe mir nun überlegt, wann man einen Trend unterstellen kann und wann nicht. Man kann zum Beispiel messen, wie die Performance seit dem letzten bullischen DSS Crossover war. Idealerweise wollen wir natürlich den Trend so weit wie möglich ausbeuten, ohne jedoch in "Seitwärtsmärkten" zerhackt zu werden, gute Trends zeichnen sich durch sauberes "Richtungsarbeiten" (higher high, higher lows usw.) aus. Wir können alo probieren, nachdem wir bereits x Prozent (ich hatte so 3% anvisiert) verdient haben, nicht den nächsten DSS exit zuhandeln, sondern den bearishen cross(Mov(C,10,E), Close. Der 10er MA ist ja (fast) nie so arg weit weg vom "Geschehen", selbst in Seitwärtsmarkten sollte man, so die Theorie, also nicht allzuviel verlieren wie beim "reinen" MA crossover traden.

Also hier noch mal die alternative EXIT-Regel in Kurzform:

Wenn du Long bist (siehe oben) und mit der DSS bereits 3 Prozent verdient hast, dann handele nicht den DSS Exit, sondern den MA Crossover, um die Pos. zu schließen und gehe, solange die Pos. offen ist, auch keine neue Pos. über die DSS ein.

Hintergedanke ist der, das wir mit "Fremdkapital" (Buchgewinn) auf den Trend wetten.

So, ich hoffe ich habe die Regel(n) verständlich dargelegt, erstmal nur für LONG, SHORT natürlich vice versa. Hier meine MetaStock Ansätze, es wäre sehr nett wenn mir jemand helfen könnte, auch wenn der Ansatz Mist ist, aber dann wissen wir's wenigstens genau.

1.Formel Name: "_UP"

Pds:=6;
Slw:=3;

A:=Mov((CLOSE-LLV(LOW,Pds))/(HHV(H,pds)-LLV(L,Pds)),Slw,E)*100;

B:=Mov((A-LLV(A,pds))/(HHV(A,Pds)-LLV(A,Pds)),Slw,E)*100;

CycleMode:=ValueWhen(1,
Cross(B,Mov(B,3,E)),
CLOSE);

Mov((CLOSE-CycleMode)/CycleMode*100,3,E);

ENDE

2.Formel Name: "_Dn"

"Pds:=6;
Slw:=3;

A:=Mov((CLOSE-LLV(LOW,Pds))/(HHV(H,pds)-LLV(L,Pds)),Slw,E)*100;

B:=Mov((A-LLV(A,pds))/(HHV(A,Pds)-LLV(A,Pds)),Slw,E)*100;

CycleMode:=ValueWhen(1,
Cross(Mov(B,3,E),B),
CLOSE);

Mov((CycleMode-CLOSE)/CycleMode*100,3,E);

ENDE

3. Formel Name: "_LastUp"

Pds:=6;
Slw:=3;

A:=Mov((CLOSE-LLV(LOW,Pds))/(HHV(H,pds)-LLV(L,Pds)),Slw,E)*100;

B:=Mov((A-LLV(A,pds))/(HHV(A,Pds)-LLV(A,Pds)),Slw,E)*100;

BarsSince(Cross(B,Mov(B,3,E)))

ENDE

4. Formel Name: "_LastDn"

Pds:=6;
Slw:=3;

A:=Mov((CLOSE-LLV(LOW,Pds))/(HHV(H,pds)-LLV(L,Pds)),Slw,E)*100;

B:=Mov((A-LLV(A,pds))/(HHV(A,Pds)-LLV(A,Pds)),Slw,E)*100;

CycleMode:=ValueWhen(1,
Cross(Mov(B,3,E),B),
CLOSE);

Mov((CycleMode-CLOSE)/CycleMode*100,3,E);

ENDE

5. Formel Name: "_active"

If(Fml("_LastUp") Fml("_LastDn"),1,-1)

ENDE

6.Formel Name: "_BullTrend"

Pds:=6;
Slw:=3;

A:=Mov((CLOSE-LLV(LOW,Pds))/(HHV(H,pds)-LLV(L,Pds)),Slw,E)*100;

B:=Mov((A-LLV(A,pds))/(HHV(A,Pds)-LLV(A,Pds)),Slw,E)*100;

CycleMode:=ValueWhen(1,
Cross(B,Mov(B,3,E)),
CLOSE);

BullTrend:=If(Fml("_active") = 1 AND RMI(C,10,15)>50,

Mov((CLOSE-CycleMode)/CycleMode*100,3,E),0);

BullAlert:=If(Cross(BullTrend,3),1,0);

BullAlert;

ENDE

7. Formel Name: "_BullExit"

If( Fml("_BullTrend") = 1 OR
Ref(Fml("_BullTrend"),-1) = 1 OR
Ref(Fml("_BullTrend"),-2) = 1 OR
Ref(Fml("_BullTrend"),-3) = 1 OR
Ref(Fml("_BullTrend"),-4) = 1 OR
Ref(Fml("_BullTrend"),-5) = 1 OR
Ref(Fml("_BullTrend"),-6) = 1 OR
Ref(Fml("_BullTrend"),-7) = 1 OR
Ref(Fml("_BullTrend"),-8) = 1 ,1,0)

ENDE

Anbei noch eine Grafik, wie man anhand des 3 grünen Pfeils (von rechts) sieht, hätte man eigentlich viel früher ausgestoppt werden müssen, MetaStock handelt jedoch erst auf den nächsten DSS exit hin.

Kann mir jemand helfen oder wenigstens sagen, ob sich derartiges überhaupt mit MetaStock testen lässt? Ach ja, habe MetaStock 6.52 EOD.

Thank you very much in advance,

Memphis Rain

Geschrieben von Memphis Rain am
Memphis Rain
Mitglied seit 11 Jahre 4 Monate

Hallo,

kann mir wenigstens jemand sagen ob der Sachverhalt mit Metastock überhaupt möglich ist ?

Grüsse

Memphis Rain

metatrader
Mitglied seit 11 Jahre 4 Monate

Hallo,

ich kann mich bislang mit dem System noch nicht so ganz anfreunden, bevor ich mich aber dazu äussere, gib mir noch etwas Zeit ;)

Grundsätzlich wäre Deine Idee mit der Performance so umzusetzen:

Du kannst den letzten Kaufkurs wie folgt ermitteln:

qq:=ValueWhen(2,fml("Buy"),c);

Hast Du eine Long oder short Position: 1 oder -1 Multiplikator

Performance in %
(C-qq)/Div(qq,100) * LS Multiplikator

Diesen Performance Indikator müsstest Du dann im DSS auf wahr oder falsch abfragen.

Ob sich der Aufwand lohnt, weiß ich nicht, im ersten Ansatz scheinen mir die Parameter (6 und 3) viel zu kurzfristig zu sein und der RMI mit 10,15 gefällt mir so nicht so recht. Aber wie gesagt, bislang nur erste Impressionen.

Memphis Rain
Mitglied seit 11 Jahre 4 Monate

Hallo MetaTrader,

Danke für den Tip, oben in der ersten Formel berechne ich doch (eigentlich ?) bereits die Performance, mit _LastUp und _LastDn ermittle ich über den "_active", welche Position "in" ist. Soweit die Theorie, bloß irgendwie haut das nicht hin (?)

Was den RMI(C,10,15) angeht, so wollte ich damit nur das "trendkonforme" Handeln deutlich machen, man kann aber auch alternativ einen länger gestrickten DSS-Blau auf einen 10er Kama berechnen und hat den selben Effekt, nur mit höherer und eindeutiger Signalausprägung - ich wollte halt nur auf die EXIT Problematik hinaus, der Rest ist wohl Geschmackssache. Laut Backtest in Metastock kommt man aber mit dem DSS gut zurecht.

Was eben stört ist dieses zu frühe zurückschnappen der DSS, die einem in Seitwärtsmärkten so gut gefällt wird im Trend zum Albtraum und genau deswegen soll dann der switch erfolgen. Mich würde eben das rein mechnische Ergebnis interessieren, diskretionär lief das nämlich recht gut.

Grüsse

Memphis

(Grafik mit DSSKAMA und Test folgt heut abend)

Memphis Rain
Mitglied seit 11 Jahre 4 Monate

Hallo MetaTrader,

hier die Grafiken für den "prozyklisch agierenden" DSS in Richtung DSSBlauonKAMA:

Memphis Rain
Mitglied seit 11 Jahre 4 Monate

Der Report für den "prozyklisch" agierenden DSS in favor of DSSBlau on KAMA:

Memphis Rain
Mitglied seit 11 Jahre 4 Monate

Im Vergleich dazu:

Der "prozyklisch agierende" DSS in favor of RMI:

Memphis Rain
Mitglied seit 11 Jahre 4 Monate

Der Report für den DSS in favor of RMI:

Memphis Rain
Mitglied seit 11 Jahre 4 Monate

Sorry für die zusätzlichen threads, aber ich weiss nicht wie man mit dem "von der Platte" hier ablegen mehrere Grafiken gleichzeitig hier reinstellt.

Wie Du siehst stimme ich Dir in Sachen RMI zu, wollte es nur nicht zu kompliziert machen. Naja, also ein Teil der von mir geposteten Formeln ist falsch, siehe 1. Formel, da heisst es am Schluss: Mov(CycleMode...) et cetera - der MA ist hier natürlich überflüssig. Ansonsten komme ich mit Deinem Ansatz nicht weiter? Warum ValueWhen(2 !? - Wir wollen doch die Performance ab dem ersten auftreten messen, nicht dem zweiten? Die letzte Formel ganz oben von mir zeigt ja auch nur einen Ansatz, der zeigen "könnte", ob ein alternativer EXIT gegeben ist oder nicht, eigentlich bräuchte ich "nur" was elegantes dafür.

Da komme ich irgendwie nicht weiter, vorausgesetzt der Rest ist richtig. Hast Du eine Idee?

Grüsse

Memphis

Memphis Rain
Mitglied seit 11 Jahre 4 Monate

Hallo,

ich bin mir inzwischen nicht ganz sicher, ober ich die Problematik korrekt dargestellt habe? Mit MetaTraders Ansatz prüft man, ob man long oder short ist und die Performance inzwischen größer x Prozent ist. Hierbei kann es aber zu einem Problem kommen: Auf einem einzelnen Bar tritt dieser Fall ein, auf dem nächsten folgt aber die Gegenreaktion und die Performance ist zwischenzeitlich wieder kleiner als 3 Prozent. Dann könnte theoretisch, genügend "Knackigkeit" im Move vorausgesetzt, der DSS ein Gegensignal liefern, welches dann befolgt wird.

Das ist genau das, worauf ich hinaus will: War die Performance an einem Bar innerhalb eines kurzen DSS Zyklus > 3 Prozent (Long oder Short), dann ignoriere das nächste Gegensignal und trade den MA crossover, auch wenn die Performance inzwischen wieder kleiner als drei Prozent ist. Das ganze ist als eine Art integrierter break out angedacht, nur halt mit Buchgewinn finanziert, deswegen noch mal meine Frage: Ist das mit Metastock überhaupt möglich?

Grüsse

Memphis Rain

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