[PYTHON] Les débutants créeront un bot de trading automatique Bitcoin visant beaucoup d'argent! Partie 1 [Acquisition d'informations]

Cela fait deux ans que j'ai commencé à travailler ... ** "De l'argent qui n'augmente pas plus que ce à quoi je m'attendais !!" ** ** "Inquiétude de recruter des personnes âgées !!!" ** Je l'ai trouvé! !! ** zaif **, un site où vous pouvez échanger Bitcoin.

Quand je l'ai lu, quoi ...

Est écrit! !! !!

c'est,,, Je ne suis pas sûr de Bitcoin, Les frais sont moins ** Si vous faites un Bot et faites un commerce rentable, vous pouvez faire un profit sans rien faire ...! ?? ** **

Je voudrais commencer à créer Bot basé sur l'idée superficielle de ... ☆ - (ノ ゚ Д ゚) Hachi (゚ Д ゚) Neue

Préparation

Créez l'environnement et installez l'API. Le système d'exploitation utilise Windows 7 Home Premium.

1. 1. Environnement

Tout d'abord, décidez quelle langue utiliser. Si vous regardez site zaif,

Semble être utilisable comme langue.

Cette fois, je vais le faire avec le python que j'ai touché.

■ Quoi mettre:

c'est tout. Peu···

2. Installation de l'API

En regardant le coin python du site zaif, Une bibliothèque qui facilite l'utilisation de l'API zaif (non officielle) Il y avait un dieu qui l'a fournie !! ∑d (゚ ∀ ゚) ré) !! Merci de l'utiliser.

Suivez le README pour installer. Je veux l'installer dans le dossier de travail, alors suivez les étapes ci-dessous.

  1. Créez un dossier de travail (je l'ai créé avec le nom zaif)
  2. Ouvrez une invite de commande
  3. Utilisez la commande cd pour accéder au dossier créé en 1.
  4. Exécutez la commande pip install zaifapi -t .

Vérification

Vérifiez le mouvement à l'aide de l'API zaif.

  1. Ouvrez pycharm

  2. Ouvrez le dossier de travail créé précédemment à partir de "ouvrir"

  3. Faites un clic droit sur le dossier de travail dans la liste des dossiers affichée à gauche et créez un fichier python (je l'ai créé avec le nom main) Picture1.png

  4. Écrivez le code dans le fichier créé (main.py).

Acquisition d'informations (API d'information publique)

Tout d'abord, déplaçons-le simplement. La première étape est importante pour tout. Obtenons le prix actuel du Bitcoin (équivalent du yen japonais). (Copiez simplement et exécutez ce qui suit (shift + F10) et c'est ok)

main.py


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

from zaifapi import ZaifPublicApi  #Classe qui exécute une API qui ne nécessite pas d'informations d'authentification publiées par Zaif
from pprint import pprint  #Pour l'affichage(Il affiche json proprement)

if __name__ == '__main__':
    zaif = ZaifPublicApi()
    pprint(zaif.last_price('btc_jpy'))

Euh, ça a marché ...! ヾ (゚ ω ゚ *) ノ Je l'ai fait

■ Résultat d'exécution

{u'last_price': 118365.0}

Process finished with exit code 0

Le prix actuel semble être 1 bitcoin = 118,365 ¥.

À propos, il semble que le ZaifPublicApi utilisé cette fois-ci dispose également des méthodes suivantes. [Détails]

