この記事ではbitbankのAPIで注文を出す方法を備忘録を兼ねて解説します。
bitbank APIで注文を出すにはbitbankの口座を作成して「シークレットキー」を発行する必要があります。シークレットキーはマイページのAPIタブから発行・確認ができます。
注文を出す関数
注文を出す関数の使い方と引数
注文を出すにはプライベートAPIのorder関数を使います。使い方は次の通りです。
※order関数に渡している変数を用意する必要あり
import python_bitbankcc # KEYS API_KEY =" xxxxxxxxxxxxxxxxx" # APIキー API_SECRET = "xxxxxxxxxxxxxxxx" # シークレットキー # プライベートAPI prv = python_bitbankcc.private(API_KEY, API_SECRET) # 注文 order = prv.order(pair, amount, price, side, order_type)
プライベートAPIを使用するにはAPIキーとシークレットキーを用意してpython_bitbankcc.privateに渡します。ただし、上記の例のようにAPIキーとシークレットキーをソースコードに書くのはお勧めしません。これを回避する方法はbitbank APIで仮想通貨を取引しよう(シークレットキー 編)で紹介しています。
ここではプライベートAPIを変数prvに保持しています。そしてprvが持つクラスメソッドorderで注文を出しています。orderに渡す引数は次の通りです。
引数名 | 意味 |
---|---|
pair | 取引する通貨のペアを指定します。 例えばビットコインを日本円で取引するにはbtc_jpyを指定する。 指定できる値についてはドキュメントを参照してください。 |
amount | 注文量を指定します。 |
price | 注文単価を指定します。 |
side | 売り注文なのか、買い注文なのかを指定します。 売り注文であれば「sell」を買い注文であれば「buy」を指定します。 |
order_type | 指値注文なのか成行注文なのかを指定します。 指値注文であれば「limit」を成行注文であれば「market」を指定します。 指値注文と成行注文の意味については過去の記事を参照してください。 |
私の環境ではAPIのバージョンが古いため指定できませんでしたが、PostOnly注文の指定もできるようです。
注文を出す関数の返り値
次にこの関数の返り値を確認してみましょう。
order = prv.order(pair="xlm_jpy", price=61.0, amount=0.1, order_type="limit", side="buy") print(order)
ここではステラルーメンを0.1だけ、単価61円で指値買い注文を出しました。つまり、6.1円払って0.1xlmを買おうとしています。
この買い注文の返り値をorderに格納して次の行で出力しています。今回は次のように出力されました。
{'order_id': 14062042287, 'pair': 'xlm_jpy', 'side': 'buy', 'type': 'limit', 'start_amount': '0.1000', 'remaining_amount': '0.1000', 'executed_amount': '0.0000', 'price': '61.000', 'average_price': '0.000', 'ordered_at': 1620008701853, 'status': 'UNFILLED', 'expire_at': 1635560701853, 'post_only': False}
返り値は辞書型で注文に関する情報が出力されました。意味は次の通りです。
項目 | 意味 |
---|---|
order_id | 注文ID |
pair | 取引通貨ペア |
side | 売り注文か買い注文か 売り注文なら「buy」、買い注文なら「sell」 |
type | 指値注文か成行注文か 指値注文なら「limit」、成行注文なら「market」 |
start_amount | 注文数量 |
remaining_amount | 未約定の数量 |
executed_amount | 約定済み数量 |
price | 注文価格 |
average_price | 平均約定価格 |
order_at | 注文日時(UnixTime) |
status | 注文ステータス 注文中:「UNFILLED」 一部約定済:「PARTIALLY_FILLED」 すべて約定済:「FULLY_FILLED」 取消済:「CANCELED_UNFILLED」 注文取消済(一部約定):「CANCELED_PARTIALLY_FILLED」 |
expire_at | 有効期限(UnixTime) |
post_only | PostOnly注文かどうか |