Stündliche Daten mit Bloomberg .Net-API
Kämpfe ich mit der Logik zu kommen stündlich OPEN, HIGH, LOW und LAST_PRICE snapshot von Bloomberg mit .Net-API 3.0. Ich habe es gegoogelt viele Male, aber mit kein Glück! Jede Hilfe zu diesem wird sehr geschätzt.
Ich bin versuchen zu finden entspricht folgenden VBA-BDH-Funktion in Bloomberg .Net API (C#).
BDH(B5,C6:F6,TODAY()-30,"","BarTp=T","BarSz=120","days=T","Dir=V","Dts=S",,"Quote=C","UseDPDF=Y","Sort=D",,"cols=5;rows=271")
wo B5 ist mit Sicherheit Namen und C6:F6 enthalten OPEN, HIGH, LOW und LAST_PRICE Felder. Ich habe versucht Intraday-Bar auf Anfrage aber nicht wieder dieselben Werte zurückgegeben durch ... diese BDH-Funktion. Auch Historische Daten Anforderung nicht haben, STÜNDLICHEN Intervall-option, beginnt es aus dem TÄGLICHEN Intervall.
Folgende code ist der code, die ich bisher versucht habe:
BBService refDataService = session.GetService("//blp/refdata");
BBRequest request = refDataService.CreateRequest("IntradayBarRequest");
request.Set("security", "SPX INDEX");
request.Set("eventType", "TRADE");
request.Set("interval", 120); //bar interval in minutes
request.Set("startDateTime", new BBDateTime(2012, 08, 11, 07, 30, 0, 0));
request.Set("endDateTime", new BBDateTime(2012, 08, 20, 18, 30, 0, 0));
session.SendRequest(request, null);
- Willkommen auf DAMIT! Können Sie uns zeigen, einige code, was Sie bisher ausprobiert haben, wo haben Sie Schwierigkeiten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
in der Bloomberg-API-Verteilung, werfen Sie einen Blick auf die große "Beispiele" - Ordner.
Der folgenden Beispielanwendung implementiert Ihre Anfrage.:
Im Grunde ist der "Kern" ist auch so:
und nach der Vorlage, müssen Sie die Bloomberg-Antwort, analysieren es und verwenden Sie es.
Happy coding.
BEARBEITET:
Finden Sie das Ergebnis der Probe C# - code und die entsprechende Anfrage von Bloomberg.
Gerecht halten Sie im Verstand den Unterschied in der Zeitzone! Wenn Sie code in C#, die Bloomberg-Bibliothek ist in UTC, während der Verwendung von Excel-add-ins, die Zeitzone ist Ihre Lokale Zone.
DateTime startTime = DateTime.Now.AddDays(-30); DateTime endTime = DateTime.Now; startTime = TimeZone.CurrentTimeZone.ToUniversalTime(startTime); endTime = TimeZone.CurrentTimeZone.ToUniversalTime(endTime);
Möglicherweise arbeitete dieser schon raus, aber Sie müssen vorsichtig sein mit der Zeitzone Ihrer Zeit.
Bloomberg intraday-Zeiten sind im GMT - ich denke, es sagt dies in die Doku irgendwo. Dies gilt sowohl für
"IntradayBarRequest"
und"IntradayTickRequest"
.N. b. dies unterscheidet sich von einem Abonnement für live-Daten (z.B. mit
Subscription
undSession
), die verwendet Ihre lokale Zeitzone (wie in den Bloomberg-Terminal). Das ist natürlich, es sei denn, Sie verwenden Sie die überschreiben -"useGMT"
.