Einloggen Suche | Aktive Themen
Up- und Downvolume einzeln Optionen
Roland Werth
Geschrieben: Thursday, May 1, 2014 4:16:35 PM
Gruppen: Kunde

Beiträge: 144

Hallo liebe Forumsteilnehmer,

versuche gerade das UpVolume und das DownVolume einzeln zum Einsetzen in Formeln zu programmieren und habe damit so meine Schwierigkeiten. L+P kann da wohl nicht helfen- habe hier wegen etwas Ähnlichem nachgefragt (Nur MM selbst mit saftigen und dazu noch unbestimmten Gebühren).

Kann mir da jemand helfen?
Danke dafür im Voraus

Roland



Wilhelm Zacher
Geschrieben: Friday, May 2, 2014 5:16:07 PM
Gruppen: Kunde

Beiträge: 353

Tai-Pan End-of-Day
Hallo Herr Werth,

was verstehen Sie denn über UpVolume und DownVolume?

Wenn wir die Anglizismen weglassen und deutsch miteinander sprechen, dann wird wahrscheinlich vieles klarer.

Was möchten Sie denn konkret?

Vielleicht kann ich ja helfen.

Gruß
W. Zacher
Roland Werth
Geschrieben: Saturday, May 3, 2014 1:42:55 PM
Gruppen: Kunde

Beiträge: 144

Hallo Herr Zacher,

UpVolume ist die Summe des Volumens aller Aktien eines Index, welche an einem Tage sich im Kurs erhöht haben (DownVolume umgekehrt). Es gibt an normalen Tagen sowohl Aktien, die sich verbessern, als auch Aktien, die sich im Kurs verringern. Nur an starken Tagen kommt es vor, dass alle Aktien steigen (umgekehrt an Verlusttagen fallen). Wenn man die Veränderung des UpVolumens und des DownVolumens in Bezug auf die Tageskursveränderung des Index betrachtet, kann man gute und manchmal von anderen Indikatoren abweichende Erkenntnisse zum Marktzustand sammeln.

Ich zeige hier mal mein Versuch zum UpVolumen. Aber offensichtlich kommt das Programm nicht mit dem Volumen zurecht, wenn ich aber andere Werte für das Volumen einsetze, funktioniert die Formel seltsamerweise (Auf das Makro wird danach noch eine Listenfunktion angewendet).

$VOL:=Volume;

$Diff:=Object-Object.Before[1];
$Up:=if($Diff>=0;$VOL;0);
$Up

Vielleicht ist das abeer mit dem Volumen gar nicht möglich.

Roland
Wilhelm Zacher
Geschrieben: Saturday, May 3, 2014 6:51:16 PM
Gruppen: Kunde

Beiträge: 353

Tai-Pan End-of-Day
Hallo Herr Werth,

bei der Programmierung von Market Maker kann ich Ihnen leider nicht wieter helfen, da ich Tai-Pan verwende.

Notfalls kann man die Daten ggf. in Excel übertragen und dort auswerten. Mache ich häufig, wenn ich Werte von Optionen auswerten will oder nur irgendwelche Listen verwalte, um den Überblick über bestimmte Werte zu behalten.

In Tai-Pan gibt es ja die Listenfunktion. Dort können Sie problemlos bspw. aktueller Schlusskurs - Schlusskurs vom Vortag und das heutige Handelsvolumen in Stück oder das betragsmäßige Handelsvolumen ausweisen und von dort in Excel übertragen. Wenn Sie dann dort vorgefertigte Excel-Sheets verwenden mit "aktueller Kurs größer als gestriger Schlusskurs, dann übernehme das Volumen, ansonsten übernehme das Volumen nicht", sollten Sie das gesuchte UPVolume erhalten.

Das war ein Gedankengang, der mir zu Ihrem Problem spontan einfällt.

Gruß
W. Zacher


Roland Werth
Geschrieben: Saturday, May 3, 2014 7:22:29 PM
Gruppen: Kunde

Beiträge: 144

Hallo Herr Zacher,

