Einloggen Suche | Aktive Themen
Intraday Daten herunterladen Optionen
Frank C
Geschrieben: Saturday, October 28, 2017 4:08:07 PM
Gruppen: Kunde

Beiträge: 4

Hallo zusammen,

ich bin noch nicht sehr vertraut mit Tai-Pan Realtime.
Ich möchte gerne historische Aktienkurse abrufen. Am besten auf Tick Ebene oder sekündlich bis minütlich und dabei über einen Zeitraum von ca 10 Jahre.

Idealerweise sollten die Daten in einer Text-Datei oder csv Datei abgespeichert werden (Mir reicht eigentlich Datum und Close)

Ich bin leider kein versierter Programmierer und komme mit den Programmieranleitungen nicht zurecht. Ich habe hier im Forum schon geschaut und bin auf ein Excel-File gestoßen, was eigentlich genau das macht was ich möchte aber ich denke Excel ist mit der Datenflut überfordert, denn bei ca. 65000 Zeilen ist Schluss, was nicht mal einen Monat entspricht...

Kann mir jemand helfen?
Vielleicht mit einem einfach Programm oder ein Hinweis wie ich das umsetzen kann?

Herzlichen Dank und liebe Grüße

Frank C
Rene Rose
Geschrieben: Tuesday, November 28, 2017 1:13:47 PM
Gruppen: Kunde

Beiträge: 5

Ich habe Ihnen dazu eine Boardmail geschrieben. ich habe eine funktionierende Anwendung, die das alles leistet.
Joerg Frohnapfel
Geschrieben: Sunday, December 31, 2017 8:39:44 PM
Gruppen: Kunde

Beiträge: 4

Tai-Pan Realtime
Hallo,

kannst Du einen entsprechenden C# Quelltext mal hier veröffentlichen?

Ich kann zwar mit dem Objekt IIntradayChartQuickAccess Tickdaten zu einem Instrument abrufen (jeweils für einen Tag) aber nach Abruf von etwa 100 Tagen wird der Abruf sehr langsam und Taipan Realtime belegt 3,2GB im RAM des Windows-PC's. Zu dem Zeitpunkt sind gerade mal ca. 8000 Ticks abgerufen. Wenn ich den Abruf bremse durch eine 2 Sekunden Pause zwischen 2 Tagen dann bleibt mein Programm nicht hängen und dann gibt Taipan Realtime den Speicher ab und an wieder frei. Aber irgendwie gefällt mir diese "Lösung" noch nicht so recht.

Hier der entsprechende Programmabschnitt:

Code:
       private void exportItem(string itemNummer)
        {
            TPRTDataBase = (DataBase)TPRTObject.DataBase;
            float[] Kurse;
            DateTime[] Zeit;
            Int32[] Volume;
            startDate = DateTime.Parse("01.01.2017");
            stopDate = DateTime.Now.Date;
            aktDate = startDate;
            int i = Int32.Parse(itemNummer);
            int rel = 0;
            int ticks = 0;
            while (true)
            {
                if (aktDate > stopDate) break;
                IIntradayChartQuickAccess IDAccess = (IIntradayChartQuickAccess)TPRTDataBase.IntradayChart(i, 9, aktDate);
                Kurse = (float[])IDAccess.IntradayData2(TPRQuickAccessKursArten.TPRQuickAccessKursArtenClose);
                Zeit = (DateTime[])IDAccess.IntradayData2(TPRQuickAccessKursArten.TPRQuickAccessKursArtenZeit);
                Volume = (Int32[])IDAccess.IntradayData2(TPRQuickAccessKursArten.TPRQuickAccessKursArtenVolume);
                textBox1.Text = aktDate.ToString();
                ticks = ticks + Kurse.Count();
                textBox2.Text = Kurse.Count().ToString() + " " + ticks.ToString();
                aktDate = aktDate.AddDays(1);
                System.Threading.Thread.Sleep(2000);
            }
        }
Daniel Beyersdorf
Geschrieben: Tuesday, January 9, 2018 11:58:59 AM

Gruppen: Mitarbeiter

Beiträge: 54

Tai-Pan RealtimeTai-Pan End-of-Daymarket makerbis. Realtime-Terminal
Hallo Herr Frohnapfel,

Sie könnten dies mit dem Arrayloader IIntradayChartCollection versuchen:


Code:

ArrayLoader loader = new ArrayLoader();
           
//securities are identified with a unique symbol number
int symbolNr = 78303;    //this is the symbol number of Dt.Telekom at Xetra (555750.ETR)
DateTime startDatum = DateTime.Now.AddDays(-1); //start date is yesterday
int bidAsk = 0;      //0: without Bid-/Ask-data, 1: with Bid-/Ask-data

IIntradayChartCollection ichartCol = loader.Intradaycharts(symbolNr, startDatum, bidAsk) as IIntradayChartCollection;
if( ichartCol != null )
{
  //the IntradayChartCollection contains the intraday charts...
  int count = ichartCol.Count;
  for( int i = 1; i <= count; i++ ){
    IIntradayChart ichart = ichartCol[i] as IIntradayChart;
    if( ichart != null ){                       
     //...which can be read now
     Debug.WriteLine(Environment.NewLine);
     foreach( IIntradayChartEintrag entry in ichart ){
        Debug.WriteLine("{0}{1}", entry.Zeit.ToShortTimeString(), entry.Kurs);
     }
    }
  }
}




Entwicklung | Lenz+Partner GmbH | vwd group
Phone: +49 231 9153-300 | Fax: +49 231 9153-399
entwicklung@lp-software.de | www.LP-software.de | www.vwd.com
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