Node.jsで暗号資産アービトラージ

ビットコイントレード中心にNode.jsで実際に作るためのレシピ

BITPointのAPIの使い方と注意したいポイント

※この記事は2019/6/2に作成されました。

アービトラージ用にBITPointのAPIを利用して価格取得、注文を自動化したい方向けにBITPoint APIの使い方を解説します。

一見、「BITPointのAPIドキュメントはわかりづらい!」と感じた人も、コツが分かれば問題なくコーディングが出来るようにようになりますので安心してください。

個人的にはsymbol、pinCodeなどの変数に何を入れればいいかわからない。。とハマったのでその辺のポイントも記載しています。

(事前準備)BITPoint APIキーを発行する。

BITPointにログインして、トップページから口座管理>Smart APIキー管理に進みます。

API利用には申請が必要なので、申請が通るのを待ちましょう。

申請が通った後はSmart APIキー管理のページからAPIキーの発行ボタンを押して、利用したい機能の権限を選択してAPIキーを発行します。

BITPoint APIのドキュメントの見方

まずはサンプル通りに実装すればOK

BITPoint APIドキュメントを開くと、概要のページが表示されます。
(表示されない人は画面左側のOverview>概要をクリックしてください)

概要のページには「認証ありAPI」のサンプルコード(GET/POST)が記載されているので、サンプルコードをベースにコーディングしていきます。

「認証なしAPI」はAPIキーやシークレットの情報がいらないだけで、基本は同じです。

GETの実装方法

サンプルコードのGETは/api/account(口座情報取得)ですが、API_PATHに/api/depth(板情報取得)など、使いたい機能のURLを設定すればその機能を使えるようになります。

それぞれのAPIに記載されているQuery parametersでRequired:trueのものは必須項目なので、コードのparamsに記載します。(2項目以上ある場合は"&"でつなげます)

GETで返される値はドキュメントのResponse objectのリンクをクリックすると確認できます。(例:MarketDepthOut)

ちなみに/api/depth(板情報取得)の必須項目のsymbolは「BTCJPY」のように設定します。

画面左側のObjectsで板情報が確認できそうなSymbolInfoやTickerPriceDataをクリックするとsymbolの例が記載されています。(この辺がわかりづらい!)

POSTの実装方法

サンプルコードのPOSTもGETと同様にAPI_PATHに使いたい機能のURLを設定します。

/api/order(新規注文(現物))を例に説明すると、定数API_PATHに/api/orderを設定します。

次にparamsに必要な引数を記載します。ポイントとしては引数のフォーマットは詳細ページのBody Objectをクリックします。(例:OrderIn)

Required:trueは必須項目です。このページを参照していればpinCodeは取引暗証番号ということがわかります。(口座開設時に設定した4桁の数字です)

POSTで返される値は同様に詳細画面のResponse objectのリンクをクリックします。(例:CancelOrderOut)

BITPoint API利用時の注意事項

API利用時は日次メンテナンス時間に注意

BITPointのにも他の取引所同様にAPIが実行できないメンテナンス時間が日次で設定されています。

BITPointサービス時間より、メンテナンス時間は16:00-16:10です。

メンテナンス中の挙動としては価格取得もできないようです。
価格取得ができなければ誤発注のような致命的な動作は起こらないと思いますが、念のためシステムを止めてしまいましょう。

メンテナンスの挙動は取引所によって変わるものでありますので、ツールのロジックが複雑化しないようにどの取引所も停止するようにしておくと安心です。

先日はある取引所でAPIサービスすべて利用不可と通知されていましたが、実際は価格が取得できていましたので。。(これが原因で誤発注しました)


BITPoint以外の取引所のAPIを使ってみたい方はこちらを参照ください。

www.kennejs.com

www.kennejs.com

www.kennejs.com