*

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に公開されるので、問い合わせ等はメールでお願いします。

関連記事

仮想通貨取引所のサーバーの場所(自動売買の最適なロケーションは?)

FXの世界ではそれぞれのブローカーのサーバーがどこにあるかを調べて、 それに対して最も近いデータセ

記事を読む

ビットコインの業者間アービトラージでわかったこと

ちゃんと約定する FXの場合、業者間アービトラージをやろうとしても、約定拒否だったり、スリップした

記事を読む

使用言語と方向性 仮想通貨の自動売買開発①

公開:2017/6/21 仮想通貨の自動売買プログラムを書く前に、そもそもどうやってプログラム

記事を読む

【コインチェック】APIが存在しないはずのチャットの自動読み上げシステムを作る

以前、bitFlyerのチャットの自動読み上げシステムを作りましたが、個人的にはコインチェックのチャ

記事を読む

Which Japanese company(bitFlyer,CoinCheck,ZAIF) is the best when you use API?

Last year, I made a BTC arbitrage system among bit

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽物がいるらしいので偽物にご注意ください。
no image
【初心者向け】VPSでWebサーバー構築 (さくらVPSxUbuntu16.04)

今回はサーバーの構築について扱ってみようと思います。VPSを使った一般

no image
2018年中盤~の仮想通貨(ビットコイン)アービトラージの相場について

ちょくちょく「最近、ビットコインのアービトラージどうですか」という質問

no image
最近の海外のEA開発の流行り:ロングとショートのパラメータ群を分ける

表題の通りですが、最近海外製のEAではロングとショートのパラメータを分

no image
シンプルなニューラルネットワークに基づいたEA(の記事)

MQLの記事って、ロシア語->英語->日本語の順に訳されるんで日本語の

no image
自動売買における仮想ストップロス、仮想テイクプロフィットの概念と意味

最近の自動売買系の論文やコードを読んでいると「仮想ストップロス」、「仮

→もっと見る

PAGE TOP ↑