2017年 9月 の投稿一覧

GDAXに日本人は登録できないようだ【ビットコイン取引所】

GDAXロゴ

ビットコインなどの仮想通貨取引所であるGDAXの口座開設に失敗したので備忘録です。
GDAXはアメリカの取引所で、coinmarketcap.com(英語サイト)によるとビットコインの取引高が世界8位です。

GDAXの口座開設

口座開設を進めていると以下のエラーが発生しました。

Country is not included in the list

GDAX: Country is not included in the list

エラーメッセージを見る限り、日本は登録可能なリストに入っていないようです。
GDAXは、「アメリカ、カナダ、欧州、オーストラリア、シンガポール等に在住でないと口座開設ができない」と下記の公式記事に書いてありました。
Which countries and states can access GDAX? (英語サイト)

既に、1つ前の画面で電話番号を入力し、SMSによる認証を行っています。
他国の電話番号が必要になりそうなので、開設はあきらめました。

日本のビットコイン取引所

ビットコイン取引を行いたいなら、日本の取引所が安心ですね。

Coincheck(コインチェック)のAPIでページネーションを使用するには?【ビットコイン】

ビットコイン相場が盛り上がっていますね。
私は本職がソフトウェアエンジニアなので、プログラムを組んでビットコイン取引を自動化することに熱中しています。

ビットコイン取引所であるCoincheck(コインチェック)では、取引APIが公開されています。
これを使用することで、板情報の取得や、取引などを自動化することができます。

ところが、ポジション一覧の取得で行き詰まってしまいました。
API仕様を見ると以下のようになっています。

ポジション一覧

レバレッジ取引のポジション一覧を表示します。レバレッジ取引の注文は 新規注文 から行えます。

HTTP REQUEST

GET /api/exchange/leverage/positions

PARAMETERS

status “open”, “closed” を指定できます。

これだと、25件しか取得できません。
そこから先の取得にはページネーションを使用する必要があります。
そのためには下記のパラメータを指定する必要があります。

PARAMETERS

limit : 1ページあたりの取得件数を指定できます。
order : “desc”, “asc” を指定できます。
starting_after : IDを指定すると絞り込みの開始位置を設定できます。
ending_before : IDを指定すると絞り込みの終了位置を設定できます。

 

さて、ここで、orderにasc(昇順)を指定し、starting_afterに1ページ目の最後(つまり25件目)の要素を指定すると、
返ってくる一覧は1ページ目から最後の要素を除いたものと同じになってしまいます。合計24件です。

どうやら、ページネーションを使用する際は、orderをdesc(降順)にしなければいけないようです。

ascのままでも、ending_beforeを使用するのかなとも思いましたが、指定しても取得結果に変化がありません。
使い方が悪いのでしょうか。
ググったところ、ヒットしたのはこのツイートだけでした。

解決策

とりあえず、orderをdescにしている分には問題ないようです。
本当は、古いポジションから決済したいので、ascを使って取得したいのですが、
仕方がないので、descで取得してから昇順にソートし直すことにします。

APIが公開されているビットコイン取引所一覧

国内の取引所のうち、まともに自動売買ができるのは、私が知る限り以下の4つです。