*

APIでZAIFとbitFlyerのアカウント情報を取得する 仮想通貨の自動売買開発⑤

公開:2017/7/2

さて、そろそろ他の取引所のAPIも触っていきます。

ビットフライヤーとZAIFのPRIVATE API

ビットフライヤーのPRIVATE APIを使う場合

WEB APIは各取引所によって、微妙に仕様が異なります。

コインチェックの場合、phpのfile_get_contentsで取得できましたが、
BitFlyerはfile_get_contentでは上手くいきません。
(PUBLIC APIは問題ありません。)

原因は”謎”です。

というよりも、そもそもfile_get_contentでうまくいくことの方が昨今めずらしいです。
この周辺のワードで検索するとそういった記事が結構でてきます。

PHPのバージョンにもよるのですが、今回はCURLというものを使います。CURLというのはPHPから細かくWEBリクエストするための割と新しい関数群みたいなものです。

現在利用しているPHPのバージョンは5.3ですが、(古い?)CURLは問題なく利用できます。

CURLの基本的な使い方に関しては、詳しく書いているブログがたくさんありますので、そちらを参照してください。

bitFlyerは、ハッシュ化の際に
(タイムスタンプ)+(POSTかGET)+アクセスするパス+HTMLボディ
を連結させます。

ドキュメントを見ると、エンドポイントURLがhttps://api.bitflyer.jp/v1/で、
各メソッドのパスが/v1/me/getbalanceのようになっていますが、

最終的なアクセス先は
https://api.bitflyer.jp/v1/v1/me/getbalance
ではなく、
https://api.bitflyer.jp/v1/me/getbalance
です。

(当たり前と言えば当たり前ですが、変数に代入すると、ここら辺の表記が分かりにくくなるので…)

ハッシュ方式はコインチェックと同じsha256なので、関数はそのまま使えます。

正直、WEBAPIまわりは専門ではないので、詳しい方からみたら冗長な箇所あるかと思いますが、
これで一応動きます。

トレードする際にはボディに各パラメータを指定してください。

ZAIFのPRIVATE APIを使う場合

ZAIFの場合は、Githubにあるサンプルがちゃんと動くので、それを使うのもありかと思います。

また、ハッシュは
nonce=”タイムスタンプ”&method=”リクエストする情報タイプ”&その他情報…
でHMAC-SHA512で署名します

前回までの関数がそのまま使えます。

ちなみにドキュメントの説明

「signはPOSTする全てのパラメータ(nonceとmethodおよびメソッド毎のパラメータ)を URLエンコードしたクエリ形式(param1=val1&param2=val2)のメッセージとして、Secret Keyを用いてHMAC-SHA512で署名します。」

が滅茶滅茶わかりにくいと思ったのは、私だけではないはず。
日本語のパラメータはないので、URLエンコードする必要はないと思います。

あとZAIFはタイムスタンプに小数点以下も使えるので、この際小数点以下のタイムスタンプにします。

これによってどんな違いが生まれるかというと、一秒間に2回以上のアクセスが可能になるわけです。
(整数の場合、一秒以内に2回以上アクセスすると、タイムスタンプが同数なので、エラーになります。)

これでコインチェックとビットフライヤーとZAIFのWEB APIが使えるようになったので、業者間アービトラージの前段階が完了です。

Message

メールアドレスが公開されることはありません。

このコメントはWEBに公開されるので、問い合わせ等はメールでお願いします。

関連記事

【ZAIF】Bid=買い、Ask=売り!?

タイトルは間違っていません。 以前WEBAPIの記事で「ZAIFの取引メソッドのAskとBid

記事を読む

APIで取引所の残高を取得する 仮想通貨の自動売買開発④

公開:2017/6/21 前回はPRIVATE APIにアクセスするためのハッシュの生成でした

記事を読む

ビットコイントレードができるMT4/MT5業者

前に調べたときは1社くらいしかヒットしなかったのですが、 知らぬ間に結構取り扱ってくれている業者が

記事を読む

The results of the automated bitcoin arbitrage trading between Poloniex and Binance

These days, I made an automated bitcoin arbitrage

記事を読む

MT4から取引所のビットコインレートを取得して比較する

今までMQLしか触ったことがない人にとって、jSONだのHASHだのが出てくるAPIの処理は荷が重か

記事を読む

 
  • ブログ管理人の横瀬兼元(ペンネーム)です。

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽物がいるらしいので偽物にご注意ください。
no image
ストップレベル=0はストップレベルがないことではない

MT4/MT5では予約注文を行う際にストップレベルというものがあります

no image
私の偽者、偽ブログにご注意ください

読者の方からご連絡いただいたのですが、私のブログの内容をそのままコピー

no image
サービス展開向けの仮想通貨自動売買システムを作るには

前置き ビットコイン、仮想通貨の自動売買を作る目的として、通常は個人

一回の演算で複数のリクエストを送る 仮想通貨の自動売買⑪

公開:2017/9/4 基本的にjson形式でAPIをたたく場合

コインチェックAPIで信用取引 仮想通貨の自動売買⑩

公開:2017/9/4 これまではAPIで現物取引を扱ってきまし

→もっと見る

PAGE TOP ↑