Freitag, 19. April 2024, 00:58 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

frank sinatra

unregistriert

1

Freitag, 21. März 2014, 18:59

Merkwürdiges Problem mit identischen Kursreihen

Hallo,

ich habe in einem Projekt eine Formel erstellt, die die Differzenz aus 2 Kursreihen darstellt ("neue Formel") diese Differenz sollte im Chartfenster immer gleich 0 sein.
[img]https://onedrive.live.com/redir?resid=D39FAFBDF4EFD12!190&authkey=!AIK_VJiD3JDXiTc&v=3&ithint=photo%2c.PNG[/img]

da die Daten anfangs identisch sind - die eine Kursreihe ist eine Kopie der anderen und unterscheidet sich erst an spätere Stelle von den Originaldaten.
Zu meinem großen erstaunen werden die Daten im Chartfenster unterschiedlich dargestellt!!!!

Dieses Problem tritt nur auf, wenn die Einstellung auf Tickdaten ist, bei 1min Komprimierung tritt keinerlei Unterschiede auf.

Es scheint so zu sein, dass der Basischart korrekt dargestellt ist und der Chart oberhalb nicht korrekte Daten anzeigt. Die Originaldaten sind csv-Dateien, mit 3 Mio Ticks.

Eine Besonderheit der Daten ist, dass die Timestamps sekundengenau sind und auch mehrfach auftreten können. Die Daten sind dabei folgendermaßen aufgebaut:

17.7.2010 23:09:17;0,05;20000

Man kann deutlich erkennen im Bild, dass die obere Kursreihe für einige Zeit fälschlicherweise einen gleichbleibende Kurs anzeigt und dadurch die ABweichung entsteht.
Warum tritt dieser Fehler auf?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »frank sinatra« (21. März 2014, 19:07)


frank sinatra

unregistriert

2

Montag, 24. März 2014, 17:55

Durch weiteres Testen bin ich zu folgenden Vermutungen gelangt:

  • Der Fehler scheint in Zusammenhang mit einer Fehlermeldung "out of memory" im Logbuch zu stehen. Inwiefern hier wirklich der Arbeitsspeicher gemeint ist, weiß ich nicht. Die angezeigten Daten hatten vielleicht 250-350 MB in einer Virtuellen Maschine (VMWareplayer, XP modus) die mit 3,2 GB ausgestattet wurde.
  • Bei meinem Testen scheint es so zu sein, dass wenn im Chart (beide Kursreihen zusammen) 4,4 Mio Zeilen überschritten werden der Fehler auftritt. zumindest trat der Fehler bei 2 csvs mit insgesamt 4,9 Mio Zeilen im Chartfenster immer auf, bei 2 Charts mit 4,4 Mio. Zeilen trat er nie auf.
Meine mich auch zu erinnern, dass ich mals was in der Anleitung mit 4 Mio. Ticks gelesen zu haben (kann das nicht mehr finden), glaube aber ebenfalls wo gelesen zu haben, dass das per Update auf 5 Mio. Ticks erhöht wurde.
Kann dazu jemand was sagen, bzw. das korrigieren?
Ist das so so, dass bei roundabout 4,4 Mio. Zeilen einfach Schluss ist oder gibt es noch einen Trick? Bin bisher eigentlich davon ausgegagen, dass der Wert unter Leistungsschemen einstellen von 10.000.000 komprimierte Perioden gelten würde...

P.S. Etwas offtopic wann erscheint IV Version 7 und wird das 64-bit unterstüzten?

frank sinatra

unregistriert

3

Donnerstag, 27. März 2014, 11:57

Bitte um Mithilfe

Hallo allerseits,

