bitbankでccxt共通関数まとめ

システムトレード

文系でもわかる!BitcoinのBOT自動売買トレードの始め方で勉強させてもらってます。
初歩の初歩からステップバイステップで丁寧な解説でわかりやすいです。
このブログではbitflyerでボットづくりを行っていますが、自分は最低取引量の関係からコードをbitbankに書き換えながら、勉強しています。
ccxtライブラリでbitbankが使える共通関数、bitbankのAPIをccxtの関数として使う方法をまとめました。

ccxtライブラリ

ccxtは仮想通貨取引所ライブラリです。
取引所のAPIを利用して注文の実行やトレードデータの取得などを行うには結構複雑なプログラムが必要になりますが、このライブラリを利用すればトレーディングに必要な部分だけをパラメータに設定すれば便利な関数が用意されています。

また、世界中の主要な取引所に対応しており、取引所ごとのAPIの違いをラップしてくれています。bitFlyerでもzaifでもbitbankでも同じ関数を使えば買い注文を出してくれます。

なぜBitbankなのか

最低取引量が0.0001BTCと安いためです。4月18日現在、1BTCの価格は約400万円です。400万円×0.0001ですからワンショット400円程度で売買注文が出せます。bitFlyerでは0.001BTCなので4000円程度かかります。試行錯誤を行う段階で売買を行うならなるべく安く済ませたいということですでに口座を持っていて最低取引量が安いbitbankにしました。
他にもBitPointも最低取引量が0.0001BTCなようです。

bitbankで使えるccxtの共通関数

各取引所が用意しているAPIの違いによってccxtの共通関数でも取引所によって使えるものと使えないものがあるようです。
bitbankではどのような共通関数が使えるのか確認してみます。

import ccxt

from pprint import pprint
bitbank = ccxt.bitbank()

for i, func in enumerate(bitbank.has):
    if func:
        print(func, end=", " if i%3 != 2 else "\n")

出力例:

publicAPI, privateAPI, CORS
spot, margin, swap
future, option, addMargin
cancelAllOrders, cancelOrder, cancelOrders
createDepositAddress, createLimitOrder, createMarketOrder
createOrder, createPostOnlyOrder, createReduceOnlyOrder
createStopOrder, createStopLimitOrder, createStopMarketOrder
editOrder, fetchAccounts, fetchBalance
・・・以下かなり続く

いろいろな関数が使えるようです。
冒頭で紹介したブログで使用した関数をまとめておきたいと思います。

チートシート

googleスプレッドシートにまとめました。引数の入力例はあくまで一例なので詳しくはccxtのマニュアルをご覧ください。

ccxt.bitbank関数 - Google ドライブ

スプレッドシートを表にしたのがこちら。

関数 public /
private
説明 入力例
bitbank() ビットバンクのコンストラクタ
fetchMarkets() public 通貨情報を取得する
fetchTicker() public 価格を取得する ’fetchTicker(symbol=’BTC/JPY’)
fetchOrderBook() public 板情報、注文量の取得 fetch_order_book(
symbol=”BTC/JPY”,
limit = 10
)
fetchBalance() private 口座の資金を取得する
fetchTrades() private 取引履歴を取得する fetch_trades(
symbol=”BTC/JPY”,
limit= 10)
fetchOrder() private idを指定して注文情報を取得する fetchOrder(
symbol = “BTC/JPY”,
id = order[“id”])
fetchOrders() private 複数の注文情報を取得する fetchOrders(
symbol = “BTC/JPY”,
params = { “count” : 10 })
createOrder() private 売買注文を出す create_order(
symbol = ‘BTC/JPY’,
type=’limit’,
side=’buy’,
price=’800000′,
amount=’0.01′)
cancelOrder() private 注文をキャンセルする cancel_order(
symbol = “BTC/JPY”,
id = order[“id”])
fetch_open_orders() private 未約定の注文情報を取得する fetch_open_orders(
symbol = “BTC/JPY”,
params = { “count” : 10 })
createMarketOrder() private 成り行き注文を出す createMarketOrder(
symbol = ‘BTC/JPY’,
side=’buy’,
amount=’0.01′)
createLimitOrder() private 指値注文を出す createLimitOrder(
symbol = ‘BTC/JPY’,
side=’buy’,
price=’800000′,
amount=’0.01′)

 

 

bitbankのAPIをccxt経由で使う方法

APIがプライベートAPIでパスが次のような場合、

bitbank.private_get_user_assets()

になります。

  1. APIがpublicかprivateか
  2. httpメソッドの種類(GET、POST)
  3. リクエストURL(ここではuser_assets)

1~3を_(アンダーバー)で結ぶ感じですね。
3は/で区切られた箇所を_にしてつなげます。

コメント

タイトルとURLをコピーしました