--last_price: cours de clôture --ticker: Ticker (acquisition d'informations agrégées) --trades: tout l'historique des transactions --depth: informations sur la carte --currency_pairs: informations sur les paires de devises disponibles dans trade_history, etc. --monnaies: informations sur les devises disponibles dans l'historique de dépôt, etc.

Pour le moment, je vais essayer de tout déplacer.

main.py


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

from zaifapi import ZaifPublicApi  #Classe qui exécute une API qui ne nécessite pas d'informations d'authentification publiées par Zaif
from pprint import pprint  #Pour l'affichage(Il affiche json proprement)

if __name__ == '__main__':
    zaif = ZaifPublicApi()

    print('---last_price :le dernier prix--')
    pprint(zaif.last_price('btc_jpy'))

    print('---ticker :Ticker (acquisition d'informations agrégées)--')
    pprint(zaif.ticker('btc_jpy'))

    print('---trades :Tout l'historique des transactions--')
    print('Nombre d'acquisitions:' + str(len(zaif.trades('btc_jpy'))))
    pprint(zaif.trades('btc_jpy'))

    print('---depth :Information sur le conseil--')
    print('Nombre d'acquisitions[acheter]:' + str(len(zaif.depth('btc_jpy')['asks'])))
    print('Nombre d'acquisitions[Vendre]:' + str(len(zaif.depth('btc_jpy')['bids'])))
    pprint(zaif.depth('btc_jpy'))

    print('---currency_pairs : trade_Informations sur les paires de devises disponibles dans l'historique, etc.--')
    pprint(zaif.currency_pairs('btc_jpy'))

    print('---currencies : deposit_Informations sur les devises disponibles dans l'histoire, etc.--')
    pprint(zaif.currencies('all'))

■ Résultat d'exécution

python


---last_price :le dernier prix--
{u'last_price': 118400.0}

python


---ticker :Ticker (acquisition d'informations agrégées)--
{u'ask': 118455.0,
 u'bid': 118435.0,
 u'high': 118995.0,
 u'last': 118455.0,
 u'low': 114895.0,
 u'volume': 11032.3017,
 u'vwap': 116852.519}

python


---trades :Tout l'historique des transactions--
Nombre d'acquisitions: 150
[{u'amount': 0.001,
  u'currency_pair': u'btc_jpy',
  u'date': 1490952581,
  u'price': 118455.0,
  u'tid': 41153900,
  u'trade_type': u'ask'},...<Abréviation>

python


---depth :Information sur le conseil--
Nombre d'acquisitions[acheter]:150
Nombre d'acquisitions[Vendre]:150
{u'asks': [[118455.0, 0.0209],...<Abréviation>
 u'bids': [[118450.0, 1.7704],...<Abréviation>

python


---currency_pairs : trade_Informations sur les paires de devises disponibles dans l'historique, etc.--
[{u'aux_unit_min': 5.0,
  u'aux_unit_step': 5.0,
  u'currency_pair': u'btc_jpy',
  u'description': u'\u30d3\u30c3\u30c8\u30b3\u30a4\u30f3\u30fb\u65e5\u672c\u5186\u306e\u53d6\u5f15\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059',
  u'event_number': 0,
  u'is_token': False,
  u'item_unit_min': 0.0001,
  u'item_unit_step': 0.0001,
  u'name': u'BTC/JPY',
  u'title': u'BTC/JPY'}]

python


---currencies : deposit_Informations sur les devises disponibles dans l'histoire, etc.--
Nombre d'acquisitions: 126
[{u'is_token': True, u'name': u'MAGATAMARDFR'},...<Abréviation>

en conclusion

Je vois, vous pouvez obtenir diverses choses. Je pensais que ce serait facile à faire, mais c'est étonnamment difficile de faire un bot ... C'est tout pour cette fois, et la prochaine fois, j'essaierai d'exécuter l'API ** qui nécessite des informations d'identification. J'avais l'impression d'y jeter un coup d'œil, et depuis que j'ai écrit «ordre», je suis ravi de pouvoir bouger comme un robot. +   +   ∧_∧  + (0 ° ・ ∀ ・) (0 ° ∪ ∪ + Et __) __) +

Je vous remercie pour votre travail acharné! !! !!

mettre à jour les informations

・ 2017/4/4: * Notes supplémentaires lors de l'installation de python ・ 2017/4/27: Correction d'erreur de notation MarkDown (alt Merci de nous avoir signalé.)

Recommended Posts

Les débutants créeront un bot de trading automatique Bitcoin visant beaucoup d'argent! Partie 1 [Acquisition d'informations]
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]