Fragen zum Handelssystem Metastock Techni Filter Plus
Ich benötige Hilfestellung,
habe bei der Programmierung eines Handelssystems (Metastock, TechniFilter Plus ) 2 Fragen:
1) Wie ist die genaue Formel des Tema-Indikators ?
2) Wie berechne ich den Kurs, bei dem der Tema-Indikator seine Richtung ändert ?
Beispiel: tema(heute) > tema(,-1)
tema(morgen) tema(heute) bei close(morgen) = ?
Vielen Dank
Geschrieben von Outsider
am
Hallo,
die genaue Definition vom TEMA konnte ich nicht mehr finden, es dürfte aber bei der Verwendung in Metastock egal sein. Die TEMA (Triple exponentiel moving average muß man sich aber nicht als eine Moving Average einer Moving Average einer Moving Average verstehen, sondern als ein besonderes Konstrukt einer einfachen, doppelten und dreifachen exponentiellen Glättung. Der Author (Malloy) hat auch noch den DEMA (Double Exponential Moving Average) entwickelt.
Anhand des folgenden Beispiels kann man sehr schön die unterschiedliche Wirkungsweise erkennen:
Wir nehmen als Indikator den MACD und nähern in an durch die folgende Formel:
MACD_Näherung
mov( close, 12, E) - mov( close, 26, E)
Den Trigger des MACD (im Original: mov( macd(), 9, E)) erhalten wir durch:
Trigger_MACD
mov( close, 12, E) - mov( close, 26, E)
Nun wenden wir verschiedene Glättungsfunktionen an und konstruieren uns so verschieden MACD Varianten (mit unterschiedlichem Aussehen und Verhalten):
MACD (DEMA-smoothed)
Dema(C,12)-Dema(C,26);
Mov(Dema(C,12)-Dema(C,26),9,E)
MACD (TEMA-smoothed)
Tema(CLOSE,12)-Tema(CLOSE,26);
Mov(Tema(CLOSE,12)-Tema(C,26),9,E)
Es empfiehlt sich an diesem einfachen Beispiel die Funktionsweise zu verstehen.
Es sind z.B. folgende Konstrukte völlig normal:
Tema(10000*LinRegSlope(C,21)/C,21)
Tema(ROC(C,21,%),21)
HHV(Tema(Qstick(34),34),5)
Tema(PDI(13)-MDI(13),14)
Hierdurch ist im Grunde genommen auch gleich Frage 2 beantwortet (wenn ich sie richtig verstanden habe):
Der TEMA ist definiert als TEMA (DataArray, Period), wir haben gesehen, das DataArray aber nicht nur O,H,L oder C sein kann, sondern auch durch beliebig viele, verschachtelte Funktionen ersetzt werden kann.
Insofern nutzt man die eingebaute ref( DATA ARRAY,PERIODS) Funktion, wobei wir den Kurs des Vortages (also -1) suchen:
Heute (Beispiel): Tema(ROC(C,21,%),21)
Gestern (Beispiel): Ref(Tema(ROC(C,21,%),21),-1)
Dieses Konstrukt kann man nun sehr einfach in z.B. einer if Anweisung abfragen:
If(Tema(ROC(C,21,%),21) >Ref(Tema(ROC(C,21,%),21),-1),1,-1)
Bei 1 steigt der Indikator, bei -1 fällt er.
Ich hoffe, damit kommst Du weiter