Metastock: Ermittlung des 52 Wochen Hoch

Hallo,

eine Frage zum 52 Wochen Hoch in MetaStock: Standarmäßig gibt es dafür keine Funktion, mann kann sich durch das Höchste Hoch der letzten 250 Tage helfen:

HHV(C,249)

Was macht man aber, wenn es keine 249 Werte für eine Aktie gibt? Theoretisch könnte man sich mit Highest(close) helfen, wenn man vorher festlegen kann, daß es keine 250 Werte gibt. Aber: Selbst mit der Bedingung

If(Cum(1)>250,HHV(close,250),Highest(close)

versucht der Indicator Builder, den HHV auszurechnen und gibt nur eine Fehlermeldung aus. Auch der Versuch, mit IsDefinded() vorher festzustellen, ob es genügend Werte gibt, scheitert: IsDefined() scheint nicht zuverlässig zu arbeiten. Ich habe diese Formel probiert:

maxbars:=Cum(1);
If(maxbars>=249,If(IsDefined(HHV(C,249)),HHV(C,249),0),0)

Ergebnis: Wieder eine Fehlermeldung. Weiß jemand eine Lösung?

Danke

Geschrieben von Gast (nicht überprüft) am
metatrader
Mitglied seit 11 Jahre 2 Monate

Hi,

unter vielen Möglichkeiten könnte man es wie folgt lösen:

AnzTage:=LastValue(Cum(1));
Tag1:=If(AnzTage>249,AnzTage-249,1);
HighestSince(1,Cum(1)=Tag1,H)

Unten im Chart der DAX und eine Aktie, die erst seit Juli notiert ist:

zocka

@ Metatrader

Tausend Dank! Wie kann ich das gutmachen?

zocka

@ Metatrader

Du hast von vielen Möglichkeiten gesprochen, das 52 Wochen High anzeigen zu lassen. Kannst Du mir noch eine sagen, die weiter als ein Jahr zurück anzeigt?

Ich habe versucht, Deine Formel entsprechend zu ändern, doch meine Logik versagt immer wieder an technischen Problemen. Mit REF klappt nicht, weil das keine Variablen akzeptiert, IF Bedingungen bringen nicht die richtigen Ergebnisse. Für Analysen aktueller Daten klappt Deine Formel sehr gut, aber ich bräuchte auch noch was für weiter zurückliegende Werte.

Danke

metatrader
Mitglied seit 11 Jahre 2 Monate

Hi,

ich lasse die Bilder sprechen, die ersten beiden Möglichkeiten sind korrekt. Alternativ könntest Du natürlich einfach in meiner ersten Formel die Zahl 252 durch eine Input Variable ersetzen:

pds:=Input("Das Hoch der letzten X Tage berechnen, Eingabe X",1,10000, 700);
AnzTage:=LastValue(Cum(1));
Tag1:=If(AnzTage>pds,AnzTage-pds,1);
HighestSince(1,Cum(1)=Tag1,H)

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