【準備編】簡単、BinanceのAPIを使った自動売買の方法公開!

Binance Program For SEO Agency.

BINANCE(公式)はこちら


目次


※【2018/09/24 追記】新規にBinanceから価格取得するアプリを開発致しました。→ こちら

今回からBinacneの自動売買の方法を
「準備編」、「実践編」

の2部構成でご紹介して参ります。

今回は準備編ということで、
Binanceの自動取引に必要な知識とツールの導入をご紹介いたします。

自動売買と言うと難しそうに聞こえますが、
BinanceのAPIは複数のプログラミング言語から
扱えるように準備されており、
はじめてAPIに触れる方でも短時間で
売買を行うことが出来るようになります。

今回はPythonという言語を使いますので、
Pythonの言語環境とBinanceのPythonツールのインストールをお願い致します。

【2018/10/12 追記】イーサリウムのアプリ作成関連記事を作成いたしました。
【初心者】イーサリウムでアプリを作ろう!【準備編】

※【2018/09/18 追記】Binanceの「情報取得編」の記事をこちらに作成しました。

設定

・Pythonのウィンドウズの設定方法はこちら

・BinanceのPythonツールのインストール方法はこちら
※私が使用したPythonのバージョンは「Windows – Python3.6.4」になります。

実践編はこちら → こちら

クイックスタート

■コマンドラインにて

> pip install python-binance

を実行しておいてください。

BinanceのAPIとは?

まずはAPIとは何か、Wikipediaを見てみると

広義の意味ではソフトウェアコンポーネントが互いにやりとりするのに
使用するインタフェースの仕様である。

と書かれています。
わかりやすくいえば、企業が公開している一部機能をソフトを通じて
やり取りすることが可能になるということです。

1つBinanceの場合を例に挙げて見ましょう。

Binanceでは情報を取得するためのAPIがいくつか公開されております。
それらを利用することによって「現在価格」や「自分の所有している通貨枚数」などを
取得することができたり、
実際に注文を入れる、キャンセルをする、引き出しを行う

といったことが出来るようになります。

つまり、APIの機能を使ってプログラムを書けば、
様々な情報を得ることが可能になり、自動売買も実現できるということです。

BinanceにてAPIを発行

BinanceのAPIを利用するにはBinanceの公式からAPIのキーを取得する必要があります。

Binance登録がまだの方はこちらから登録を済ませていただければ幸いです。

キーの発行

ログインを行い「API設定」をクリックします。

APIのラベル名を決めますので、お好きな名前を入力して「Create New Key」を
押してください。
今回私は「Trade_Binance」という名前で作成しました。

ログイン時と同様、2段階認証を行います。

そうすると、下のような画面が出来上がります。
ここに表示されている「API Key」と「Secret」がAPIを使うときに必要な鍵となります。

ここで注意いただきたいのですが、
「API Key」と「Secret」は決して外部に漏らさない
ようご注意ください。

こちらの鍵を使うことによって、実際の取引が可能になりますので、
他の人間に知られると勝手に売買されてしまう恐れがあるのです。

実際に使ってみる

下のコードは現時点の全ての通貨ペアの価格を取得するプログラムになります。
コードをメモ帳に貼り付け、適当な名前で保存してください。
今回私は「testPrices.py」として保存しました。

# ファイル名 testPrices.py
from binance.client import Client

# APIキー設定
api_key = <先ほど取得したAPIキー>
api_secret = <先ほど取得したSecretキー>

# Client作成
client = Client(api_key, api_secret)

# 全ての価格を取得
prices = client.get_all_tickers()
print(prices)

次に上のプログラムファイルを実行してみます。
やり方は様々ありますが、今回は「コマンドプロンプト」というものを使って行ってみたいと思います。

コマンドプロンプト

まずは「コマンドプロンプト」を開きましょう。
Windowsボタンを押して、「コマンドプロンプト」をクリックします。

クリックしたら黒い画面が出ますので、

cd [testPrices.pyを保存したフォルダへのパス]

を入力し「Enter」を押します。

保存したフォルダのパスは下のように
フォルダのパスを指定したものになります。

この画面で

python testPrices.py

と入力しEnterを押してみましょう。

画像のようにたくさんの価格が取得できましたら成功です!
お疲れ様でした。

ここでうまく実行できなかった方は設定がうまくいってないことが考えられますので、
再度こちらから設定をお願い致します。

おわりに

ここまできてくれたみなさま、お疲れ様でした!

BinanceのAPIが簡単に利用できることがお伝えできたなら幸いですが、
理解しづらかった所やうまく動かなかったところがあれば
コメント等に質問を投げていただければ回答させて頂きます。

次回は実践編ということで、
実際に自動で売買するシステムを作っていこうと思いますので、
楽しみにしていてくださいね♪

【1月22日 追記】
実践編の記事が完成いたしました! → こちら

【2月17日 追記】
仮想通貨とは関係ありませんが、ブログ関連に興味がある方はこちらの記事もおすすめです





