Zum Inhalt springen

Kurse nur einzeln abfragen?


holg

Empfohlene Beiträge

Hallo, 

 

ich kann gar nicht glauben wie limitiert die API ist, nun es ist wohl simpel nur fürs Trading gedacht.

Aktuell schreibe ich ein python script, welches die Kurse abfragt und in eine Exceltabelle einträgt samt Chart.

Dazu muss ich jedoch über alle coins, welche ich habe iterieren und verbrauche jede Menge credits.

 

        conn = btcde.Connection(self.api_key, self.api_secret)
        info = conn.showAccountInfo()
        self.balances = info.get('data').get('balances')
        self.current_values = {}
        for crid, value in self.balances.items():
            try:
                self.current_values[crid] = conn.showRates(crid + 'eur')
                self.current_values[crid]['balance'] = value.get('total_amount')

            except Exception as e:
                self.current_values[crid] = e

Die Credits gehen halt drauf für die showRates Aufrufe, das finde ich schon recht merkwürdig.
Übersehe ich was?

Ich würde mich halt gerne an die bitcoin.de Kurse orientieren, klar mit einer anderen API z.B. HitBTC bekomme ich die ganzen Kurse mit einem einzigen Aufruf,
ohne Credits zu verbrauchen, ja gar ohne API-Keys, schließlich sind die Kurse ja eh online auch unangemeldet...

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb holg:

Ich würde mich halt gerne an die bitcoin.de Kurse orientieren

Da Bitcoin.de ein "Marktplatz" ist bei dem nicht wie bei "Exchanges" die Buy- und Sell-Order gematcht werden kann nur ein Durchschnittskurs über die letzten x Stunden gebildet werden.

Es gibt somit keinen "aktuellen Kurs".

Daher kannst du bei den Credits das auch so managen, dass du zwischen den Aufrufen ein "sleep" einbaust um deine Credits wieder auffüllen zu lassen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb Jokin:

Da Bitcoin.de ein "Marktplatz" ist bei dem nicht wie bei "Exchanges" die Buy- und Sell-Order gematcht werden kann nur ein Durchschnittskurs über die letzten x Stunden gebildet werden.

Es gibt somit keinen "aktuellen Kurs".

Daher kannst du bei den Credits das auch so managen, dass du zwischen den Aufrufen ein "sleep" einbaust um deine Credits wieder auffüllen zu lassen.

Schon klar, aber es ist auch der Marktplatz an dem ich kaufe und verkaufe.

Kurs, naja es ist halt der aktuelle Kurs auf halt diesem Marktplatz und genau dieser interessiert mich.

Es ist auch kein sleep notwendig:

Die Credits reichen nicht mal für 1 mal pro Stunde, alle Kurse abrufen und mit der eigenen Balance auszuwerten.

Ich wollte das eigentlich auch OpenSource machen, eigentlich eine nette Spielerei, automatisch mit Charts eine Exceltabelle auf den laufenden zu halten,

aber nun gut geht dann halt nur alle 2h, und nun beim entwickeln muss man ja schon auch noch mal was extra abfragen, da geht dann also an dem Entwicklertag ansonsten nichts mehr mit der API.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb holg:

Die Credits reichen nicht mal für 1 mal pro Stunde, alle Kurse abrufen und mit der eigenen Balance auszuwerten.

Verstehe ich nicht...

Account Info: 2 Credits

ShowRates: 7 x 3 Credits bzw 11 x 3 Credits

Macht 23 bzw 35 Credits.

35 Credits erholen sich in 35s. Du kannst das also ohne weiteres einmal in der Minute machen. 

 

Abgesehen davon gibt es bei bitcoin.de wie schon erwähnt keinen "Kurs", sondern nur einen durchschnittlichen Kurs der letzten Transaktionen. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 48 Minuten schrieb fox42:

35 Credits erholen sich in 35s. Du kannst das also ohne weiteres einmal in der Minute machen. 

 

Abgesehen davon gibt es bei bitcoin.de wie schon erwähnt keinen "Kurs", sondern nur einen durchschnittlichen Kurs der letzten Transaktionen. 

Naja die 35 reichen halt nicht, um parallel zu testen.

Ich habe jetzt dann doch time.sleep(3) eingebaut, so daß sich die credits wieder füllen,

werde jetzt noch einbauen, daß ich die credits aus der Antwort noch auswerte, um die Sache maximal zu beschleunigen.
Da ich jedoch die Daten gesammelt dumpe, muss ich halt noch einbauen, daß ich jeweils das datetime object noch granularen wegzuschreiben,
nicht halt einfach beim init mit der aktuellen Zeit zu setzen...
Letztlich sage ich ja nur, daß es unangenehm ist über alle Coins zu iterieren und jeweils einen Abruf zu starten, speziell wenn man dann deswegen
die Anfragen drosseln muss...

Ja kein Kurs, aber mich interessiert halt der durchschnittliche Kurs der letzten Transaktionen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wer einen aktuellen Kurs erhalten will, muss erstmal verstehen, dass es nicht "den einen" Kurs je Währung gibt sondern es gibt zwei Kurse.

Einen Kauf- und einen Verkauf-Kurs. Der Verkaufkurs ist dabei grundsätzlich der niedrigere Kurs.

Diese beiden Kurse sind zudem abhängig vom beabsichtigten Handelsvolumen. Je weniger liquide das Orderbuch ist desto weiter sinkt der Verkaufkurs, bzw. steigt der Kaufkurs.

Bei bitcoin.de muss man zudem alle Angebote ausklammern, die man selbst nicht annehmen kann.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 31 Minuten schrieb Jokin:

Wer einen aktuellen Kurs erhalten will, muss erstmal verstehen, dass es nicht "den einen" Kurs je Währung gibt sondern es gibt zwei Kurse.

Einen Kauf- und einen Verkauf-Kurs. Der Verkaufkurs ist dabei grundsätzlich der niedrigere Kurs.

Diese beiden Kurse sind zudem abhängig vom beabsichtigten Handelsvolumen. Je weniger liquide das Orderbuch ist desto weiter sinkt der Verkaufkurs, bzw. steigt der Kaufkurs.

Bei bitcoin.de muss man zudem alle Angebote ausklammern, die man selbst nicht annehmen kann.

Sorry, aber das ist doch off-topic.
Das hat mit dem Thema doch nichts zu tun: Ich rede hier von der Trading-API und wie man die verbessern könnte.
Da ich schon erfolgreich auf bitcoin.de gehandelt habe, traue ich mir zu obiges selbst beurteilen zu können.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.