das soll ja das Programm automatisch machen, zumal ich die Ergebnisse in andere Formeln von Market Maker einsetzen will. Da wäre ein Programmierung im Programm insgesamt weniger aufwändig. Allerdings ist die Programmiersprache MM-Talk schlecht dokumentiert. Aber ich wette, dass das schon mal jemand gemacht hat (Zumindest bei Market Maker). Vielleicht sollte ich ja selbst noch einige Dinge ausprobieren und es klappt dann doch noch.

Roland
Wilhelm Zacher
Geschrieben: Sunday, May 4, 2014 9:45:05 AM
Gruppen: Kunde

Beiträge: 353

Tai-Pan End-of-Day
Dann wünsche ich Ihnen viel Erfolg bei der Umsetzung ihrer Formeln!

Roland Werth
Geschrieben: Sunday, May 4, 2014 1:10:28 PM
Gruppen: Kunde

Beiträge: 144

Wünsche ich mir natürlich auch.
chuck
Geschrieben: Sunday, May 4, 2014 7:14:28 PM

Gruppen: Kunde

Beiträge: 167

market maker
Hallo Roland,

mach Dir einmal klar, was das Eingangsobjekt Deines Makros ist. D.h. welcher Objekttyp es ist.

Da ich den Kontext nicht kenne, aus dem Du dieses Makro aufrufen willst, kann ich nur Vermutungen anstellen.

Ich denke das Eingangsobjekt Deines Makros ist ein Wertpapierobjekt. Ersetze dann in Deiner Formel Object durch $VOL, dann erhälst Du das Up Volumen.

Code:
$VOL:=object.Volume;

$Diff:=VOL-VOL.Before[1];
$Up:=if($Diff>=0;$VOL;0);
$Up


Und schon klappt es zwar nicht mit der Nachbarin aber mit dem Programm Whistle .

Das object in der 1. Zeile kannst Du auch weglassen, wenn das Eingangsobject ein Wertpapierobjekt ist.

Viel Erfolg.
Vielleicht kannst Du uns ja auf dem Laufenden halten.

Gruß Chuck
Roland Werth
Geschrieben: Sunday, May 4, 2014 10:19:38 PM
Gruppen: Kunde

Beiträge: 144

Hallo chuck,

danke erstmal. Werde das morgen mal ausprobieren. Allerdings soll die Vorbedingung tatsächlich die Kursveränderung bei der Aktie (Indexmitglied) sein (Also close >= Close.before) und dann soll das entsprechende Volumen dieser Aktie an diesen Tagen (Up-Tag für diese Aktie/Aktien) ausgewählt und schließlich mit der Listenfunktion zum Gesamt-UpVolumen des Index summiert werden. Aber ich werde mal weiter mit deiner Formel arbeiten und versuchen, die Vorbedingung mit close zu definieren und dann auf das Volumen verweisen.

Roland
Roland Werth
Geschrieben: Monday, May 5, 2014 9:06:07 AM
Gruppen: Kunde

Beiträge: 144

Hallo chuck, hallo alle hier,

so funktioniert es tatsächlich (mit kleinen Änderungen). Habe folgendes programmiert:

$Close:=object.Close;

$VOL:=object.Volume;

$Diff:=$Close-$Close.Before[1];
$Up:=if($Diff>=0;$VOL;0);
$Up

Darauf kommt dann noch die Listenfunktion.

Danke nochmals chuck!

Roland
Roland Werth
Geschrieben: Monday, May 5, 2014 9:28:22 AM
Gruppen: Kunde

Beiträge: 144

Hallo,

funktioniert aber doch nicht so, wie gedacht. Die Formel arbeitet dann offensichtlich nur mit dem Index-Volumen und nicht mit dem der jeweiligen Aktien (Indexmitglieder) hat jemand da eine Idee?
Das Volumen der Aktien, die an einem Tag gestiegen sind, soll ja summiert werden.

Habe folgende Formel dann verwendet:

if($Index.Given;$Index.As["string"].WP;Object).UpVol1

Roland
Roland Werth
Geschrieben: Monday, May 5, 2014 6:24:51 PM
Gruppen: Kunde

Beiträge: 144

Erhalte die Fehlermeldung Volume auf Zeitreihe wäre nicht definiert, komisch.
chuck
Geschrieben: Tuesday, May 6, 2014 1:04:46 PM

