Da gab es von einem gewissen pitti auch mal ein Script , dass die Börsenkurse und Charts | tagesschau.de abfragt und den Kurs rausfiltert. Das scheint aus der gleichen Zeit zu sein 2.1.20180319.
Das läuft bei mir schon ewig.
Da gab es von einem gewissen pitti auch mal ein Script , dass die Börsenkurse und Charts | tagesschau.de abfragt und den Kurs rausfiltert. Das scheint aus der gleichen Zeit zu sein 2.1.20180319.
Das läuft bei mir schon ewig.
Genau so ist es, aber es nutzt google
Script ist weiter oben zu finden
Gruß HEiko
Ups, da habe ich wohl mal etwas angepasst, weil es irgendwann oder für irgendwas nicht funktioniert hat.
BASIS war
Scriptbezeichnung: Online.StockExchange.ips.php
Ich werde alt.
Das ist ja das geile an Scripten - die schnelle Möglichkeit an Individualisierung
Irgendwer hat eine Idee und dann entwickelt sich daraus was ganz individuelles oder eben allgemeingültiges
Gruß Heiko
Lieben Dank für das tolle Script.
So kann ich mich nun jeden Morgen und Abend freuen, wenn ich aufs Steuer ipad schaue
Zumindest solange BTC weiter so steil nach oben geht
Tja, mal gewinnt man und mal … habens die Anderen. Oder so!
Hallo Pitti,
ich habe gerade mal versucht das Börsenskript einzurichten. Die Var werden zwar angelegt, aber bleiben auf null.
meine Beispieleinträge:
ist das richtig so?
Gruß
Oliver
Hallo Oliver,
kann ich ad-hoc so nicht beantworten - zeig mal dein Objektbaum!
… ist der Timer schon mal gelaufen? Da werden dann erst die Daten versucht zu holen.
Ein normales ausführen des Skriptes legt erstmal nur die notwendigen Variablen und Timer an!
Gruß HEiko
Hallo Heiko,
Timer habe ich noch keinen angelegt, ich habe das Skript nur mehrfach manuell gestartet. Gibt es da einen Unterschied?
Gruß
Oliver
Jein, ich sehe gerade das Script legt selbständig keinen Timer an!
Leg doch einfach mal einen Timer mit Deiner gewünschten Zeiten an und schau was passiert!
Ich z.B. habe einen Timer für Mo-Fr von 9 - 18 Uhr aller 15 min angelegt …
Gruß Heiko
Hallo,
ich habe jetzt mal alle 1 Min. per Ereignis abgfragt, hat sich aber nichts geändert. der Array ist vom Aufbau so korrekt wie ich es angelegt habe?
Gruß
Oliver
Ja, die WKNs sind falsch - jedenfalls für Google
1.) keine Leerzeichen verwenden FRA: 514000 => FRA:514000!
2.) Deutsche Bank wäre „FRA: DBK“
Such mal Deine WKNs auf der Seite => https://www.google.com/finance/
und trag die dann ein!
Gruß HEiko
hat leider auch nichts gebracht:
immer noch alles drei auf „0“
Gruß
Oliver
wird alle 1 Minute ausgeführt
Der tatsächliche Aufruf, damit das Script die Seite parsen kann sollte ja
sein.
Ist das so?
Der Quellcode sieht auch komisch aus, haben sich eventuell Strukturen Inhalte bei der Google-Seite verändert?
Ich habe das Script für mich angepasst und nutze
das funktioniert bei mir noch.
Hi Ralf,
Nein, der Aufruf ist bei mir => FRA:DBK - Google Search
Das Script ist ja auch schon echt alt und für meine Aktien tut es noch. Kannst ja Deine Variante mal veröffentlichen. Vielleicht hilft es ja Oliver!
Gruß Heiko
<?
################################################################################
# BASIS war
# Scriptbezeichnung: Online.StockExchange.ips.php
# Version: 2.1.20180319
# Author: Heiko Wilknitz (@Pitti)
#
# Installation:
# - WKN-Array unter Konfiguration mit den entsprechenden Werten befüllen
# - Script in der Konsole ausführen
#
# ------------------------------ Konfiguration ---------------------------------
#
$wkn = array(
"lu0274208692-3027744" => "Xtrackers MSCI World", // Xtrackers MSCI World Swap UCITS ETF 1C
"ie00b4x9l533-15120378" => "HSBC MSCI World", // HSBC MSCI WORLD UETF
"ie00b5ssqt16-97893415" => "HSBC MSCI Emerging Markets" // HSBC MSCI Emerging Markets Ucits ETF
);
#
# ----------------------------------- ID´s -------------------------------------
#
#
################################################################################
if ($_IPS['SENDER'] == "Execute") {
// ID des ArchiveHandler ermitteln
$instances = IPS_GetInstanceListByModuleID('{43192F0B-135B-4CE7-A0A7-1475603F3060}');
$id_archive_handler = $instances[0];
// pro WKN eine Variable
foreach($wkn as $ident => $name) {
$vid = CreateVariableByName($_IPS['SELF'], $name, 2 /*Float*/);
IPS_SetInfo($vid, $ident);
IPS_SetIcon($vid, "Graph");
AC_SetLoggingStatus($id_archive_handler, $vid, true);
}
}
if($_IPS['SENDER'] == "TimerEvent") {
// alle untergeordneten Objekt einsammeln
$ids = IPS_GetChildrenIDs($_IPS['SELF']);
//echo print_r($ids);
foreach ($ids as $id) {
// for each Wertkennzeichen daten holen
$array = IPS_GetObject($id);
// Float-Variable?
if ($array['ObjectType'] == 2) {
$url = 'https://www.tagesschau.de/wirtschaft/boersenkurse/'.$array['ObjectInfo'].'/';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
$page = curl_exec($curl);
curl_close($curl);
$stock = GetMark($page, '<span class="price">*<span class="priceCurrency">');
$dec = ToFloat($stock);
// IPS_LogMessage("BOERSE", $dec);
$old = GetValueFloat($id);
$diff = ($old-$dec);
If (($diff*-1) > 0) {
// SetValue(12448, "Starke Kursabweichung! (" . IPS_GetName($_IPS['SELF']).")\n\n". $array['ObjectInfo'] . ", DIFF: " . sprintf('%0.3f', $diff) . ", ALT: " . $old . ", NEU: ". $dec);
// SetValue(35286, 'PopMeldungen');
}
if (($old <> $dec) AND ($dec > 0)) {
SetValueFloat($id, $dec);
}
}
}
}
# ------------------------------ Funktionen ------------------------------------
function CreateVariableByName($id, $name, $type)
{
$vid = @IPS_GetVariableIDByName($name, $id);
if($vid===false) {
$vid = IPS_CreateVariable($type);
IPS_SetParent($vid, $id);
IPS_SetName($vid, $name);
}
return $vid;
}
function CreateEventByName($id, $name, $type)
{
$eid = @IPS_GetEventIDByName($name, $id);
if($eid===false) {
$eid = IPS_CreateEvent($type);
IPS_SetParent($eid, $id);
IPS_SetName($eid, $name);
}
return $eid;
}
// Diese Funktion trennt die relevanten Bereiche aus dem Ausschnitt heraus
// $string ist dabei der zu durchsuchende Gesamtstring,
// in $Mark sind durch "*" getrennt der Beginn des zu suchenden Strings
// und das Ende des zu suchende Abschnittes.
// Beispiel für den Text "<div>*</div></li>"
function GetMark($string, $mark) {
$find = explode("*",$mark);
$lens = strlen($find[0]);
$lene = strlen($find[1]);
$start = strpos($string, $find[0]);
$stop = strpos($string, $find[1], $start+$lens);
$inner = substr($string, $start+$lens, $stop-$start-$lens);
return $inner;
}
// Umwandlung einer Zahlenrepräsentations als String in eine echte Gleitkommazahl
function ToFloat($str) {
if(strstr($str, ",")) {
$str = str_replace(".", "", $str); // replace dots (thousand seps) with blancs
$str = str_replace(",", ".", $str); // replace ',' with '.'
}
return $str; // take some last chances with floatval
}
Die DBK müsste z.B.
https://www.tagesschau.de/wirtschaft/boersenkurse/**deutsche-bank-aktie-514000**/
der Teil für das Array sein.
Cool - super. Danke! Kann man irgendwie die Börse mit übergeben/vorauswählen?
Also anstatt Xetra => Frankfurt?
Super, damit hab ich Werte bekommen, danke Euch