Oli Garch Dezember 8, 2023 Es ist schon so, dass die Code-Längen das Problem ist. Ein Ausweg wäre aber, die Kurse vom ING Direkthandel zu nehmen. Der läuft ja meiner Meinung nach über Tradegate. =WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/charttool/"&D1) in D1 steht die ISIN "bid" wird dann so gefiltert: =WECHSELN(TEIL(TEIL(N1;FINDEN("TGT";N1);250);FINDEN("bid";TEIL(N1;FINDEN("TGT";N1);250))+5;FINDEN(",";TEIL(TEIL(N1;FINDEN("TGT";N1);250);FINDEN("bid";TEIL(N1;FINDEN("TGT";N1);250))+5;50))-1);".";",")/1 Bedingung: in N1 steht die o. g. Webdienst-Formel. für "ask": in der Filter-Formel "bid" zweimal durch "ask" ersetzen. Alles blitzschnell, da nur Text geladen wird. Diesen Beitrag teilen Link zum Beitrag
CK-ONE Dezember 8, 2023 OMG, es funktioniert. 1.000 Dank! Du hast Recht. Laut eigener Website werden Aktien und ETFs dort über Tradegate gehandelt, Fonds, Zertifikate und Hebelprodukte über Gettex. [Quelle: https://www.ing.de/sparen-anlegen/direkt-depot/handelsplaetze/handelspartner/] Und wenn ich stattdessen "ast" eingebe, habe ich auch noch den je aktuellen letzten Kurs. Aktualisieren sich denn diese Werte, wenn ich per Str+Alt+F5 den Befehl "Alle aktualisieren" ausführe? Kann es gerade nicht prüfen, weil die Handelszeiten "nur" bis 22 Uhr gehen. Die Kirsche auf der Sahne wäre jetzt noch, wenn ich nur die ISIN eingeben müsste und auch der Name und der Ticker der Aktie in je einer Zelle abgerufen würden. Beides finde ich leider in dem API-Text von ING nicht. Gibt es da noch einen Trick? Diesen Beitrag teilen Link zum Beitrag
Oli Garch Dezember 9, 2023 vor 10 Stunden von CK-ONE: Gibt es da noch einen Trick? Ich persönlich verwende diese Adresse: https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/IE00B3RBWM25 Nur liefert die bei ETFs kein bid und ask, sondern nur price. Dafür sind WKN, ISIN u. Name enthalten. Da ich es für mich nicht so genau brauche, aber immer die gleiche Formel verwenden möchte, habe ich beide Lösungen mit der "Wennfehler"-Funktion verknüpft. Also wenn "bid" einen Fehler erzeugt Ausgabe von "price". "bid" finde ich so: =WECHSELN(TEIL(R3;SUCHEN("#";WECHSELN(R3;",";"#";4))+7;FINDEN(",";TEIL(R3;SUCHEN("#";WECHSELN(R3;",";"#";4))+7;20))-1);".";",")/1 und "price" so: =WECHSELN(TEIL(R3;SUCHEN("#";WECHSELN(R3;",";"#";2))+9;SUCHEN(",";TEIL(R3;SUCHEN("#";WECHSELN(R3;",";"#";2))+9;20))-1);".";",")/1 Wie ich aus deinem Anfangspost ersehe, bist du mit Office 365 unterwegs. Da bekommst du die Formeln sicher noch etwas eleganter hin. Mit dieser URL geht es aber schon wesentlich einfacher. Da fällt mir gerade auf: Onvista hat eine ähnliche api. Scheint auch bid und ask zu liefern. URL: https://api.onvista.de/api/v1/funds/ISIN:IE00B3RBWM25/snapshot? Für Aktien in der URL stocks statt funds. Für Tradegate alles was hinter _gat oder GAT steht. Diesen Beitrag teilen Link zum Beitrag
CK-ONE Dezember 9, 2023 Himmel, Du gibst ja sogar schon Antworten auf Fragen, die ich noch gar nicht gestellt habe. LOL Ich wollte nämlich noch die Frage nachschießen, ob ich auch irgendwo an Intraday-Daten von LS-Exchange kommen kann. Und was soll ich sagen: Die Onvista-API enthält genau diese und noch viel mehr! So lassen sich bspw. in Excel hilfreiche Einblicke errechnen, wie das Verhältnis von aktuellem Volumen zum 4-Wochen-Volumen. Das ermöglicht es, eine Einschätzung der aktuellen Handelsaktivität eins Stocks zu bekommen. Noch dazu alles komfortabel abrufbar per Textverkettung mit einer ISIN. Ich werde das als nächstes mal richtig ausschlachten, testen und hier Feedback geben. Deine ING-Formel habe ich mir von Chat GPT im Detail erläutern lassen. Daraufhin konnte ich sie entsprechend anpassen und nun auch Volumen-Daten abrufen. Für die Mitleser der Community, an das Tradegate-Volumen im bereits abgerufenen ING-API-Text kommt ihr so: =WECHSELN(TEIL(TEIL(G8;FINDEN("TGT";G8);550);FINDEN("volume";TEIL(G8;FINDEN("TGT";G8);550))+8;FINDEN(",";TEIL(TEIL(G8;FINDEN("TGT";G8);550);FINDEN("volume";TEIL(G8;FINDEN("TGT";G8);550))+8;50))-1);".";",")/1) Wobei die Zelle G8 den per Webservice heruntergeladenen ING-API-Text enthält. Oli, ich danke Dir jetzt schon ganz herzlich für deine fundierte Hilfe. Diese Lösungen bedeuten für mich Next Level, um gut auf Daily- und Intraday-Marktbewegungen reagieren zu können und dadurch noch bessere Einstiege finden und profitablere Setups kreieren zu können. Danke. Diesen Beitrag teilen Link zum Beitrag
Oli Garch Dezember 9, 2023 Vielen Dank für die Rückmeldung. Freut mich sehr, dass ich helfen konnte. Für den ein oder anderen hier im Forum ist es sicherlich auch interessant, wenn du hier weitere Möglichkeiten vorstellst, Daten zu filtern. Um nochmal auf eine Frage bezüglich der Aktualisierung der Daten aus deinem vorletzten Beitrag zurückzukommen: du meintest sicherlich Strg+Alt+F9. Ja das geht so. Diesen Beitrag teilen Link zum Beitrag
CK-ONE Dezember 10, 2023 Schade, die Onvista-API gibt bei deutschen Stocks Werte für so viele Börsen aus, dass der per WEBDIENST ausgelesene Text leider zu lang ist. Das heißt, die funktioniert Methode bei LS Exchange nur für ETFs und amerikanische Stocks. Und auch dort nicht für die Big Player wie AMD und größer. Kennst Du evtl. noch eine Alternative Datenquelle für LS Exchange? Diesen Beitrag teilen Link zum Beitrag
Oli Garch Dezember 11, 2023 vor 11 Stunden von CK-ONE: Kennst Du evtl. noch eine Alternative Datenquelle für LS Exchange? keine, die man mit der Excel-Funktion Webdienst abgreifen könnte. Eine andere Möglichkeit wäre, die Funktion Webdienst durch ein kleines VBA-Makro nachzubilden. Diese selbstgemachte Funktion wäre zwar auch auf die 32767 Zeichen bei der Datenausgabe geschränkt, aber da lässt sich vorher ja jede Menge aussortieren, so dass es passt. So etwas hätte ich auch noch in der Schublade. Natürlich nur wenn du aus Sicherheitsgründen VBA-Makros nicht ausschließt. Diesen Beitrag teilen Link zum Beitrag
Coriolis Dezember 13, 2023 Kann jemand bitte noch die Formel für den Vortageskurs über das ING Webservice einstellen? Danke vielmals! Diesen Beitrag teilen Link zum Beitrag
Oli Garch Dezember 13, 2023 vor 39 Minuten von Coriolis: Kann jemand bitte noch die Formel für den Vortageskurs über das ING Webservice einstellen? =WECHSELN(TEIL(K1;SUCHEN("#";WECHSELN(K1;",";"#";3))+9;FINDEN(",";TEIL(K1;SUCHEN("#";WECHSELN(K1;",";"#";3))+9;20))-1);".";",")/1 hier wird vorausgesetzt, dass in Zelle K1 die Webdienstformel steht, die lautet: =WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&C1) diese setzt voraus, dass in Zelle C1 die ISIN des gesuchten Wertes steht. In der ING-api läuft der Vortageskurs unter "close", wie man hier sehen kann: {"id":608678,"name":"Vanguard FTSE All-World UCITS ETF - (USD) Dist","price":107.06,"close":106.98000000,"changePercent":0.0747803327724808375397270500, Diesen Beitrag teilen Link zum Beitrag
Coriolis Dezember 13, 2023 · bearbeitet Dezember 13, 2023 von Coriolis Danke vielmals, Oli Garch - funktioniert perfekt! Diesen Beitrag teilen Link zum Beitrag
CK-ONE Dezember 16, 2023 Wie es aussieht ergänzen sich die beiden APIs von Onvista und ING ganz gut, was die Abedeckung der Stocks angeht. Nur Mega-Caps (für mich eh nich tinteressant) und absolute Exoten sind dort nicht per ISIN vertreten. Kann ich absolut mit leben. Ich habe deshalb nun für beide API-Bezüge eigene Tabellenblätter eingerichtet, die die je spezifisch gebotenen Daten optimal ausnutzen. Ein Übersichtsblatt zeigt per Balkendiagrammen für beide API-Sets auf einen Blick an, ob es am Handelstag Besonderheiten bei Spreads, Volumen u.a. gibt. Funktioniert tadellos. Danke nochmal bis hierhin Oli. Diesen Beitrag teilen Link zum Beitrag
Drengist 20. Mai Irgendwie bekomme ich über Ariva nicht mehr den Kurs für meinen Geldmarktfonds DBX0AN. Dieser Import liefert keinen Kurs mehr: =IMPORTXML("https://www.ariva.de/etf/db_x_trackers_ii_eonia_ucits_etf_1c";"//*[@itemprop='price']") Bei Google Finance ist der Fonds garnicht auffindbar. Könnt ihr eventuell helfen? Diesen Beitrag teilen Link zum Beitrag
Oli Garch 20. Mai In einem anderen Thread hatten wir vor zwei Tagen schon einmal dieses Problem. Ersetze den XPath-Wert (den Teil hinter dem Semikolon) durch den Wert, wie er in dem anderen Thread angegeben ist. Das funktioniert auch mit deiner URL. Oder du übernimmst gleich alles von dort. Diesen Beitrag teilen Link zum Beitrag
Malvolio 21. Mai vor 11 Stunden von Drengist: Irgendwie bekomme ich über Ariva nicht mehr den Kurs für meinen Geldmarktfonds DBX0AN. Dieser Import liefert keinen Kurs mehr: =IMPORTXML("https://www.ariva.de/etf/db_x_trackers_ii_eonia_ucits_etf_1c";"//*[@itemprop='price']") Bei Google Finance ist der Fonds garnicht auffindbar. Könnt ihr eventuell helfen? Der ETF wird auf XETRA gehandelt (Ticker: XEON). Da sollte in EXCEL 365 eine Abfrage über den Datentyp "Aktien" möglich sein. https://support.microsoft.com/de-de/office/abrufen-eines-aktienkurses-e5af3212-e024-4d4c-bea0-623cf07fbc54 Diesen Beitrag teilen Link zum Beitrag
Oli Garch 21. Mai @Drengist ist wohl im falschen Thread unterwegs. Meiner Meinung nach benötigt er Hilfe für Google-Sheets. Diesen Beitrag teilen Link zum Beitrag
schneire 27. Mai Am 21.5.2024 um 10:15 von Malvolio: Der ETF wird auf XETRA gehandelt (Ticker: XEON). Da sollte in EXCEL 365 eine Abfrage über den Datentyp "Aktien" möglich sein. https://support.microsoft.com/de-de/office/abrufen-eines-aktienkurses-e5af3212-e024-4d4c-bea0-623cf07fbc54 Hallo Oli, kannst du bitte über deine WEB-Dienstformel in EXCEL bei ARIVA den Price auslesen: =WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&B2) Danke Diesen Beitrag teilen Link zum Beitrag
Oli Garch 27. Mai Die ING-API funktioniert heute offensichtlich nicht. Ich hoffe es ist eine vorübergehende Erscheinung. Ich habe jetzt nicht ganz den Zusammenhang mit Ariva verstanden. Willst du stattdessen den Kurs da herholen? Diesen Beitrag teilen Link zum Beitrag
schneire 27. Mai vor 2 Stunden von Oli Garch: Die ING-API funktioniert heute offensichtlich nicht. Ich hoffe es ist eine vorübergehende Erscheinung. Ich habe jetzt nicht ganz den Zusammenhang mit Ariva verstanden. Willst du stattdessen den Kurs da herholen? JA ganz genau das. Diesen Beitrag teilen Link zum Beitrag
Oli Garch 27. Mai · bearbeitet 28. Mai von Oli Garch Fehler in Formel beseitigt Ariva ist eine ganz schlechte Idee. Ohne VBA-Makro lässt sich da nichts mehr auslesen und dann unheimlich langsam. Wenn schon mit Makro, dann doch besser mit der Onvista-API, das funktioniert recht flott. Aber wenn du ohne Makro auskommen willst, kenne ich neben Yahoo nur noch eine Quelle bei NTV. Die Seite ist so spartanisch aufgebaut, dass sie von der Excel Webdienst-Funktion verarbeitet werden kann. Und die geht so: Schreibe z. B. in Zelle J2 folgendes: =WEBDIENST("https://kursdaten.n-tv.de/teleboerse/webelements/suche.htn?suchbegriff="&C2) In Zelle C2 steht die ISIN des Wertpapiers. Da, wo der Kurs stehen soll (z. B. D2) folgendes eintragen: =TEIL(J2;FINDEN("icon_";J2)+FINDEN(">";TEIL(J2;FINDEN("icon_";J2);25));FINDEN("<";TEIL(J2;FINDEN("icon_";J2)+FINDEN(">";TEIL(J2;FINDEN("icon_";J2);25));25))-1)/1 Die Kurse aktualisieren sich nicht von selbst. Für Aktualisierung: STRG-ALT-F9. Ich hoffe aber, das die ING-API bald wieder läuft. Diesen Beitrag teilen Link zum Beitrag
schneire 28. Mai vor 18 Stunden von Oli Garch: Ariva ist eine ganz schlechte Idee. Ohne VBA-Makro lässt sich da nichts mehr auslesen und dann unheimlich langsam. Wenn schon mit Makro, dann doch besser mit der Onvista-API, das funktioniert recht flott... Hallo Oli, danke für deine Formel und Einschätzung zu Ariva. Bis vor einem Monat hatte ich täglich per Makro bei Ariva von 15 Wertpapier die Kurse und je 8 Performancedaten innerhalb von ca. 20 sek abgeholt. Das lief fast 2 Jahre ganz gut. Aber jetzt haben die die Kurs-Tabellen umgebaut und den Kurs kriege ich nicht mehr per Macro. Da ich den Code nicht erstellt habe und die scrapping-Position verändert ist kriege ich das auch nicht mehr alleine hin. Somit denke ich schon an den Umbau um würde mich freuen wenn du die NTV-Formel anpasst damit ich an die Kursperformance "Zeitraum Kurs % 1 Tag komme. Die anderen Zeiträume sollte ich schon wieder selbst hinbekommen. Diesen Beitrag teilen Link zum Beitrag
Oli Garch 28. Mai vor 4 Stunden von schneire: damit ich an die Kursperformance "Zeitraum Kurs % 1 Tag komme. Die anderen Zeiträume sollte ich schon wieder selbst hinbekommen. Und da liegt das Problem. Diese N-TV Kursseite (https://kursdaten.n-tv.de/teleboerse/webelements/suche.htn?suchbegriff=DE0005557508) beinhaltet nur den aktuellen Kurs und die Kursänderung zum Vortag, mehr nicht. Ich habe jetzt nochmal als Test mit Excel von Ariva von 4 Aktien die Kursdaten und dann jeweils die prozentuale Performance und die dazugehörigen Kurse von 4 verschiedenen Zeiträumen mittels VBA-Makro heruntergeladen. Für diese 12 Werte benötige ich etwa 17 Sekunden. Als Dauerlösung wäre mir das zu langsam. Dein bisheriger Code scheint ja etwas schneller zu sein. Vielleicht lässt der sich ja so umbauen, dass es wieder läuft. Diesen Beitrag teilen Link zum Beitrag
schneire 29. Mai Am 28.5.2024 um 18:28 von Oli Garch: dazugehörigen Kurse von 4 verschiedenen Zeiträumen mittels VBA-Makro heruntergeladen. Für diese 12 Werte benötige ich etwa 17 Sekunden. Als ich denke das geht doch schneller... Diesen Beitrag teilen Link zum Beitrag
CK-ONE 3. Juni · bearbeitet 3. Juni von CK-ONE Kurze Info noch für alle, die Cryptokurse einbinden wollen. Ich habe in den letzten Monaten gute Erfahrungen mit dieser API gemacht: https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=600 Viel Erfolg! Eine neue Frage noch an Oli Garch & alle anderen Experten: Gerne würde ich gerne Änderungen in der Rating-Bewertung abrufen. Könnt Ihr da eine Quelle empfehlen? Gefallen würde es mir, https://www.finanznachrichten.de/nachrichten/empfehlungen.htm auszuwerten. Dort die Tabelle "Aktien / Empfehlungen mit dem größten Kurspotenzial (letzte 90 Tage)". Leider komme ich aber per Excel-Scraping nicht an die Unterseiten 2-10 ran ... Diesen Beitrag teilen Link zum Beitrag
Oli Garch 10. Juni · bearbeitet 11. Juni von Oli Garch @CK-ONE War ein paar Tage im Urlaub und habe mir jetzt mal die Tabelle auf Finanznachrichten.de angesehen. Das Problem mit den nicht ladbaren Unterseiten hat mich schon gereizt. So etwas habe ich bisher noch nicht gemacht. Jetzt läuft es. Ich werde eine Excel-Datei anhängen. Da ist ein Auswahlfenster eingebaut, in dem Alles, Deutschland, Europa-ohne D. oder USA ausgewählt werden kann, so wie es auf der Internetseite auch funktioniert. Außerdem ist da noch ein Startbutton für das Makro. Hier erst einmal nur das Makro zum kopieren und schnell mal ausprobieren. Es ist nur minimal geändert, weil ich eine Kopfzeile für die Tabelle einbauen musste, die in der Excel-Tabelle bereits vorhanden ist. Das Makro ist mit der Liste der deutschen Empfehlungen voreingestellt, da keine Auswahlmöglichkeit vorhanden ist. Ich hoffe es funktioniert. Sub Empfehlungen() Dim mySheet As Worksheet Dim myTable As QueryTable Dim url As String Dim Seite As Integer Dim letzteSeite As Integer Dim letzteZeile As Integer Dim Liste As Integer 'UserForm1.Show 'If Abbruch = True Then Exit Sub Set mySheet = Sheets(1) 'Kopfzeile mySheet.Cells(1, 2).Value = "Aktie" mySheet.Cells(1, 3).Value = "Kurs" mySheet.Cells(1, 4).Value = "Ziel" mySheet.Cells(1, 5).Value = "Potenzial" mySheet.Cells(1, 6).Value = "Kaufen" mySheet.Cells(1, 7).Value = "Halten" mySheet.Cells(1, 8).Value = "Verkaufen" letzteZeile = mySheet.UsedRange.Rows.Count If letzteZeile < 2 Then letzteZeile = 2 mySheet.Range(Cells(2, 1), Cells(letzteZeile, 1)).EntireRow.Delete letzteSeite = 10 Liste = 1 letzteZeile = mySheet.UsedRange.Rows.Count For Seite = 1 To letzteSeite url = "https://www.finanznachrichten.de/w/184/4?tab=" & Liste & "&page=" & Seite Set myTable = mySheet.QueryTables.Add("URL;" & url, mySheet.Cells(letzteZeile + 1, 1)) With myTable .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingNone .WebDisableDateRecognition = True .Refresh (False) .Delete End With Columns("A:A").ColumnWidth = 25 Cells(1, 1).Select For i = 1 To 6 mySheet.Cells(letzteZeile + 1, 1).EntireRow.Delete Next letzteZeile = mySheet.UsedRange.Rows.Count If InStr(Cells(letzteZeile, 1).Value, "Seite") Then If InStr(Cells(letzteZeile, 1).Value, "Weiter") = False Then mySheet.Cells(letzteZeile, 1).EntireRow.Delete For i = 1 To letzteZeile mySheet.Cells(i, 1).Value = "" Next letzteZeile = mySheet.UsedRange.Rows.Count Exit Sub Else mySheet.Cells(letzteZeile, 1).EntireRow.Delete letzteZeile = mySheet.UsedRange.Rows.Count For i = 1 To letzteZeile mySheet.Cells(i, 1).Value = "" Next End If End If Next End Sub Empfehlungen.xlsm Diesen Beitrag teilen Link zum Beitrag