Gruppen: Kunde

Beiträge: 167

market maker
Hallo Roland,

Ein Volumen auf eine Zeitreihe ist wirklich nicht definiert.

Die Fehlermeldung besagt, dass du als Eingangsobjekt für die Funktion „Volume“ eine Zeitreihe verwendet hast.

Das Eingangsobjekt muss jedoch ein Wertpapier sein!!

Zitat:
Wertpapier.Volume[$Kapitalmaßnahmen; $Dividenden; $Intervall; $BasisDatum]


Schau Dir einmal die Funktion „UpsideDownsideVolume[$Zeitraum]“ im Editor an. Dort ist etwas ähnliches schon realisiert.

Gruß
Chuck
Roland Werth
Geschrieben: Tuesday, May 6, 2014 5:13:43 PM
Gruppen: Kunde

Beiträge: 144

Hallo Chuck,

danke, dass Du hier ständig mit außerordentlicher Sachkenntnis präsent bist. Habe aber folgendes schon als Definition ausprobiert:

$VOL:=Wp.Volume;

Vermute, dass Wp für Wertpapier steht. Da erhalte ich aber die gleiche Meldung (Volumen nicht definiert).
Dummerweise steht im UpDownsidevolume (bzw. UpDownVolume erscheintz zwar das Volumen, aber nicht vorher definiert) nichts zur Definition drin. Auch unter UpDownVulume stehen keine Definitionen.

