Swinger.
Mitglied seit 11 Jahre 2 Monate
Metastock: Variable Lookbackperiode
Ich möchte einen Indikator bauen, der die heutige Tagesspanne mit den x-zurückliegenden Perioden vergleicht. Manuell programmiert zum Beispiel
TS:=High-Low
TS>ref(TS,-1)
and
TS>ref(TS,-2)
and
TS>ref(TS,-3)
usw.
Wie kann man nun den "ref" Befehl so umbauen, damit man ihn als Variable einsetzen kann?
Geschrieben von Swinger.
am
Der Ref-Befehl erfordert eine Konstante als zweites Argument. Eine Variable als zweites Argument wäre nur möglich, wenn man sich einen eigenen Ref-Befehl als Funktion via einem externen Plug-In programmieren oder alternativ ein vorhandenes Plug-In mit einer solchen Funktionalität einsetzen würde.
Ebenso wären externe Funktionserweiterungen via Plug-In auch notwendig, wenn Funktionen realisiert werden sollen, mit den in einer einzelnen Operation ein Vergleich über ein definiertes Intervall von Array-Elementen erfolgen soll, wie in Deiner Aufgabenstellung angedeutet. Im Endeffekt läuft dies ja auf eine Iteration (d.h. Schleifendurchlauf) über mehrere Array-Elemente hinaus.
"sich einen eigenen Ref-Befehl als Funktion via einem externen Plug-In programmieren"
Wie ist das gemeint?
Wie funktioniert sowas in der Praxis?
Metastock hat eine externe Schnittstelle, die sog. MSX Schnittstelle (Metastock Extension). Über die MSX-Schnittstelle können Funktionen angesprochen werden, die in einer DLL ausserhalb von Metastock vorliegen, wie dies bei Plug-Ins wie beisp. dem Power-Pivot Plug-In oder auch anderen der Fall ist.
Von der Metastock-Formula-Language aus können externe (Hilfs-)Funktionen via dem ExtFml()-Befehl aufgerufen werden. Über die MSX-Schnittstelle können dann die die Kursdaten-Arrays und die Parameter des ExtFml() von der extern programmierten Funktion abgefragt werden.
... können dann die Parameter bzw. Funktionsargumente des ExtFml()-Aufrufs abgefragt werden.