Metastock: Wieviele Sessions hatte der letzte Monat ?
Hallo,
ich arbeite zur Zeit an einem einfachen starren Zonen Konzept, d.h. ich lasse mir ganz simpel die Pivot Points und Support und Resistance Linien berechnet auf den letzten Monat im aktuellen Tageschart ausgeben. Für die HHV / LLV Ausgabe benutze ich derzeit das Konstrukt H,20 bzw. L,20 - in der Annahme, das sich das markante Monatshoch und Tief "wahrscheinlich" schon irgendwo in dieser Range aufhalten werden. Das klappt auch ganz gut. Nun würde ich es gern aber "genau" wissen wollen.
Gibt es eine Möglichkeit, MetaStock so zu programmieren, das wenn:
ein neuer Monat anfängt, gebe mir das höchste Hoch aller tatsächlich stattgefundenen Sessions - für Lowest Low vice versa ?
Wie gesagt, ich benutze derzeit 20, was "round about" auch hinkommt, aber wenn die Feiertage im Dezember "günstig" liegen, so hat man zum Beispiel in diesem Monat entschieden weniger Trading Tage - dieses Problem will ich eliminieren.
Anbei eine Grafik des bisherigen Konstrukts,
Danke + Ciao
Memphis Rain
Soso, man kann hier also direkt von der Festplatte Grafiken speichern.
Nice!
Grüsse
Memphis Rain
Hallo,
hat denn niemand eine Idee?
Grüsse
Memphis Rain
Das einfachste wäre doch wohl, die Daten einem Monatschart zu entnehmen ?
Ansonsten:
NeuerMonat := dayofmonth() Ref(dayofmonth(),-1);
LetztesHoch := If(NeuerMonat,highestsince(1,Ref(NeuerMonat,-1),High),PREV);
LetztesLow analog
Habs nicht ausprobiert.
Viel Spaß beim Testen.
Bernd Kürbs
Hallo Bernd,
DANKE ! Es funktioniert mit einer kleinen Einschränkung, siehe Juni diesen Jahres. Dein Befehl gibt mir als Hoch das High (was gleichzeitig das OPEN war)am 04.06.2002 aus. Erster Handelstag in diesem Monat war aber der 03.06.2002. Und hier trat auch das HIGH auf. (03.06. = H=4850, 04.06. = H=4731 Punkte).
Ich habe Deine erste Befehlszeile durch den Blick in die Zukunft geändert, was in meinem Beispiel m.E. zulässig ist, da wir die Daten eh erst im Juli brauchen:
NeuerMonat := DayOfMonth() > Ref(DayOfMonth(),1);
LetztesHoch := If(NeuerMonat,HighestSince(1,Ref(NeuerMonat,-1),HIGH),PREV);
LetztesHoch;
... also letzter Tag des Monats größer erster Tag des Folgemonats... ich hoffe das ist richtig, jedenfalls gibt MetaStock mir jetzt den richtigen Wert. Wenn MetaStock hier aber eine Macke haben sollte (oder ich etwas falsch umgesetzt habe, das kommt vor), wäre ein kurzer Hinweis nett.
Vielen Dank
Ciao
Memphis
So, wie du es codiert hast, ist es schon richtig.
Bei Verwendung von "dayofmonth" verschiebt REF die ganze Berechung um einen Tag, damit stimmen die Highs prinzipiell nicht (siehe z.B. März): Es wird erst ab dem zweiten Börsentag im Monat gerechnet. Wenn das High auf den ersten Börsentag fällt, stimmt es nicht, sonst schon.
Wenn man definiert:
NeuerMonat := month() > Ref(month(),-1);
dann geht es so, wie ich es beschrieben habe.
Ich habe schon gewusst, warum ich nicht getestet habe. ;-)
Viel Spaß
Bernd Kürbs
Hallo Bernd,
ich mache mich gerade daran und programmiere das Schema um.
Viel wird es vermutlich nicht bringen, aber ich wollte es halt "genau" haben.
Nocheinmal vielen Dank :-)
Grüsse
Memphis