[PYTHON] Les débutants créeront un bot de trading automatique Bitcoin visant beaucoup d'argent! Partie 2 [Transaction avec API]

Les débutants créeront un bot de trading automatique Bitcoin visant beaucoup d'argent! C'est une continuation de la partie 1.

Cette fois, je voudrais déplacer l'API ** qui nécessite des informations d'authentification et effectuer une transaction ✧ + (0 ° ・ ∀ ・) + wktk✧ Je vérifierai le mouvement immédiatement.

Vérification

API qui nécessite des informations d'identification: exécutons ** ZaifPrivateApi **. Cette fois, nous avons vérifié l'acquisition d'informations (get_info ()) et la transaction (trade ()).

0. Préparation

Cette API nécessite deux clés, clé et secrète, alors créez-la avec ** zaif **.

  1. Inscrivez-vous en tant que nouvel utilisateur dans zaif et connectez-vous

  2. Sélectionnez le compte en haut à droite Capture.PNG

  3. Sélectionnez la clé API de l'API pour les développeurs Capture 5.PNG

  4. Sélectionnez obtenir le code de vérification Capture 2.PNG

  5. Un code à 6 chiffres sera envoyé à l'adresse e-mail enregistrée, alors saisissez-le. Capture 3.PNG

  6. Entrez le nom de la clé et sélectionnez l'autorité à associer à la clé (lien info, commerce) Capture 4.PNG

  7. Appuyez sur créer pour générer la clé

  8. Faites une copie de chaque clé et de chaque clé secrète et notez-les.

1. 1. Acquisition d'informations

** 0. Utilisez la clé et le secret créés lors de la préparation ** pour obtenir des informations sur la transaction.

main.py


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

from zaifapi import ZaifPrivateApi  #Une classe qui exécute une API qui nécessite des informations d'identification publiées par Zaif
from pprint import pprint  #Pour l'affichage(Il affiche json proprement)

if __name__ == '__main__':
    key = '[Clé créée en préparation]'
    secret = '[Secret créé en préparation]'

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

■ Résultat de l'exécution

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}

J'ai reçu le dépôt, les fonds, le nombre de commandes (open_orders), les informations d'autorité (droits) et le nombre de transactions (trade_count). Il semble qu'une version allégée de get_info2 () qui n'obtient pas le nombre de transactions soit également disponible.

2. Commerce

Au fait, lorsque l'échauffement est terminé, c'est le plat principal du jour "** Trading **".

Je mettrai environ 1 000 yens pour le test de transaction. Il n'y avait pas de paiement par carte de crédit dans le menu "Dépôt / retrait en yens japonais". Achetez Bitcoin directement depuis Acheter Bitcoin avec carte de crédit. キャプチャ6.PNG

Entrez les informations requises et achetez. Je l'ai acheté en toute sécurité! ヾ (o´∀`o) ノ キャプチャ7.PNG

** ··· Hmm? ** ** キャプチャ8.PNG Il semble qu'environ 7,6% ont été pris comme frais ... (´ ・ ω ・ `)

Puisqu'il s'agit du prix d'achat le plus bas, les frais sont probablement relativement élevés ... Reprenez votre esprit et allez à la vérification du commerce (`・ ω ・ ´)

2-1. Commerce (vente de Bitcoin)

Document indique que vous devez transmettre le currency_pair, l'action, le prix et le montant. キャプチャ10.PNG

Définissez chaque valeur dans le bon ordre. Vendez tout votre Bitcoin (0.0076btc). Pour le prix de vente, spécifiez le prix Bitcoin actuel de 121800 ¥. キャプチャ9.PNG ... Je suis en colère. Si l'argument est faux.

python


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

Quand je vérifie l'erreur sur la console, on dit que je passe 5 même si seulement 1 est entré. (Le document dit que 4 paramètres sont requis. J'en passe 4 ...)

Quand je suis allé partout, l'ancêtre l'a résolu. (Merci. Cela a été très utile.) Apparemment, la manière de spécifier les paramètres était erronée. キャプチャ11.PNG

main.py


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

from zaifapi import ZaifPrivateApi  #Une classe qui exécute une API qui nécessite des informations d'identification publiées par Zaif
from pprint import pprint  #Pour l'affichage(Il affiche json proprement)

if __name__ == '__main__':
    key = '[Clé créée en préparation]'
    secret = '[Secret créé en préparation]'

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

■ Résultat de l'exécution

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}

Il a bougé ~ ヾ (゚ ω ゚ *) ノ Il réussit car btc devient 0 et jpy augmente.

2-2. Commerce (achat de Bitcoin)

