Das mit Huobi finde ich interessant. Die wollen sich einfach nicht in die Karten schauen lassen.
Das mit dem Bucket Shop verstehe ich allerdings nicht ganz. Bei dem Begriff denke ich zum Beispiel an 1broker, wo die eigenen Trades nicht den Markt beeinflussen, sondern nur auf dem Bucket Shop stattfinden. Man wettet quasi gegen das Haus, bzw auf einen steigenden oder fallenden Kurs.
Bittrex ist wohl am präsentesten auf meiner Website. Einfach, weil davon auch Visualisierungen implementiert sind. Im Hintergrund aber werden noch viele andere APIs abgefragt und ausgewertet, wie etwa BTC-e, Coinmarketcap.com, diverse BTC Chartseiten, 1broker, Twitter und sicherlich noch einige, die ich vergessen habe.
Es ist schon sehr viel interessantes Material, welches ich auch wirklich mal langsam auswerten sollte.
Oder, wie es LimxDev iirc vorgeschlagen hat, der Öffentlichkeit zur Verfügung stellen. Vielleicht entwickelt sich ja das eine oder andere interessante Projekt drum herum.
Huobi bietet eine Rest API an die auch so die letzten 10 Trades enthält. Mit dem Websocket bekommst du Orderbücher und Trades als Datenstrom mit so 50Kb/s die wären komplett. Vielleicht sind die Transparenter wenn der ansaugende Rechner in Peking steht und wollen nur keinen Datenstrom über die Große Firewall raus ins Ausland.
Boiler Room = Twitter, Bucket Shop = Bittrex. Früher lief das noch per Telefon, "Pinks" im Outbound verhökern. Filmtip "Wolf of Wallstreet"
Was zapfst du denn aus Coinmarketcap.com raus? Benutze das als BTC Referenzkurs gewichtet nach Umsatz über alle Tradesites
if(! file_exists($cache) || filemtime($cache) + (4 * 60 * 60) < time() || filesize($cache) <= 1024)
{
$webpage = retrieveURL("https://coinmarketcap.com/exchanges/volume/24-hour/");
file_put_contents($cache, $webpage);
}
else
$webpage = file_get_contents($cache);
preg_match_all('/BTC\/'.$waehrung.'.+? volume" .+? data-btc="([0-9.\?]+)".+? price" data-usd="([0-9.\?]+)"/s', $webpage, $found, PREG_SET_ORDER);
$Kurs = 0;
$Volume = 0;
foreach($found as $hit) //das Gesamtgewicht, um die einzelnen Gewichtungen beurteilen zu können
$Volume += (float) $hit[1]; //falls ein Gewicht == "?" ist sollte das als 0 nicht ins Gewicht fallen
foreach($found as $hit)
{
//~ daten1 * gewichtung1 + daten2 * gewichtung2 + ... + datenN * gewichtungN
//~ wenn (float) $var == 0 ist wird halt 0 dazuaddiert!
$Kurs += (float) $hit[2] * ((float) $hit[1] / $Volume);
}
//~ print "der Kurs ergibt sich aus Daten über ein Volumen von ".$Volume." BTC\n";
return round($Kurs, 8, PHP_ROUND_HALF_EVEN);
Und über die Daten der Europäischen Zentralbank hast du dann die Umrechnungskurse in alle anderen Währungen (Beispielcode, nicht von mir)
//This is a PHP(4/5) script example on how eurofxref-daily.xml can be parsed
//Read eurofxref-daily.xml file in memory
//For this command you will need the config
//option allow_url_fopen=On (default)
$XMLContent=file("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
//the file is updated daily between 2.15 p.m. and 3.00 p.m. CET
foreach($XMLContent as $line){
if(preg_match("/currency='([[:alpha:]]+)'/",$line,$currencyCode)){
if(preg_match("/rate='([[:graph:]]+)'/",$line,$rate)){
//Output the value of 1EUR for a currency code
echo'1€='.$rate[1].' '.$currencyCode[1].'
'."\n";
//--------------------------------------------------
//Here you can add your code for inserting
//$rate[1] and $currencyCode[1] into your database
//--------------------------------------------------
}
}
}
Ja, vielleicht.