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
Global_2
Mitglied seit 11 Jahre 2 Monate

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.

Swinger.
Mitglied seit 11 Jahre 2 Monate

"sich einen eigenen Ref-Befehl als Funktion via einem externen Plug-In programmieren"

Wie ist das gemeint?

Wie funktioniert sowas in der Praxis?

Global_2
Mitglied seit 11 Jahre 2 Monate

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.

Global_2
Mitglied seit 11 Jahre 2 Monate

... können dann die Parameter bzw. Funktionsargumente des ExtFml()-Aufrufs abgefragt werden.

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