Das Problem macht mir schlaflose Nächte - ich weiß langsam nicht mehr weiter. ;(

Um den Fehler besser analysieren zu können, habe ich hier nochmals alles zusammengestellt was zum Reproduzieren nötig ist:

Schritte die zum Fehler führen:
  1. folgende Datei runterladen: https://onedrive.live.com/redir?resid=D3…int=file%2c.txt (Anmerkung wenn man den Link anruft versucht der browser gleich die Datei zu öffnen - was aufgrund der Größe nicht so schnell geht - einfach unter Downloaden runterladen)
  2. Datei kopieren und in geeigneten Namen umbenennen (vielleicht Test B)
  3. 2 neue Titel in Investox anlegen, und die beiden csvs importieren
  4. in einem neuen Projekt beide Titel hinzufügen, und 3 Chartfenster erstellen, so dass beide Titel dargestellt werden und im Dritten Fenster eine Formel hinzufügen nach dem Motto:
    Close(KursreiheA)-Close(KursreiheB)
  5. Wenn euere Komprimierung auf 1min oder höher eingestellt ist bekommt ihr eine wagrechte Linie die auf der 0-Linie liegt (beide Kursreihen sind ja identisch daher sollte die Differenz immer 0 sein). Nun die Komprimierung auf Tick-by-Tick umstellen. Ich erhalte nach der Prozedur bei mir auf dem Rechner folgendes Bild:

    https://onedrive.live.com/redir?resid=D3…nt=photo%2c.PNG
Installation:
- Investox XL EOD 5.96
- instaliert in VMwareplayer VM mit 3,2 GB Ram (Einmal Version 5 einmal Version 6)
Das ganze wurde auf 2 Maschinen mit jeweils Win 7 prof. und 8 GB getestet - gleiches Ergebnis.

Es würde mir sehr helfen wenn einige von euch das Testen und mir das Ergebnis und welche Version ihr habt mitteilen könntet (Board oder email) - Ich weiß im Augenblick gerade nicht, ob ich den Testergebnissen von Investox noch trauen kann. Vielen Dank!!

Desweiteren würde ich den Fehler natürlich gerne lösen, wenn das nicht geht würde ich den Fehler zumindest gerne eingrenzen, wenn dabei herauskommt das etwas in IV nicht geht, andere Version nötig ist etc. wäre es für mich auch besser das zu Wissen als diese Ungewissheit nicht zu wissen woran das liegt.

Grüße!

Edit: Meine Vermutungen aus dem letzen Post haben sich nach intensivem Testen nicht bestätigt:

Zitat

Durch weiteres Testen bin ich zu folgenden Vermutungen gelangt:



  • Der Fehler scheint in Zusammenhang
    mit einer Fehlermeldung "out of memory" im Logbuch zu stehen. Inwiefern
    hier wirklich der Arbeitsspeicher gemeint ist, weiß ich nicht. Die
    angezeigten Daten hatten vielleicht 250-350 MB in einer Virtuellen
    Maschine (VMWareplayer, XP modus) die mit 3,2 GB ausgestattet wurde.

    Nein der Fehler tritt wie anfangs auch ohne die Fehlermeldung auf, er kann aber auch einhergehen mit dieser.
  • Bei
    meinem Testen scheint es so zu sein, dass wenn im Chart (beide
    Kursreihen zusammen) 4,4 Mio Zeilen überschritten werden der Fehler
    auftritt. zumindest trat der Fehler bei 2 csvs mit insgesamt 4,9 Mio
    Zeilen im Chartfenster immer auf, bei 2 Charts mit 4,4 Mio. Zeilen trat
    er nie auf.
    das der Fehler nur bei mehr als 4,4 Mio Zeilen auftritt hat sich nach intensivem Testen nicht bestätigt, er trat auch bei 4 Mio Zeilen auf..

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »frank sinatra« (27. März 2014, 12:05)


Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

4

Donnerstag, 27. März 2014, 15:01

Hallo,

ich kann das Bild nicht aufrufen. Setzen Sie Bilder künftig besser als Dateianhang direkt in den Beitrag.

Es wird aber um folgendes gehen: Immer nur ein Titel ist die Basis des Charts bzw. der Berechnung. Wenn Sie eine Berechnung auf einen anderen Titel beziehen, ist dieser Titel ein Vergleichstitel. Vergleichstitel müssen an Hand des Zeitstempels synchronisiert werden. Dessen Auflösung ist 1s. Sie finden also im Vergleichstitel (auf Tickbasis) immer den letzten Tick der jeweiligen Sekunde, nicht aber die dazwischen liegenden Ticks. Dies führt zu den von Ihnen beschriebenen Differenzen bei der Subtraktion, wenn es im Basistitel mehrere Ticks pro Sekunde gibt.

Grundlagen zur Komprimierung/Synchronisierung finden Sie im Übungsbuch zur Formelsprache unter http://investox.de/Downloadseiten/DLDok.htm.

Viele Grüße
Andreas Knöpfel

frank sinatra

unregistriert

5

Donnerstag, 27. März 2014, 16:31

Abweichung 120min Komp

Hallo Herr Knöpfel und alle die das durchlesen,

Zitat

Vergleichstitel müssen an Hand des Zeitstempels synchronisiert werden.
Dessen Auflösung ist 1s. Sie finden also im Vergleichstitel (auf
Tickbasis) immer den letzten Tick der jeweiligen Sekunde, nicht aber die
dazwischen liegenden Ticks.
Danke für den interssanten Link, ich werde das nachher mal durchforsten, im Augenblick glaube ich aber das es noch nicht ganz die Lösung ist.
Ich habe Ihnen in Bild2 nochmals einen Chart angehängt, der zeigt, dass die Abweichungen auch in 120min Komprimierung aufgetreten sind. Und das dürfte dann ja wohl nicht sein, wenn ich sie richtig verstehe - allerdings wurde hier (bei sehr ähnlichen Daten) ein Berechnungstitel eingesetzt.

Basisreihe: Tickdaten (wieder das gleiche teilweise mehr als 1 Tick pro Sekunde). Vergleichstitel ist ein Berechnungstitel, der auf den gleichen Daten basiert und die Daten einfach nur auf 5min komprimiert. Oder wie wird das dann bei BT gehandhabt?


Bild1: nochmals das Bild, das vom letzten Post zeigt die Abweichung von Tickdata in der Basisreihe zu Tickdata im Vergleichstitel


Grüße!
»frank sinatra« hat folgende Bilder angehängt:
  • Bild1.PNG
  • Bild2.png

frank sinatra

unregistriert

6

Freitag, 28. März 2014, 13:59

Hallo Herr Knöpfel,

2 Fragen, die mir noch eingefallen sind, die mit dem Fehler nichts direkt zu tun haben, die mir aber sehr wichtig wären( natürlich ist jeder willkommen zu antworten :) ):

  1. Sind Probleme zu erwarten, da manche Timestamps mehrfach vorhanden sind? Sollte ich die Daten besser vorher in Access bearbeiten, so dass jede Timestamp nur 1mal vorkommt? Ich denke hier an den Backtest von STrategien und an die Berechnung von Indikatoren...
  2. Ich habe nirgends eine Erklärung zum GENAUEN Unterschied von Charts aktualisieren und Projekt aktualisieren gefunden. Das ist nicht so trivial, da ich mehrere Probleme mit Aktualisierungen hatte und das glaube ich mit dem Thema zusammenhängt.
Viele Grüße!

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

7

Montag, 31. März 2014, 18:32

Hallo,

1) nein.

2)
Charts aktualisieren = aktuell gewählter Titel und Spalte
Projekt aktualisieren = alle Titel und Spalten (Signale aller Systeme)

Viele Grüße
Andreas Knöpfel

frank sinatra

unregistriert

8

Dienstag, 1. April 2014, 11:12

Ja dankeschön..

Grüße