jugger1
Mitglied seit 11 Jahre 2 Monate

Metastock: KAMA System

Hi Leute,

ich habe leider nicht allzu viel Erfahrung mit dem Systemtester von Metastock. Seit Stunden mühe ich mich jetzt ab, ein einfaches Trendfolgesystem zu erstellen.

Zwei kreuzende kama´s. Sollte eigentlich in 5 Minuten fertig sein. Das Manual von Metastock kann man nicht gerade als hilfreich bezeichnen.

Ein kama mit der Zeitperiode 10 kreuzt ein kama mit der Periode 20 von unten nach oben. Dann kaufen.

Nutze ich die Funktion des kama´s, kommt das raus:

cross( fml("kama"), fml("kama"))

Wo gebe ich da die Zeitperiode ein ?

Ändere ich das und schreibe den Code direkt in den Systemtester, bekomme ich immer irgendwelche Fehlermeldungen. Entweder fehlt eine Klammer oder ich bekomme die Meldung: this is not a reconized name.

cross((

Periods := 10
Direction := CLOSE - Ref(CLOSE,-periods);
Volatility := Sum(Abs(ROC(CLOSE,1,$)),periods);
ER := Abs(Direction/Volatility);
FastSC := 2/(2 + 1);
SlowSC := 2/(30 + 1);
SSC := ER * (FastSC - SlowSC) + SlowSC;
Constant := Pwr(SSC,2);
AMA := If(Cum(1) = periods +1, Ref(CLOSE,-1)+ constant * (CLOSE- Ref(CLOSE,-1)),PREV + constant * (CLOSE - PREV));
AMA
)
,
(
Periods := 20
Direction := CLOSE - Ref(CLOSE,-periods);
Volatility := Sum(Abs(ROC(CLOSE,1,$)),periods);
ER := Abs(Direction/Volatility);
FastSC := 2/(2 + 1);
SlowSC := 2/(30 + 1);
SSC := ER * (FastSC - SlowSC) + SlowSC;
Constant := Pwr(SSC,2);
AMA := If(Cum(1) = periods +1, Ref(CLOSE,-1)+ constant * (CLOSE- Ref(CLOSE,-1)),PREV + constant * (CLOSE - PREV));
AMA
))

Kann mir irgend jemand sagen, wie ich das richtig machen muss ?

Geschrieben von jugger1 am
bueschl
Mitglied seit 11 Jahre 2 Monate

Ich würde im Indikator-Builder den KAMA kopieren, im ursprünglichen KAMA die periods auf "10" setzen (in der Formel), im kopierten KAMA, z.B. KAMA1 die periods auf "20" (auch in der Formel).

Der Systemtester sollte nun funktionieren:

cross( fml("kama"), fml("kama1"))

Jetzt benötigst Du aber noch ein Ausstiegssignal, sonst funktioniert der Systemtest nicht.

jugger1
Mitglied seit 11 Jahre 2 Monate

Danke für den Tipp.

Die Umsetzung in dieser Art würde jedoch dazu führen, das eine Änderung der Zeitperioden sehr umständlich und aufwendig wäre.

Ich denke, ein Test verschiedener Zeitperioden durch den Systemtester wäre mithilfe dieser Lösung nicht umsetzbar.

Du hast natürlich Recht, das ein Ausstiegssignal noch fehlt. Mir geht es jedoch darum erst Einstiegssignale mit Metastock umzusetzen und die Qualität dieser Signale gesondert zu testen.

Die Ausstiegssignale sollen genauso isoliert überprüft werden.

Leider fehlt mir die Erfahrung, diese Problematik mit Metastock umzusetzen, da die Beschreibungen in dem Manual und im Internet sehr rudimentaer gehalten sind. Zur Zeit teste ich nach der alten Methode "try in error". Mit Testen meine ich die Umsetzung einer Idee in der Metastock Scriptsprache, nicht die Idee an sich. Insofern wäre ich dankbar, wenn jemand in der Lage wäre mein genanntes Beispiel so zu ändern, das es im Systemtester funktionsfähig und die Zeitperioden variierbar laufen würden.

bueschl
Mitglied seit 11 Jahre 2 Monate

Wenn Du den Weg über 2 Indikatoren nicht gehen willst, bleibt nur noch die Möglichkeit, die 2 KAMA´s im Systemtester zu programmieren bzw. die Formel für den 2. KAMA abzuändern. Z.B.:

Periods := opt1;
Periods1 := opt2;

Direction := CLOSE - Ref(CLOSE,-periods);
Volatility := Sum(Abs(ROC(CLOSE,1,$)),periods);
ER := Abs(Direction/Volatility);
FastSC := 2/(1 + 1);
SlowSC := 2/(8 + 1);
SSC := ER * (FastSC - SlowSC) + SlowSC;
Constant := Pwr(SSC,2);
AMA1 := If(Cum(1) = periods +1, Ref(CLOSE,-1) + constant * (CLOSE - Ref(CLOSE,-1)),PREV + constant * (CLOSE - PREV));

Direction1 := CLOSE - Ref(CLOSE,-periods1);
Volatility1 := Sum(Abs(ROC(CLOSE,1,$)),periods1);
ER1 := Abs(Direction1/Volatility1);
FastSC1 := 2/(1 + 1);
SlowSC1 := 2/(8 + 1);
SSC1 := ER1 * (FastSC1 - SlowSC1) + SlowSC1;
Constant1 := Pwr(SSC1,2);
AMA2 := If(Cum(1) = periods1 +1, Ref(CLOSE,-1) + constant1 * (CLOSE - Ref(CLOSE,-1)),PREV + constant1 * (CLOSE - PREV));

cross( ama1, ama2)

An Stelle von opt1 und opt2 kann man fixe Werte eingeben (z.B. 10 und 20). Für Dein Vorhaben bietet es sich aber an, die periods zu optimieren, in dem man unter "Optimizations" die Intervallwerte, sowie min und max d. periods f. die beiden KAMA`s eingibt.

jugger1
Mitglied seit 11 Jahre 2 Monate

Danke für die Hilfe, so langsam komme ich dahinter, wie Metastock tickt.

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