*

POLONIEXのAPIでビットコインのヒストリデータを取得 仮想通貨の自動売買⑨

公開:2017/9/4

国内の取引所でもAPIを発行している取引所はいくつかありますが、
ビットコインのヒストリーデータを提供している取引所は知る限りでは海外のPOLONIEXしかありません。

ヒストリーデータ(過去のろうそく足データ)が使えると、テクニカルな自動売買が可能になります。
(逆に、ヒストリーデータが使えないということは、現在レートしか参照できないということでもあります)

POLONIEXは、現在いろいろな悪い噂がありましたが、買収されたことでマシになったんじゃないかと思います。

POLONIEXのAPIのドキュメントはこちらです。https://poloniex.com/support/api/

すべて英語なので英語がダメな方は翻訳機にかけるなどしてください。
(自動翻訳だと逆にわかりにくくなることは結構あります)

returnChartDataという項目がヒストリーデータの取得です。

https://poloniex.com/public?command=returnChartData&currencyPair=BTC_XMR&start=1405699200&end=9999999999&period=14400
これでコールします。

返り値はjsonです。

通貨ペアの指定が結構厄介で、通貨ペアのリファレンスがありません。
ビットコインドルのペアがどういった表記なのかは全部試すしかありません。

BTC_USD エラー
BTC_USDT エラー なんでこれじゃないの!?
USD_BTC エラー
USDT_BTC これが正解
BTCUSD エラー
BTCUSDT エラー

ここで躓いてこっから先に進めない人が多いのではないかと思います。

さて、引っ張り出してくる過去のレートですが、時間枠毎のロウソク足というものが存在しないので、レートが変化する度にデータベースに格納されているようです。

ピンポイントで欲しい時刻を指定すると、そのタイミングでレートに変化なかった場合にレートが返ってこないので、欲しい時刻の前後の時間を指定します。

参照する時刻はUNIXタイムスタンプで取得スタート時間とエンド時間を指定します。
この幅が狭いと、指定した時間幅にレートが存在しない場合に返り値が空になります。

だいたい10秒~30秒くらいの幅を持たせれば問題はないと思います。

幅を持たせると今度は別の問題が発生し、複数のレートを吐き出します。

{“date”:1405713600,”high”:0.00435,”low”:0.00412,”open”:0.00428012,”close”:0.00412,”volume”:19.12271662,”quoteVolume”:4531.85801066,”weightedAverage”:0.00421961},{“date”:1405728000,”high”:0.00435161,”low”:0.00406,”open”:0.00411473,”close”:0.00435161,”volume”:35.18169499,”quoteVolume”:8430.50936646,”weightedAverage”:0.00417313},{“date”:1405742400,”high”:0.00459,”low”:0.0043418,”open”:0.00435173,”close”:0.00437,”volume”:21.66886127,”quoteVolume”:4839.66822966,”weightedAverage”:0.00447734},

こんな感じで。

jsonの配列は時刻と逆向きになっているので、最初のレートだけ取得すればOKです。

ただし、これで取得できるレートはUSDベースのレートになるため、
日本の取引所のレートと比較する場合には為替の変換が必要です。

方法としては、
どこかの為替データのAPIを使う
のが正攻法ですが、無料で優秀なものはなかなかないみたいです。

どこも月額有料のAPIなので、レートの計算はUSDですべて行い、
最後だけ円に変換して、日本の取引所で取引という手が一番無難だと思います。

しかし、ドル円のレート変動もあるため、
・ビットコインレートに差があるのか
・ドル円レートに差があるのか(遅いのか)
判別不能なため、ベースの法定通貨が異なる場合はアービトラージは理論的に難しんじゃないかと思います。

Message

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

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

関連記事

no image

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

前置き ビットコイン、仮想通貨の自動売買を作る目的として、通常は個人的に利用するというものがほとん

記事を読む

仮想通貨取引所のチャット音声自動読み上げシステムを作る3 AJAXでリアルタイム表示させる

前回はbitFlyerのAPIから最新のチャットを取得するところまでやったので、 今回はそれをリア

記事を読む

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

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

記事を読む

MT4のチャート上に複数の仮想通貨取引所のビットコインレートを表示する

先日、ブログを読んでいただいてる方からコードをいただいたので、ご紹介します。(OKをもらいました。)

記事を読む

PHPで仮想通貨APIを処理するときの注意

Web APIは基本的にJavascriptで処理させることを想定していますが、これまでのようにPH

記事を読む

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

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

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

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

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

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

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

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

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

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

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

→もっと見る

PAGE TOP ↑