Donnerstag, 18. April 2024, 20:57 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

gsaunus

unregistriert

1

Freitag, 24. Dezember 2010, 16:14

Höchster Vortageswert eines Indikators

Hallo ans Forum!

ich habe unter vielen Forumsbeiträgen gesucht aber weder ein passendes Thema noch eine Antwort finden können - daher frage ich euch direkt.

Ich möchte gerne den höchsten/niedrigsten Vortageswert eines beliebigen Indikators auf Tagesbasis ermitteln, also den höchsten/niedrigsten Wert, den dieser Indikator am Vortag erreicht hat

Mit LastDP kann ich ja leider nur Open, High, Low, Close, Volume oder Open Interest auf Tagesbasis abfragen. die einfachste Möglichkeit wäre es aus mewiner Sicht, wenn Herr Knöpfel die Abfragemöglichkeiten von LastDP entsprechend erweitern und Indikatoren zulassen würde. Ist derzeit meines Wissens nach aber nicht möglich.

Weiß ein hilfreicher Kopf unter euch eine Lösung für mein Problem?

Liebe Grüße, schöne Weihnachten, einen guten Rutsch ins neue Jahr und alles erdenklich Gute für 2011 wünscht euch
Günter

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

2

Samstag, 25. Dezember 2010, 02:12

Describe() aus der Investox Datenbank ist vielleicht, was Du suchst; hab's nicht extra erwähnt, verarbeitet aber auch Indikatoren.
Gruss
Bernd

gsaunus

unregistriert

3

Samstag, 25. Dezember 2010, 11:05

Hallo Bernd,

herzlichen Dank für die schnelle Antwort.

Leider kann ich Describe() nicht in der Investox-Progrmmiersprache finden. Kannst du mir einen Tip geben, wie ich Desribe() unter "Formel einfügen" auswählen kann?

Ist Describe() evtl. ein Befehl aus einer externen Programmiersprache (Visual Basic oder so)? Wenn ja, dann habe ich leider keine Chance für eine Lösung meines Problems, da ich kein Programmierer bin und das nicht beherrsche.

Viele Grüße
Günter

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

4

Samstag, 25. Dezember 2010, 11:19

Describe() aus der Investox Datenbank
findest Du hier. Du musst den Indikator in Investox einfach unter Werkzeuge / Neuronale Netze und Indikatoren importieren, danach verhält er sich wie die internen Indikatoren auch. "Programmieren können" brauchst Du dazu soviel oder wenig nicht, wie für Dir schon bekannten Indikatoren.

Wenn Du den Indikator einstellst, gibt es aber im Gegensatz zu den Investox-eigenen Indikatoren einen zusätzlichen Button "Indi-Info", welcher den Hilfe-Text für den Indikator darstellt. Der Text entspricht weithegend der Doku, die ich in der Forums-Datenbank auch hinterlegt habe unter dem o.g. Link.
Gruss
Bernd

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

5

Samstag, 25. Dezember 2010, 12:27

LastDP funktioniert schon-wenn auch zugegeben etwas umständlich!In der Grafik wurde das Momentums-Tageshoch/tief des vorigen Tages mit Hilfe eines BTs und LastDP umgesetzt.

Tim

unregistriert

6

Samstag, 25. Dezember 2010, 13:53

Hallo,

das Problem ist mit der Investox-Formelsprache recht einfach lösbar:

calc Indikator: RSI(close, 14); // RSI durch beliebigen anderen Indikator austauschbar
calc IndiHigh: HighestSince(Indikator,ROC(DatePart(d),1,$)<>0,1);
ValueWhen(Ref(IndiHigh,-1),ROC(DatePart(d),1,$)<>0,1,V)

Cu Tim

gsaunus

unregistriert

7

Samstag, 25. Dezember 2010, 14:12

Hallo Bernd, Udo & Tim,

herzlichen Dank für eure tolle Hilfe. Habe heute an Weihnachten - ehrlich gesagt - nicht damit gerechnet. Nun habe ich gleich 3 Lösungen, die ich ausgiebig testen kann.

@ Bernd:
Describe(<Indikator nach Wahl>, H, 0800, 2200) liefert das Tageshoch des Vortages unabhängig von der Komprimierung. Ich hatte erst Top ("T") ausgewählt, weil ich dachte, das liefert mir den gewünschten Wert. Das Problem war, daß ich mit T immer nur den laufendem Tag abfragen konnte - ich wollte aber den Vortag. Nach einigem Überlegen kam ich auf die Idee, statt "T" mal "H" auszuprobieren. Und voila - mit H klappt es.

@ Udo:
Clevere Lösung, aus dem Indi einen Berechnungstitel zu machen und den mit Lastdp(H) abzufragen.