Maintenant que nous avons vendu Bitcoin, nous allons essayer d'acheter Bitcoin de la même manière. J'achèterai autant de Bitcoin que possible avec le yen japonais que j'ai (925,946 ¥). Le montant de l'achat est calculé par le montant d'argent dont vous disposez (925 ¥) ÷ le prix actuel de 1 bitcoin (122 210 ¥).

main.py


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

from zaifapi import ZaifPrivateApi  #Une classe qui exécute une API qui nécessite des informations d'identification publiées par Zaif
from pprint import pprint  #Pour l'affichage(Il affiche json proprement)

if __name__ == '__main__':
    key = '[Clé créée en préparation]'
    secret = '[Secret créé en préparation]'

    zaif = ZaifPrivateApi(key, secret)

    #Prix actuel de 1 Bitcoin
    price = 122210

    #Étant donné que l'API prend en charge jusqu'à 4 chiffres après la virgule décimale, arrondissez()
    #Si le 5e chiffre est remonté, il y aura une pénurie d'actifs.(- 0.0001)
    amount = round(925.0/price, 4) - 0.0001

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

■ Résultat d'exécution

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}

J'ai acheté 0,0075 Bitcoin ヾ (゚ ω ゚ *) ノ Le yen japonais reste 9,4805 ¥, mais il semble qu'il n'y ait aucune aide pour les spécifications inférieures à l'unité minimale de 0,0001 Bitcoin (12,221 ¥).

2-3. À propos des autres méthodes de ZaifPrivateApi

En plus des méthodes vérifiées get_info (), get_info2 () et trade (), les méthodes suivantes sont fournies. [Détails]

 - get_personal_info :Obtenez le pseudo et l'URL de l'image utilisés pour le chat
 - get_id_info :Obtenez des informations personnelles telles que l'identifiant d'utilisateur et l'adresse e-mail
 - trade_history :Obtenir l'historique des transactions
 - active_orders :Obtenez une liste des commandes actuellement valides
 - cancel_order :Annuler une commande
 - withdraw :Faire une demande de retrait de crypto-monnaie
 - deposit_history :Obtenir l'historique des dépôts
 - withdraw_history :Obtenez l'historique des retraits

en conclusion

Cette fois, j'ai pu ** obtenir des informations de transaction ** et ** transaction *! ヽ ( ´∀ `) Huit (´∀ ` *) ノ J'ai trébuché en chemin, mais je suis content d'avoir déménagé en toute sécurité. Maintenant que nous avons obtenu les informations et vérifié la transaction, La prochaine fois, combinez les contenus vérifiés cette fois et répétez "Obtenir des informations ▶ Vendre / Acheter ▶ Revenir au début" Je voudrais créer quelque chose qui sera commercialisé sans autorisation. ** Je pense que nous pouvons enfin faire quelque chose qui s'appelle Bot ...! !! Je m'attends à **.

Je vous remercie pour votre travail acharné! !!

Recommended Posts

Les débutants créeront un bot de trading automatique Bitcoin visant beaucoup d'argent! Partie 2 [Transaction avec API]
Les débutants créeront un bot de trading automatique Bitcoin visant beaucoup d'argent! Partie 3 [Bot local]
Les débutants créeront un bot de trading automatique Bitcoin visant beaucoup d'argent! Partie 4 [sans serveur]
Les débutants créeront un bot de trading automatique Bitcoin visant beaucoup d'argent! Partie 3 [Bot local]
Les débutants créeront un bot de trading automatique Bitcoin visant beaucoup d'argent! Partie 4 [sans serveur]
Les débutants créeront un bot de trading automatique Bitcoin visant beaucoup d'argent! Partie 2 [Transaction avec API]
Après avoir frappé l'API Qiita avec Python pour obtenir une liste d'articles pour les débutants, nous visiterons les articles divins
(Pour les débutants) Essayez de créer une API Web simple avec Django
Trading automatique FX avec algorithme génétique Partie 3 Trading réel avec l'API Oanda
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 1
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 2
[Jouons avec Python] Viser la génération automatique de phrases ~ Achèvement de la génération automatique de phrases ~
[Introduction] Je veux créer un robot Mastodon avec Python! 【Débutants】
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 3
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 4
Est-il possible de se lancer dans une entreprise de pré-cotation et de faire fortune avec des stock-options?
J'ai vécu une vie avec beaucoup de "bonheur". [Utilisez l'API COTOHA pour rendre "la disqualification humaine" "heureuse"]
Créez un service Twitter BOT avec GAE / P + Tweepy + RIOT API! (Partie 1)
Créez un service Twitter BOT avec GAE / P + Tweepy + RIOT API! (Partie 2)
Les débutants en Python ont décidé de créer un bot LINE avec Flask (commentaire approximatif de Flask)
J'ai essayé de créer un LINE BOT "Sakurai-san" avec API Gateway + Lambda