13 件のコメント

  • ひたらくさん はじめまして。
    このブログのおかげでAPIを使ったバイナンスの全銘柄の価格が取得できました!ありがとうございます。

    質問なのですがAPIでバイナンスの全取引量(24h volume)を取得したいです。ご存知でしたら教えてもらいたいです。

    • さがる様

      お世話になります。ひたらくです。
      コメントいただきありがとう御座います。

      こちらのドキュメントを参考にしたところ、
      「get_ticker」という関数を使用すると24hの価格や取引量が取得できるようです。

      ただし「get_ticker」ですと取引量以外の情報も引っ張ってきてしまうので

      # すべてのsymbol情報を取得
      volumes = client.get_ticker()

      # symbolの数だけsymbolとvolumeを表示する
      for i in range(symbolVol):
      print(“symbol: ” , volumes[i][‘symbol’], “volume: “, volumes[i][‘volume’])

      のような形にするとシンボルとvolumeだけが表示されるようにすることが可能です。

      volumeだけが欲しいのでしたらこのコードのシンボル取得部分を削除して
      利用されるとよいと思います。

      参考までに作成したコードをこちらに公開いたしました。

      また何かありましたらコメントお待ちしております。

      • 無事にvolumeの取得が出来ました。
        ありがとうございます。大変助かりました。

        また何かあったらよろしくお願いします。

  • python初心者です。
    api_key,secret_keyをセットしてpython testPrices.pyを実行してみるとfrom binance.client import Client の行に対してImportError: No module named ‘binance’と出てしまいます。

    「BinanceのPythonツールのインストール方法はこちら」では特にインストール方法の説明はないので、参照先からzipフォルダをダウンロードしてディレクトリに展開しただけです。
    なにかpipやsetupを実行しておく必要はないでしょうか?

    PythonはWinPython-32bit-3.5.4.1Qt5です。
    よろしくお願いいたします。

    • しょいなさん

      ひたらくと申します。
      コメントありがとうございます。

      恐らくですが、
      > pip install python-binance
      というコマンドを打って頂ければ、
      勝手にバイナンスのパッケージが
      導入されエラーを回避できると思います!

      ※ちょっと分かりづらい場所になるのですが、
      こちらサイトの【Quick Start】という
      見出しのところに書いておりました。

      後で記事にも変更を加えておきます〜

      Qt5でも恐らく動くと思いますが、
      また何かありましたらご連絡下さい。

      • ひらたくさん
        ご教示ありがとうございます。
        pipでpython-binanceをインストールする必要がありました。
        Win7とWin10二つのPCでそれぞれインストールしてからやってみました。どちらでも相変わらず「binanceというmoduleはありません」という不本意な結果でした。
        python-binanceのインストールでは長いメッセージが出ますが、Win7でよくよく見てみると、途中で2行エラーが出ていました。
        『Building whieel for Twisted failed:[WinError 5]アクセスが拒否されました。:’c:\\Users\\ffujita\\AppData\\Local\\pip’』
        というメッセージです。winpython-32bit-3.5.4をcドライブのルートにインストールしたのが問題だったかもしれません。
        pythonのインストールをやり直してみます。
        ありがとうございました。
        分からなくなったらまたお願いいたします。

        • ひらたくさん
          いろいろやってみた結果、pythonのインストール場所でもバージョンの問題でもなくて、Visual C++ 14.0 の Build Toolでした。
          これをインストールしたところ、pip install python-binanceのインストールがうまくいって、testPrices.pyも無事動いてくれました。
          アドバイスありがとうございました!

          • しょいなさん

            「Visual C++ 14.0 の Build Tool」は正直言って、
            見当つきませんでした(汗

            こちらこそ、情報を共有いただきありがとう御座います。

            あまりお役に立てませんでしたが、
            また何かありましたらコメントいただければ幸いです(´∀`艸)♡

  • しょいなさん同様 私もインストールできない

    pip install python-binance
    入力したらエラーが表示

    Visual C++ 14.0 の Build Toolをインストール

    そして再度 pip install python-binance

    今度は Twisted がerrorでインストできない

    これから仕事だから、明日 検索して頑張るけど

    python-binanceをインストするだけで大変な作業だわ

  • 無事にpython-binanceをインストールできました

    pip install python-binanceを入力するとエラー
    しょいなさんのコメントで Visual C++ 14.0 の Build Toolを入れる

    再度 pip install python-binance

    今度は Running setup.py install for Twisted … error

    検索したら
    http://www.crypto-attack.work/entry/20180108/1515402000
    このブログが見つかった

    pip install Twisted

    うまくいかない

    conda install Twisted

    condaってなんだろうとググル
    https://www.anaconda.com/download/
    でダウンロードし

    conda install Twistedを入力して

    で pip install python-binance

    うまくインストールできた

    • やすさん

      情報共有頂きありがとう御座います。

      anacondaというツールを使った場合
      頂いた様な手順が必要になるのですね。。。

      私が使ったのは「Windows – Python3.6.4」というツールになりますので
      共有させて頂きます。

      私の知識不足でanacondaの使用方法は分からず、
      お力になれませんでしたが、
      また何かありましたら、ご質問等いただければ幸いです。

  • Hello,

    For instance, client.get_all_tickers() gives you prices for all pairs.

    But, is it possible to extract price for 1 trading pair from the very beginning, without getting all pairs?

    Thank you!

    • Hello,

      Please try following code.

      #
      from binance.client import Client

      # Create Client
      client = Client(api_key, api_secret)

      # get symbol ticker
      prices = client.get_symbol_ticker(symbol=”LTCBTC”)
      print(prices)


      * You can change symbol augument of get_symbol_ticker to arbitrary symbol.

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    ABOUTこの記事をかいた人

    日々、ひたすららくして生きる為に試行錯誤しながら生きております。

    ブログでは主に仮想通貨やコンピュータの話題が中心と
    なりますがたまにそれた内容を書くこともしばしば。

    温かい目で見守ってくだされば幸いです。