[PYTHON] Anfänger machen einen automatischen Bitcoin-Handelsbot, der viel Geld anstrebt! Teil 2 [Transaktion mit API]

Anfänger machen einen automatischen Bitcoin-Handelsbot, der viel Geld anstrebt! Es ist eine Fortsetzung von Teil 1.

Dieses Mal möchte ich die API ** verschieben, für die Authentifizierungsinformationen erforderlich sind, und tatsächlich eine Transaktion ✧ + (0 ° ・ ∀ ・) + wktk✧ durchführen Ich werde die Bewegung sofort überprüfen.

Überprüfung

API, für die Anmeldeinformationen erforderlich sind: Führen Sie ** ZaifPrivateApi ** aus. Dieses Mal haben wir die Informationserfassung (get_info ()) und die Transaktion (trade ()) überprüft.

0. Vorbereitung

Diese API erfordert zwei Schlüssel, Schlüssel und Geheimnis. Erstellen Sie sie daher mit ** zaif **.

  1. Registrieren Sie sich als neuer Benutzer in zaif und melden Sie sich an

  2. Wählen Sie das Konto oben rechts aus Capture.PNG

  3. Wählen Sie API KEY of API für Entwickler Capture 5.PNG

  4. Wählen Sie Bestätigungscode abrufen Capture 2.PNG

  5. Ein 6-stelliger Code wird an die registrierte E-Mail-Adresse gesendet. Geben Sie ihn ein. Capture 3.PNG

  6. Geben Sie den Namen des Schlüssels ein und wählen Sie die Berechtigung aus, die dem Schlüssel zugeordnet werden soll (Linkinfo, Handel). Capture 4.PNG

  7. Drücken Sie auf Erstellen, um den Schlüssel zu generieren

  8. Erstellen Sie eine Kopie des Schlüsselschlüssels und des Geheimnisses und notieren Sie diese.

1. 1. Informationsbeschaffung

** 0. Verwenden Sie den in Vorbereitung ** erstellten Schlüssel und das Geheimnis, um Transaktionsinformationen abzurufen.

main.py


# -*- coding: utf-8 -*-

from zaifapi import ZaifPrivateApi  #Eine Klasse, die eine API ausführt, für die von Zaif veröffentlichte Anmeldeinformationen erforderlich sind
from pprint import pprint  #Zur Ausstellung(Es zeigt json ordentlich an)

if __name__ == '__main__':
    key = '[Schlüssel in Vorbereitung erstellt]'
    secret = '[Geheimnis in Vorbereitung erstellt]'

    zaif = ZaifPrivateApi(key, secret)
    pprint(zaif.get_info())

■ Ausführungsergebnis

python


{u'deposit': {u'btc': 0.0, u'jpy': 0.0, u'mona': 0.0, u'xem': 0.0},
 u'funds': {u'btc': 0.0, u'jpy': 0.0, u'mona': 0.0, u'xem': 0.0},
 u'open_orders': 0,
 u'rights': {u'info': 1, u'personal_info': 0, u'trade': 0, u'withdraw': 0},
 u'server_time': 1491068366,
 u'trade_count': 0}

Ich habe die Einzahlung, das Geld, die Anzahl der Aufträge (open_orders), die Autoritätsinformationen (Rechte) und die Anzahl der Trades (trade_count) erhalten. Es scheint, dass eine leichtgewichtige Version von get_info2 () verfügbar ist, die nicht die Anzahl der Trades erhält.

2. Handel

Übrigens, wenn das Aufwärmen vorbei ist, ist es das heutige Hauptgericht "** Trading **".

Ich werde ungefähr 1.000 Yen für den Transaktionstest einsetzen. Es gab keine Kreditkartenzahlung im Menü "Einzahlung / Auszahlung in japanischen Yen" Kaufen Sie Bitcoin direkt bei Bitcoin mit Kreditkarte kaufen. キャプチャ6.PNG

Geben Sie die erforderlichen Informationen ein und kaufen Sie. Ich habe es sicher gekauft! ヾ (o´∀`o) ノ キャプチャ7.PNG

** ··· Hmm? ** **. キャプチャ8.PNG Es scheint, dass ungefähr 7,6% als Gebühr genommen wurden ... (´ ・ ω ・ `)

