Hallo liebe Mitstreiter
In market maker 4.2 wurden mehrere Indikatoren angeboten, die von Ralf Goerke dem Herausgeber der
Momentumstrategie stammen. Diese waren schlecht und unflexibel mit MM-Talk programmiert. Ich habe mich dazu schon einmal in meinem Beitrag
Schlechte Programmierung von Beispielen durch Lenz+Partner ausgelassen.
Die Grundidee, die diese Formeln beschreiben
finde ich gut und sinnvoll , um sich einen Überblick über Märkte zu verschaffen und diese auch miteinander vergleichen zu können, aber ihre Umsetzung ist nicht praktikabel.
Aus diesem Grund habe diese Ideen des Herrn Goerke so umgesetzt, dass jeder beliebige Markt / Index mit einer unterschiedlicher Anzahl von Wertpapieren, zur Berechnung mit einer Formel herangezogen werden kann, ohne diese Formel jedesmal bei einer anderen Anzahl von Papieren ändern zu müssen. Des Weiteren wurden sie auch noch dahingehend angepasst, dass die Parameter variabel geändert werden können.
Ich möchte das Vorgehen etwas detaillierter beschreiben, so dass man die Basis für die Umsetzung vielleicht versteht (auch für Nutzer anderer Börsensoftware), und um den market maker Usern ein praktisches Anschauungsbeispiele für die Realisierung mit MM-Talk zu liefern.
Der Gedanke bei den in market maker 4.2 gelieferten Indikatoren von Ralf Goerke ist folgender:
Man betrachtet nicht den Einzelwert, sondern einen Markt/Index, d.h. die Menge der Papiere, die diesen Markt bilden, um zu sehen, ob die breite Menge der Papiere den Kurs des Index tragen, oder ob nur wenige Schwergewichte z. Zt. den Kurs des Index beeinflussen.
Für jedes Papiere des Index / Marktes führt man eine Berechnungsvorschrift aus (z.B. einen Indikator), dessen Ergebnis wieder eine Zeitreihe ist. Jetzt gibt es 2 Möglichkeiten daraus einen Indikator für den Markt zu berechnen:
a) Mittelwert.
Man bildet die Summe über die berechneten Zeitreihen und dividiert diese Zeitreihe durch die Anzahl der Papiere, die in die Berechnung eingeflossen sind (siehe 1.1).
b) Binary Wave
Man überlegt sich eine Bedingung (z.B. beim MACD: die Triggerlinie liegt über dem MACD) und prüft die berechneten Zeitreihen darauf ab. Als Ergebnis ergibt sich dann für jedes Papier eine Zeitreihe mit 0 (Bed. nicht erfüllt) und 1 (Bed. erfüllt). Auch diese Zeitreihen summiert man. Im Gegensatz zu a) bildet man nicht den Mittelwert, sondern normiert die Summe auf 0 bis 100 % (siehe 1.2 und 1,3).
Da jeder zu untersuchende Markt eine unterschiedliche Anzahl von Wertpapieren haben kann, ist es für die Realisierung solcher Berechnungen wichtig, ein Verfahren zu finden, das unabhängig von der Anzahl der Papier ist, aus denen sich das Untersuchungsobjekt zusammensetzt.
Märkte werden mit Indizes beschrieben (z.B. der Markt der 30 größten deutschen Aktiengesellschaften ist der Index Dax (.DAX (X)). Wir wollen uns jetzt in market maker nicht seinen Kurs, sonder seine Zusammensetzung ansehen. Dafür suchen wir im Explorer den .DAX (X), markieren Ihn und wählen dann mit der rechten Maustaste im Kontextmenue „Werttpapier / Index-Zusamensetzung“. Es öffnet sich ein neues Fenster und wir sehen die Wertpapiere, die im Dax enthalten sind. Und genau der Objekttyp Index ist das, was wir brauchen, um solche Marktindizes allgemein umzusetzen zu können. Solche Indizes sind massenweise schon in der Datenbank von market maker vorhanden („Finder / Sonstiger Wertpapiere“ im Auswahlfeld Typen nur Index anwählen und dann den Button „aktuallisieren“ klicken). Es sind dann Länder Indizes oder Branchen Indizes vorhanden, die für solche Auswertungen, wie unter a) und b) angesprochen, interessant sind.
Wenn man sich wie beim Dax, die Zusammensetzung bei anderen Indizes ansieht, so stellt man fest, dass bei nicht allen die Zusammensetzung in dem Index gepflegt ist. Die Zusammensetzung ist manchmal leer (siehe z.B. „.Athen General (Griechenland)“) oder es sind nicht alle tatsächlich vorhandenen Papiere (siehe z.B. „.BEL 20 (Belgien)“) in der Zusammensetzung enthalten.
Die später zur Verfügung gestellten Makros können natürlich nur die Papiere als Markt betrachten und zur Berechnung heranziehen, die in der Indexzusammensetzung enthalten sind. Wenn die Indexzusammensetzung leer ist, dann wird von diesen Makros hilfsweise der Index mit seinem Kurs für die Berechnung herangezogen.
Wenn also die zu untersuchende Menge nur aus einem Papier besteht, dann machen:
1. Die Bildung eines Mittelwertes wie unter a) geschildert keinen Sinn, denn der Mittelwert auf eine Reihe ist die Reihe selbst.
2. Binary Wave Indikatoren wie oben unter b) geschildert keinen Sinn, da sie dann nur zwischen den definierten Extremwerten umschalten.
Wenn die angebotenen Indizes nicht das abbilden was Ihr untersuchen wollt, dann könnt Ihr eigene Märkte/ Indizes nach Euren Vorstellungen definieren. Schaut Euch dazu im Benutzerhandbuch von market maker das Kapitel Indizes einmal genau an.
Mit dem Wertpapiertyp Index bei dem die Zusammensetzung definiert ist haben wir jetzt den Objekttyp, mit dem wir eine allgemeine Realisierung der Goerke Makros durchführen können. Jetzt müssen wir uns noch ansehen, mit welchen Funktionen wir Mengen im mathematischen Sinne (unterschiedliche Anzahl von Wertpapieren) effizient in MM-Talk bearbeiten können.
MM-Talk bietet hier sehr mächtige Funktionen an, die unter dem Oberbegriff „Listen“ zusammengefasst sind. Eine Liste ist im Endeffekt nichts anderes als eine Menge, in der alle Elemente aufgeführt sind, die in dieser Menge enthalten sind.
Aus diesem Grund macht es Sinn, dass jeder, der auf einer „Menge von Wertpapieren“ Indikatoren erstellen, oder der Schleifen der Formen „For I=x to y“ oder „For each Element in ..“ programmieren will, sich mit den Funktionen der Listen einmal gründlich auseinanderzusetzt.
Die allgemeinen Umsetzungen dieser Indikatoren und auch das entsprechende Layout für market maker befinden sich im Anhang, und können herunterladen werden. Schaut Euch den Programmcode der Makros einmal an und versucht ihn einmal nachzuvollziehen. Ich denke diese kurzen Makros sind nützliche Anschauungsbeispiele auch für die Nutzung von einigen Listenfunktionen.
Die Interpretation der Indikatoren könnt Ihr auf den Seiten des Herrn Goerke nachschlagen.
Nun hier eine kurze allgemeine Erklärung wie diese Indikatoren berechnet werden, damit auch andere Forumsmitglieder, die nicht market maker professional nutzen, die Berechnung nachvollziehen können.
1. BMI-Index (Börsenindex-Momentumindikator), RMI (Rohstoff-Momentumindikator), RS-Wert der Währungen, RS-Wert der Warengruppen: Dies sind die Namen der Indikatoren wie sie in der Auslieferung der market maker Version 4.2 genannt wurden. Auf den ersten Blick erscheint es, dass es sich um 4 verschiedene Indikatoren handelt. Schaute man sich jedoch die Formeln an, die dahinter stecken, dann erkennt man, dass es immer die gleiche Formel ist, jedoch immer mit einer anderen Anzahl von Wertpapieren. Wegen der unflexiblen Umsetzung im MM-Talk musste das Verfahren deshalb 4 mal umgesetzt werden und unter 4 verschiedenen Namen (Layouts) gespeichert werden.
Hinter diesen Formeln versteckt sich ein „multi Papier (Markt/Index) multi Zeit“ Indikator, der dem Mittelwert eines Momentums über verschiedene Zeitintervallen entspricht. Ralf Goerke bezeichnet ihn als den BMI (Börsen Momentum Index).
Das allgemeine Prinzip dahinter ist folgendes: Für jedes Wertpapier einer festgelegten Menge (z.B. Papiere eines Index) wird folgende Zeitreihe berechnet:
BMI(Papier) := Close / (Close + Close-5 + Close-10 + … +Close-130)/27)
Das Ergebnis ist eine Zeitreihe, die um den Wert 1 schwankt.
Der Index errechnet sich dann als Mittelwert aus den einzelnen Papieren (Px)
BMI(Index) := (BMI(P1) + BMI(P2) + … + BMI(Pn)) / n
Das Ergebnis ist eine Zeitreihe, die um den Wert 1 schwankt.
2. Multi-MACD-Indikator (Binary Wave)Das Prinzip ist folgendes: Für jedes Wertpapier einer festgelegten Menge (z.B. Papiere eines Index) wird der MACD berechnet. Danach wird verglichen, ob der MACD größer seiner Triggerlinie ist. Bei ja ist der Wert 1, bei nein 0. Somit entsteht eine Zeitreihe aus 1 und 0. Der Index errechnet sich dann als Summe der einzelnen Papieren normiert auf 100. Ergebnis ist eine Zeitreihe, die zwischen 0 und 100 schwankt.
3. 200-Tage Linien Indikator (Binary Wave)Das Prinzip ist folgendes: Für jedes Wertpapiere einer festgelegten Menge (z.B. Papiere eines Index) wird der 200 Tage GD berechnet.
Dann wird folgende Prüfung durchgeführt:
Wenn(($C > $GD) und ($GD > $GD vor einem Tag); 1;
Wenn(($C < $GD) und ($GD < $GD vor einem Tag); -1; 0) )
Somit entsteht für jedes Wertpapier eine Zeitreihe mit Werten 1, 0 und -1. Der Index errechnet sich dann als Summe der einzelnen Papieren normiert auf 100. Ergebnis ist eine Zeitreihe, die zwischen 100 und -100 schwankt.
So dann viel Spaß beim experimentieren.
Mit freundlichen Grüßen
Dateianhänge:
Expot_Goerke.mme (44kb) downloaded 108 time(s).
Screenshot Goerke Makros Vorlage.doc (160kb) downloaded 124 time(s).