Ich weiß aber, dass in den meisten Formeln keinerlei Definition notwendig ist, wenn nur Volume irgendwo erscheint. Allerdings muß dann das Programm immer wieder auf die Datenbank zugreifen und das dauert sehr lange.
Aber als ich mir das eben angeschaut habe, kam mir der Gedanke, statt Plus villeicht einfach eine andere methematische Operation im UpDownsidevolume einzusetzen (WPComposition.Price.FillGaps[true; "left"].UpDownVolume[$Zeitraum].Fold[#Plus;MakeZ(0)].

Wäre mal eine Idee. Irgendeinen Sinn macht das Plus ja (ich weiß natürlich, dass das UpVolume mit dem DownVolume eigentlich eine Subtraktion ist, aber da das DownVolume negativ ist, funktioniert ein Plus hier).

Aber es ist wirklich scheußlich, dass es darüber im Handbuch keinerlei Aussage gibt. Werde noch einiges ausprobieren und hoffe., dass Du uns hier weiter unterstützt.

Roland
chuck
Geschrieben: Wednesday, May 7, 2014 1:23:34 PM

Gruppen: Kunde

Beiträge: 167

market maker
BeitragHallo Roland,

Zitat:
Vermute, dass Wp für Wertpapier steht.


Ich vermute, dass Du die Handbücher nicht gründlich gelesen hast. Ich weiß, über 900 Seiten für das Bedienerhandbuch und noch einmal weitere 200 Seiten für die MM-Talk Referenz durchzuarbeiten kostet Zeit. Aber wenn man in MM-Talk programmieren will, dann ist das Durcharbeiten der MM-Talk Referenz unumgängliche Voraussetzung. Und wenn man nicht weiß, was eine Funktion (hier WP) macht, dann sind die Handbücher, oder auch die Online Hilfe das entsprechende Nachschlagwerk, das man zu Rate ziehen kann.

Zitat:
Aber als ich mir das eben angeschaut habe, kam mir der Gedanke, statt Plus villeicht einfach eine andere methematische Operation im UpDownsidevolume einzusetzen (WPComposition.Price.FillGaps[true; "left"].UpDownVolume[$Zeitraum].Fold[#Plus;MakeZ(0)].


Auch diese Aussage statt Plus vielleicht eine andere mathematische Operation einzusetzen, zeigt mir, dass Du in keiner Weise mit der Syntax von MM-Talk vertraut bist, sonst müsstest Du erkennen, dass Du den Ausdruck „.Fold[#Plus;MakeZ(0)]“ ansehen musst, um zu verstehen, was da passieren soll. Und das Verständnis der Syntax ist Basis für die Benutzung einer Programmiersprache.

Tut mir leid Jens, aber das was man aus den Handbüchern bei gründlicher Durcharbeitung lernen kann, bin ich nicht bereit in anderen Worten noch einmal zu erklären.

Ein Rat: Arbeite wirklich die MM-Talk Referenz von Seite 1 bis 201 noch einmal durch. Lass Dir wenn notwendig jeden Satz noch einmal „auf der Zunge zergehen“, und lese nicht schnell über den Text. Ich habe vieles auch erst beim 2-ten durcharbeiten und darüber nachdenken „was will mir dieser Satz genau sagen“ erst richtig verstanden.

Noch ein weiterer Tip. Einzelne Befehlszeilen ins Forum einzustellen und zu hoffen, dass Dir da jemand sagen kann was falsch ist, bringt nichts. Der Programmcode ist aus dem Gesamtzusammenhang gerissen und die Ursache des Fehlers kann an einer ganz anderen Stelle im Programm liegen. Also am besten immer das komplette Programm einstellen, damit man den Gesamtzusammenhang sieht wie es z.B. Jens in seinem Beitrag dann gemacht hat.

Also in diesem Sinne weiterhin noch viel Erfolg.

Chuck
Roland Werth
Geschrieben: Wednesday, May 7, 2014 4:08:02 PM
Gruppen: Kunde

Beiträge: 144

Hallo Chuck,

ist vielleicht auch nicht einfach als Nichtprogrammierer oder Nicht-Informatiker dem Handbuch MM-Talk viel zu entnehmen. Und so manches steht auch einfach nicht drin. Ich habe aber immerhin einige neue Indikatoren zustande gebracht, die erstaunliche (zusätzliche) Erkenntnisse bringen. Zum Beispiel "weiß" ich in der Regel, wann die Kurse unten sind. Und diese Erkenntnis geht den meisten sogenannten Experten ab. Wenn ich jetzt noch genau wissen würde, wann die Kurse ganz oben sind...

Aber möglicherweise habe ich Dich in meinem letzten Post zu viele gelobt, denn dein Post hört sich teilweise wie eine Retourkutsche an. Ich habe kein Problem zuzugeben, dass ich mit MM-Talk so meine Probleme habe, obwohl ich erfolgreiche Indikatoren damit programmiert habe. Aber dieses Foprum und das Internet bietet doch hervorragende Möglichkeiten voneinander zu lernen. Und von mir könnte man hinsichtlich Indikatoren ganz sicher was lernen. Andere können etwas anderes beisteuern. Voraussetzung ist allerdings, dass sich die Teilnehmer hier akzeptieren und halbwegs achten (Und natürlich selbst auch lernen wollen).

Ich werde mich wohl erst morgen wieder mit dem Up-/DownVolumen beschäftigen können. Mal sehen, was bei raus kommt.

Ach so, List(...).Fold(#Plus;0) liefert die Summe der Zahlen in der Liste. Also ist es zumindest einen Versuch wert, auch mal eine andere Rechenart zu versuchen (Dann heisst es eben nicht Summe, sondern z.. Differenz). Aber mal schauen.

Roland
chuck
Geschrieben: Wednesday, May 7, 2014 10:59:33 PM

Gruppen: Kunde

Beiträge: 167

market maker
Hallo Roland,

in meiner Antwort war nichts als eine Retourkutsche gemeint. Wenn es sich so angehört hat, dann bitte ich um Entschuldigung.

Es gibt eben einige Dinge, die über das Forum schwierig und nur sehr langwierig auszutauschen sind. Diese gehen einfacher und schneller, wenn man sich am gleichen PC gegenüber sitzt und miteinander redet und direkt auf dem Bildschirm zeigen kann was man meint.

Es ist leider schade dass Lenz+Partner keine Schulungen oder Trainings für market maker und MM-Talk anbietet. Dies wäre dann die richtige Runde, um solche Dinge zu diskutieren oder gemeinsam zu erarbeiten.

Lass Dich nicht entmutigen und bleibe an der Sache dran.

Gruß
Chuck

Benutzer die diese Diskussion aktuell lesen
Guest

Powered by Yet Another Forum.net version 1.9.1.8 (NET v4.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.

Durch die Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zum Datenschutz finden Sie hier