Freitag, 19. April 2024, 01:21 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.

Lasa

unregistriert

1

Donnerstag, 27. September 2007, 17:39

Tageszeitabhängige Bewegung der letzten Tage

Grüsse,

ich habe da eine Problematik, welche
ich zwar lösen kann, aber ich bin mir sicher dass es eine
elegantere Lösung gibt, denn meine ist keineswegs Praktikabel:


Ich will die durchschnittliche
tageszeitabhängige Bewegung der letzten Tage errechnen:

(ROC(Close, 3, %)

+

Ref(ROC(Close, 3, %), -138)

+

Ref(ROC(Close, 3, %), -276)

+

Ref(ROC(Close, 3, %), -414)

+

Ref(ROC(Close, 3, %), -552)

+

Ref(ROC(Close, 3, %), -695))

/ 6


So kann die Berechnung aussehen, wenn
man den Schnitt der letzten 5 Tage + den aktuellen Tag errechnen
will. Da mein Handelstag, 23 Stunden hat und ich mit 10 Minuten
arbeite, bekomme ich die 138. Die Periodenzahl 3 wurde willkürlich
gewählt. Wenn ich dass jetzt mit den letzten 100 Tagen machen
will, dann ist es nicht mehr lustig ;( , und da zu noch sehr
Fehleranfällig, weil wenn ich eine Datenlücke habe,
verzerrt sich das Ergebnis nachhaltig.



Also stellen sich mir folgende Fragen:


1 Gibt es eine elegantere Lösung,
und wenn ja, welche?

2 Besteht die Möglichkeit, dass
sich die Berechnung 1 mal Täglich(z.B. beim Tageswechsel) neu
anpasst, falls es Verzerrungen gibt, so dass der Fehler maximal einen
Tag lang in die Berechnung einfließt?

Danke schon mal im Voraus.



Gute Zeit!

lasa

Cash Männlich

Meister

Registrierungsdatum: 14. August 2005

Beiträge: 543

Wohnort: Stuttgart

2

Donnerstag, 27. September 2007, 20:06

Hallo Lasa,

diese Problematik hat mich auch schon mal beschäftigt. Den Ref Indikator sollte man z.B. auf bestimmte Uhrzeiten referenzieren lassen können, z.B. letzte 12Uhr, vorletze 12Uhr usw., nicht nur auf Anzahl Perioden. Das könnte man dann evtl. mit Datepart weiter verfeinern, bei Systemen auf Stundenbasis wäre das schon hilfreich. Alternativ könnte man ja evtl. noch mit ValueWhen arbeiten, das wird aber auch sehr langsam.
Optimal wäre vielleicht ein spezieller GD, der abhängig des Zeitstempels der aktuellen Periode X-Tage in die Vergangenheit geht und den Durchschnitt berechnet.

Grüße, Frank

Lasa

unregistriert

3

Donnerstag, 27. September 2007, 20:29

Hallo Cash,

als ich das letzte mal nach einer
Erweiterung der Bordmittel geschrien habe, wurde ich mit einer
unkonventionellen Lösung von Herrn Knöpfel überrascht.
Ich denke, da gibt es sicher eine Lösung, die so einfach ist,
dass man nicht drauf kommt. :baby:


Mit dieser Art der Berechnung, lässt
sich so einiges machen weil es die statistischen Ergebnisse mit der
Uhrzeit verbindet, z.B. ein Tageszeit abhängiger breake. Es ist
wohl kein Geheimnis, dass die Vola in enger Verbindung zur Tageszeit
steht.

Gute Zeit!

lasa

Cash Männlich

Meister

Registrierungsdatum: 14. August 2005

Beiträge: 543

Wohnort: Stuttgart

4

Donnerstag, 27. September 2007, 21:14

Hallo Lasa,

ich kam auf die Idee aufgrund von Saisonalen Charts bei Rohstoffen. Da werden ja quasi mehrere Jahrescharts übereinander gelegt und so kann man feststellen, ob der momentane Kurs relativ zur Jahreszeit hoch oder niedrig ist, bzw. ob eher ein Anstieg bevorsteht. So gibt es ja auch z.B. beim Dax jahrezeitliche Abhängigkeiten.
Ebenso gibt es ja auch bei FOREX im 24h Handel Tageszeiten zu denen weniger Bewegung ist als zu anderen und vielleicht kann man ja auch Uhrzeiten ausmachen zu denen der Kurs eher steigt oder fällt. Solche Informationen wären denke ich auch als Input für Neuronale Netze ganz interessant.
Die Geschichte mit dem Ref funktionert aber hier auch nicht zuverlässig, da ja Forex am Wochenende nicht um 0:00Uhr öffnet, bzw. schließt. Da müßte man dann auch noch die Importzeit einschränken.

Gruß, Frank

Lasa

unregistriert

5

Montag, 1. Oktober 2007, 18:49

@ cash

bezüglich der
Importzeitbeschränkung, arbeite ich mit der Einstellung 00:00 –
23:00 dass bringt zwei Vorteile mit dich, erstens, kommen in der
„Lücke“ die meisten Spikes vor und andererseits, filtere ich
damit den Sonntag heraus, was die oben genannte Berechnung
erleichtert.

@ all,

ich kann mir kaum vorstellen, dass ich
der erste bin, der die Idee hat, deshalb noch mal die Bitte, mir zu
helfen, auch wenn die Hilfe lediglich darin besteht, dass ich die
Gewissheit habe, dass die Problematik nur sehr umständlich
(praktisch gar nicht) umsetzbar ist. Ich war in den letzten Tagen
auch nicht untätig, aber der kreative Erguss, ist bis jetzt
ausgeblieben. ;(


Wenn ich die Fragen unverständlich
gestellt habe, dann lasst es mich wissen, ich bin gerne bereit, mein
Problem ausführlicher darzustellen.

Gute Zeit!

lasa

Cash Männlich

Meister

Registrierungsdatum: 14. August 2005

Beiträge: 543

Wohnort: Stuttgart

6

Montag, 1. Oktober 2007, 19:45

Um es nochmal zu verdeutlichen, bezogen z.B. auf ein 60min System:

Durchnittlicher Kurs der letzten x Tage um x Uhr (aktuelle Periode).

D.h. wenn z.B. heute der 1.10. 12:00Uhr ist, hätten wir gerne gleitenden Durchschnitt der folgenden Perioden (z.B. 5):

( "1.10. 12:00Uhr" + "30.09. 12:00Uhr" + "28.09. 12:00Uhr" + "27.09. 12:00Uhr" + "26.09. 12:00Uhr") / 5

Wenn es nun 13:00Uhr wird das ganze mit 13:00Uhr usw..
Wie gesagt, mit ValueWhen könnte man es bestimmt lösen, dadurch wird es aber alles sehr langsam.
Falls jemand eine Idee hat ?(
Vielleicht könnte Herr Knöpfel ja auch einen entprechenden "Fabrikindikator" einbauen. :engel:

Viele Grüße, Frank

Tim

unregistriert

7

Montag, 1. Oktober 2007, 23:57

Zitat


Gibt es eine elegantere Lösung,und wenn ja, welche?


Schau mal, ob der angehängte Indikator hilft.

Cu Tim
»Tim« hat folgende Datei angehängt:
  • GD_Time.Inn (962 Byte - 358 mal heruntergeladen - zuletzt: 19. Februar 2024, 22:36)

Lasa

unregistriert

8

Dienstag, 2. Oktober 2007, 19:13

@ Tim,

erst mal vielen Dank für den
Indikator. Er macht leider nicht ganz dass, was ich mir erhoffe. Es
ist auch nicht so einfach, es zu erklären, deshalb, habe ich
eine kleine Formel unten eingefügt, welche du bitte in einen
Chart legst, der Titel ist erst mal egal, intraday Daten mit einer
Zeitachse sollte es sein und die Konstante „Tagesperioden“ musst
du deinen Handelszeiten und Komprimierung anpassen, aber ich denke
dass ist so weit klar.


Die Formal mach so ziemlich dass, was
ich will, allerdings greift die Berechnung nur auf die letzten 5
Handelstage zurück, und die Erweiterung auf beispielsweise 100
Tage ist nicht sehr elegant und auch nicht optimierbar.

@ Cash,

ich weiß im Augenblick nicht,
ober wir beide ganz genau das selbe meinen. Visualisiere doch bitte
auch meine Formel, und wenn wir nicht dass Selbe meinen, schreib doch
bitte noch mal genau, wie deine Vorstellung ist.





Formel einfügen:

const Per: 6; {Dieser Wert, gibt die
Periodenzahl für die ATR an}

const Tagesperioden: 138; {Dieser Wert
gibt die Anzahl der Intraday - Perioden eines einzelnen Handelstag an
z.B. Handelszeit, 23 Stunden pro Tag, bei einer 10 Minuten
Komprimierung ergibt 138 }

(RefVar(ATR(Per), Tagesperioden * -1)
+
RefVar(ATR(Per), Tagesperioden * -2)
+
RefVar(ATR(Per), Tagesperioden * -3)
+
RefVar(ATR(Per), Tagesperioden * -4)
+
RefVar(ATR(Per), Tagesperioden * -5))

/ 5



Auf 10 Minuten Komprimierung, kann man
schön den Zusammenhang von Tageszeit und Vola sehen. Wenn man
jetzt noch einen ATR() mit der selben Periodenzahl wie oben („Per“)
in einem andern Chart darüber legt, sieht man, wie sich die
aktuelle Vola zur historischen Vola verhält unter
Berücksichtigung der Tageszeit.


Ich hoffe, dass ich es besser
verdeutlicht habe, was ich programmieren will.

Wenn noch Fragen oder Unklarheiten
bestehen, dann meldet euch bitte.



Gute Zeit!

lasa

Cash Männlich

Meister

Registrierungsdatum: 14. August 2005

Beiträge: 543

Wohnort: Stuttgart

9

Dienstag, 2. Oktober 2007, 20:01

Hi Lasa,

ich denke schon, daß wir das eigentlich das Gleiche meinen. Ich vergaß wohl bei meinen Ausführungen anzugeben, daß ich nicht die Uhrzeit und Datum der Perioden addieren möchte, sondern natürlich deren entsprechenden Wert (Open, Close etc.). Wollte damit nur nochmal verdeutlichen, welche Perioden Verwendung finden sollen.

Grüße, Frank

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

10

Dienstag, 2. Oktober 2007, 22:54

@Frank

Nicht ValueWhen verlangsamt eine Berechnung sondern ich denke Du meinst vielleicht PREV?
Happy Trading

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

11

Donnerstag, 4. Oktober 2007, 14:35

Hallo,

das ist, auch wenn es einfach klingt, eine relativ komplexe Berechnung. In V5 wird sich so etwas mit Hilfe von VBScript etwas eleganter lösen lassen, da man dort auch mit Schleifen arbeiten kann (dies als klein Vorausschau, weitere Info V5 sind für nächse Woche zu erwarten).

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
dim i,j 
dim StartIndex, EndIndex
dim TempErg
dim TagesPerioden
TagesPerioden=12 'Für den Fall: Stundenkomprimierung, wenn Börsenzeit 8-20 Uhr
for j=(Perioden-1) to 0 step -1  'Perioden: Parameter des Indikators
	if ScriptBerechneformel("ref(Close, " & cstr(-TagesPerioden*j) & ")", TempErg) then
		if j=(Perioden-1) then
			StartIndex=ErsteDatenPeriode(TempErg)
			EndIndex=LetzteDatenPeriode(TempErg)
			for i=StartIndex to EndIndex
				ergebnis(i)=TempErg(i)
			next
		else
			for i=StartIndex to EndIndex
				Ergebnis(i)=Ergebnis(i)+TempErg(i)
			next
		end if
	end if
next
for i=StartIndex to EndIndex
	if Ergebnis(i)<>Novalue then
		Ergebnis(i)=Ergebnis(i)/Perioden
	end if
next


Viele Grüße
Andreas Knöpfel

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

12

Donnerstag, 4. Oktober 2007, 18:05

Zitat


In V5 wird sich so etwas mit Hilfe von VBScript


VBScript inV5....Hmmm, um es mal in der Sprache unserer Kids auszudrücken: COOL :thumbup:

AK:
was wird mit der "alten" INV-Sprache? Bleibt sie bestehen oder kann man VBScript "dazuschalten"?
Viele Grüße,
Hans-Jürgen

Lasa

unregistriert

13

Donnerstag, 4. Oktober 2007, 19:44

Guten Tag Herr Knöpfel,

danke für Ihre Antwort, dann werdeich in diese Berechnung erst mal keine Zeit mehr stecken und bin
schon sehr gespannt auf V 5.


Dass Sie nächste Woche, einen Teil der Katze aus dem Sack lassen begrüße ich sehr!

Es ist zwar weder der richtig Ort, nochdie richtige Zeit aber eine Frage hätte ich bezüglich V5,
da ich mir diesen Monat einen PC kaufe.

Gehe ich richtig in der Annahme, dassV5 nur einen Kern der CPU nutzt?

Bei den restlichen HardwareKomponenten, sollte sich ja nichts ändern, oder?
(Großer,schneller RAM; schnelle Platte)

Viel Erfolg mit V 5!


lasa

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

14

Donnerstag, 4. Oktober 2007, 22:32

@Hans-Jürgen,

Ich freue mich auch schon sehr auf VB-Script.. :D... :thumbsup:
Happy Trading

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

15

Freitag, 5. Oktober 2007, 09:28

Hallo,

VBScript bildet in V5 nur eine Ergänzung zur Investox-Formelsprache in Anwenderindikatoren.
Zu Multicore: Der Robustheitstest läuft in V5 bereits wahlweise parallel auf einem eigenen Kern. Auch kann man Investox mehrfach parallel betreiben und jede "Instanz" nützt dann einen Kern voll aus. Zudem laufen weitere Module wie RTT, Brokerüberwachung, LII-Auswertung bereits in eigenen Prozessen. Dann gibt es auch noch das Betriebssystem, andere Programme etc. Eine Multicore-Austattung ist also auf jeden Fall sinnvoll (geht ja auch kaum noch anders).

Viele Grüße
Andreas Knöpfel

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

16

Freitag, 5. Oktober 2007, 09:43

Eine Multicore-Austattung ist also auf jeden Fall sinnvoll (geht ja auch kaum noch anders).

Vor allen stehen in naher Zukunft 8 Kerne zur Verfügung und das ist m.M. für den privaten Anwender auch schon des Guten zu viel,wenn man die Fähigkeiten der aktuellen Softwareprodukte aller Sparten betrachtet. Nicht einmal die Gamer profitieren davon, da die Softwareprodukte derzeit mit 2 Kernen "zu kämpfen" haben! Für Inverstox ist es m.A. ebenso wichtig, den Datentransport weiter zu beschleunigen (z.B. über den RAM der immer größer und schneller wird) und CPU Auslastung abzubauen....
Happy Trading

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

17

Freitag, 5. Oktober 2007, 09:51

VBScript bildet in V5 nur eine Ergänzung zur Investox-Formelsprache in Anwenderindikatoren.
Zu Multicore:


Das hört sich für mich alles wirklich sehr gut und interessant an.
Ich freue mich auch schon sehr auf V5. :)
Viele Grüße von Anke

http://www.ascunia.de

Frieder

unregistriert

18

Freitag, 5. Oktober 2007, 14:06

Für alle, die noch 5 Jahre warten können mit dem Hardware-Neukauf...

Hi,
na dann kann ich ja meine Rechner- "Farm" allmählich wieder depyramidisieren... , Herrn Moore sei es gedankt! LINK: http://www.sueddeutsche.de/computer/artikel/532/136264/

Lasa

unregistriert

19

Freitag, 5. Oktober 2007, 17:33

Guten Tag Herr Knöpfel,


vielen Dank für die Infos.

V5 wird ja immer interessanter, da bin ich wirklich schon sehr gespannt.

Schönes Wochenende!


lasa

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

20

Freitag, 5. Oktober 2007, 18:27

@Hans-Jürgen,

Ich freue mich auch schon sehr auf VB-Script.. :D... :thumbsup:


Wirklich ;) ?.....hmm, Udo, ich bin gespannt :thumbup:
Viele Grüße,
Hans-Jürgen