Da es sich um den niedrigsten Kaufpreis handelt, ist die Gebühr wahrscheinlich relativ hoch ... Gewinnen Sie Ihren Verstand zurück und gehen Sie zur Überprüfung des Handels (`・ ω ・ ´)

2-1. Handel (Verkauf von Bitcoin)

Dokument besagt, dass Sie das Währungspaar, die Aktion, den Preis und den Betrag übergeben sollten. キャプチャ10.PNG

Stellen Sie jeden Wert in der richtigen Reihenfolge ein. Verkaufe alle deine Bitcoin (0.0076btc). Geben Sie für den Verkaufspreis den aktuellen Bitcoin-Preis von 121.800 Yen an. キャプチャ9.PNG ... Ich bin verärgert. Wenn das Argument falsch ist.

python


TypeError: trade() takes exactly 1 argument (5 given)

Wenn ich den Fehler auf der Konsole überprüfe, wird gesagt, dass ich 5 übergebe, obwohl nur 1 eingegeben wurde. (Das Dokument besagt, dass 4 Parameter erforderlich sind. Ich übergebe 4 Parameter ...)

Nach einer Weile löste der Vorfahr das Problem. (Danke. Es war sehr hilfreich.) Anscheinend war die Art und Weise, die Parameter anzugeben, falsch. キャプチャ11.PNG

main.py


# -*- coding: utf-8 -*-

from zaifapi import ZaifPrivateApi  #Eine Klasse, die eine API ausführt, für die von Zaif veröffentlichte Anmeldeinformationen erforderlich sind
from pprint import pprint  #Zur Ausstellung(Es zeigt json ordentlich an)

if __name__ == '__main__':
    key = '[Schlüssel in Vorbereitung erstellt]'
    secret = '[Geheimnis in Vorbereitung erstellt]'

    zaif = ZaifPrivateApi(key, secret)
    #Bitcoin verkaufen
    pprint(zaif.trade(currency_pair="btc_jpy", action="ask", price=121800, amount=0.0076))

■ Ausführungsergebnis

python


{u'funds': {u'btc': 0.0, u'jpy': 925.946, u'mona': 0.0, u'xem': 0.0},
 u'order_id': 0,
 u'received': 925.946,
 u'remains': 0.0}

Es bewegte sich ~ ヾ (゚ ω ゚ *) ノ Es ist erfolgreich, weil btc 0 wird und jpy zunimmt.

2-2. Handel (Kauf von Bitcoin)

Nachdem wir Bitcoin verkauft haben, werden wir versuchen, Bitcoin auf die gleiche Weise zu kaufen. Ich werde so viel Bitcoin wie möglich mit dem japanischen Yen kaufen, den ich habe (925,946 Yen). Der Kaufbetrag berechnet sich aus Ihrem Geldbetrag (925 Yen) und dem aktuellen Preis von 1 Bitcoin (122.210 Yen).

main.py


# -*- coding: utf-8 -*-

from zaifapi import ZaifPrivateApi  #Eine Klasse, die eine API ausführt, für die von Zaif veröffentlichte Anmeldeinformationen erforderlich sind
from pprint import pprint  #Zur Ausstellung(Es zeigt json ordentlich an)

if __name__ == '__main__':
    key = '[Schlüssel in Vorbereitung erstellt]'
    secret = '[Geheimnis in Vorbereitung erstellt]'

    zaif = ZaifPrivateApi(key, secret)

    #Aktueller Preis von 1 Bitcoin
    price = 122210

    #Da die API bis zu 4 Nachkommastellen unterstützt, runden Sie()
    #Wenn die 5. Stelle nach oben verschoben wird, besteht ein Mangel an Vermögenswerten.(- 0.0001)
    amount = round(925.0/price, 4) - 0.0001

    #Bitcoin kaufen
    pprint(zaif.trade(currency_pair="btc_jpy", action="bid", price=price, amount=amount))

■ Ausführungsergebnis

python


{u'funds': {u'btc': 0.0075, u'jpy': 9.4085, u'mona': 0.0, u'xem': 0.0},
 u'order_id': 0,
 u'received': 0.0075,
 u'remains': 0.0}

Ich habe 0,0075 Bitcoin ヾ (゚ ω ゚ *) ノ gekauft Der japanische Yen bleibt 9,4805 Yen, aber es scheint, dass es keine Hilfe für die Spezifikationen unterhalb der Mindesteinheit von 0,0001 Bitcoin (12,221 Yen) gibt.

2-3. Über andere Methoden von ZaifPrivateApi

Zusätzlich zu den überprüften Methoden get_info (), get_info2 () und trade () werden die folgenden Methoden bereitgestellt. [Details]

 - get_personal_info :
 - get_id_info :
 - trade_history :
 - active_orders :
 - cancel_order :
 - withdraw :
 - deposit_history :Persönliche Informationen wie Benutzer-ID und E-Mail-Adresse abrufen Transaktionsverlauf abrufen Liste der aktuell gültigen Bestellungen abrufen Bestellung stornieren Auszahlungsanfrage für Kryptowährung stellen Einzahlungsverlauf abrufen
 - withdraw_history :Abhebungsverlauf abrufen

abschließend

Dieses Mal konnte ich ** Transaktionsinformationen ** und ** Transaktion ** erhalten! ヽ (* ´∀ `) Acht (´∀ ` *) ノ Ich bin auf dem Weg gestolpert, aber ich bin froh, dass ich mich sicher bewegt habe. Nachdem wir die Informationen erhalten und die Transaktion überprüft haben, Kombinieren Sie das nächste Mal den diesmal verifizierten Inhalt und wiederholen Sie "Informationen abrufen ▶ Verkaufen / Kaufen ▶ Zurück zum Anfang". Ich möchte etwas schaffen, das ohne Erlaubnis gehandelt wird. ** Ich denke, wir können endlich etwas namens Bot machen ...! !! Ich erwarte **.

Danke für deine harte Arbeit! !!

Recommended Posts

Anfänger machen einen automatischen Bitcoin-Handelsbot, der viel Geld anstrebt! Teil 2 [Transaktion mit API]
Anfänger machen einen automatischen Bitcoin-Handelsbot, der viel Geld anstrebt! Teil 3 [Lokaler Bot]
Anfänger machen einen automatischen Bitcoin-Handelsbot, der viel Geld anstrebt! Teil 4 [Serverlos]
Anfänger machen einen automatischen Bitcoin-Handelsbot, der viel Geld anstrebt! Teil 3 [Lokaler Bot]
Anfänger machen einen automatischen Bitcoin-Handelsbot, der viel Geld anstrebt! Teil 4 [Serverlos]
Anfänger machen einen automatischen Bitcoin-Handelsbot, der viel Geld anstrebt! Teil 2 [Transaktion mit API]
Nachdem Sie mit Python auf die Qiita-API geklickt haben, um eine Liste mit Artikeln für Anfänger zu erhalten, werden wir die Artikel von God besuchen
(Für Anfänger) Versuchen Sie, mit Django eine einfache Web-API zu erstellen
FX automatischer Handel mit genetischem Algorithmus Teil 3 Tatsächlicher Handel mit Oanda API
Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 1 erstellen
Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 2 erstellen
[Lass uns mit Python spielen] Ziel ist die automatische Satzgenerierung ~ Abschluss der automatischen Satzgenerierung ~
[Einführung] Ich möchte mit Python einen Mastodon-Bot erstellen! 【Anfänger】
Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 3 erstellen
Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 4 erstellen
Ist es möglich, ein Pre-Listing-Unternehmen zu gründen und mit Aktienoptionen ein Vermögen zu machen?
Ich habe ein Leben mit viel "Glück" geführt. [Verwenden Sie die COTOHA API, um "menschliche Disqualifikation" "glücklich" zu machen]
Erstellen Sie einen Twitter-BOT-Dienst mit der GAE / P + Tweepy + RIOT-API! (Teil 1)
Erstellen Sie einen Twitter-BOT-Dienst mit der GAE / P + Tweepy + RIOT-API! (Teil 2)
Python-Anfänger haben beschlossen, einen LINE-Bot mit Flask zu erstellen (Flask-Kommentar)
Ich habe versucht, "Sakurai-san" LINE BOT mit API Gateway + Lambda zu erstellen