@ Tim:
Auch deine Lösung funktioniert prima. Ich hatte den Fehler gemacht mit Abschnitt(y, 1, k, m) den Tag abzugrenzen - was aber immer nur den Schlußwert des Vortages lieferte. Deine Lösung liefert den korrekten Wert.

Eine letzte Frage, dann seid ihr mich los :) : weiß jemand, welche Lösung die geringsten PC-Ressourcen verbraucht?

Liebe Grüße
Günter

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

8

Samstag, 25. Dezember 2010, 14:59

Das kann man m.E. nicht auf die Frage nach PC Resourcen alleine reduzieren. Es gibt andere Aspekte, besonderns im Hinblick auf den geplanten Einsatzzweck, zu dem Du nichts geschrieben hast und den man desswegen nicht in die Bewertung einfliessen lassen kann.

Nehmen wir mal die unterschiedlichen Ansätze:

Udo's Vorschlag wird wohl im Real-Time Ansatz am wenigstens Resourcen brauchen, weil der BT nachts schon vorgerechnet werden kann und im Einsatz nur eben noch mit LastDP() die passenden Zahlen rausgefischt werden. Dafür ist die Handhabung möglicherweise etwas aufwändiger, besonders wenn der PC mit Investox nicht 7x24h läuft. Man muss durch geeignete Aktualisierungszeiten darauf achten, dass der BT auch wirklich vorgerechnet ist, damit es zu sinnvollen Ergebnissen im Real-Einsatz kommt. Oder hast Du nur an Backtest Aufgaben gedacht, was man nicht weiss, dann ist dieser Punkt untergeordnet.

Tim's Vorschlag besticht dadurch, dass man ihn sozusagen mit Investox Bordmitteln umsetzen kann. Dafür muss man im Realeinsatz unbedingt darauf achten, dass Konstrukte wie ValueWhen usw. genügend Perioden zur Verfügung haben - sonst wird Dein SIgnal u.U. mitten am Tag einfach ungültig. Sehr ärgerlich, wenn man wegen sowas mal einen guten Trade verpasst. Im Backtest braucht es wohl bei jedem Durchlauf ziemlich mehr CPU als Udo's Lösung, dafür taucht dort (im Backtest) das Ungültig-Problem eher nicht auf.

Meine Lösung hat den zusätzlichen Bonus, dass man beliebige Handelszeit-Fenster aus dem Vortag rausschneiden kann - und doch bleibt die Syntax mit einem Einzeiler (wie z.B. "Describe(RSI(Close, 14), H, 1530, 2200)") übersichtlicher und einfacher zu verstehen als Udo's oder gar Tim's Lösung. Dafür braucht es mehr Resourcen (CPU) als Udo's Lösung; möglicherweise aber weniger als Tim's, weil das VBScript nur einmal über die Datenreihe drüberläuft und sich alle Eckdaten merkt - während ValueWhen und HighestSince bei mir jedenfalls stets die Backtests recht stark verlangsamt haben.

Der Engländer würde sagen: it depends ...

Du musst also abwägen, und für Deinen geplanten Einsatz die für Dich am besten passende Lösung wählen. Am Ende geht es um ein Abwägen zwischen Maschinen-Resourcen, einfacher Handhabung, leichetr Lesbarkeit sowie Einsatzzweck. Machnmal wird man auch für den Backtest die eine Lösung nehmen und für den Realhandel eine andere. Das kann, muss aber nicht so sein, it depends und viele Wege führen zum Gral :D
Gruss
Bernd

gsaunus

unregistriert

9

Samstag, 25. Dezember 2010, 15:24

Hallo Bernd,

gedacht ist das ganze für den Livebetrieb.

Die Idee dahinter ist der Versuch zu erkennen, wann Bewegungen beginnen und enden. Kenne ich die Vortagesbewegung, kann ich die laufende besser einordnen. Dazu dient die Ermittlung des Vortageshochs oder -tiefs.

Eine Gegenbewegung zu einem Abwärtsmove z.B. findet nach meiner Beobachtung häufig dann statt, wenn bestimmte kursbasierte Indis (auf Basis High und Low) alle nach unten gelaufen sind. Erst wenn sie alle unten sind (Bodenbildung) und der Kurs definierte Linien nach oben durchbricht, kann man eine Gegenbewegung erwarten.

Der Kurs als solcher erscheint mir als Messgröße ungeeignet, weil er häufig große Ausschläge aufweist. Die Beobachtung nur eines Indis alleine dagegen reicht meiner Ansicht nach auch nicht aus, um nicht in einer Seitwärtsbewegung zu versacken.

Liebe Grüße
Günter