CryptoCompareのAPIを使ってBitflyerのBTCFX価格を取得しよう!自動売買BOTなどでBTCFXの価格を取得する場合、基本的にはCryptowatchを使うのがベストな案だと思います。Cryptowatchの価格はBitfyer管理画面のチャートに表示されている価格に最も近いからです。最近はCryptowatchのサーバーが不安定になることも増えてきました。そこで第2の選択肢として、CryptoCompareからBTCFXの価格データを取得する方法を紹介します。普段Cryptowatchを使っている方は、以下の仕様を把握しておきましょう!(1)取得できるのは、1分足/1時間足/日足の3つだけ(2)取得可能な最大件数は2000件までデフォルトは1分足1440件/1時間足168件(3)データの並びは時系列の古い順(4)BitflyerFXのチャート画面の価格(終値)とは完全に一致しない・公式のAPI仕様書ページはこちらPythonコードまずは最初にpythonコードを見ておきましょう。以下のpythonコードを使えば、当サイトで紹介しているほとんどのコードとそのまま互換性があります。Noneデータの時系列は古い順なので、例えば、上記の関数の返り値から以下のようにアクセスすれば、直近の価格データを取得できます。前回の足の終値APIの形式CryptoCompareのAPIのURL形式は、以下のようになっています。他の時間軸のローソク足を取得したい場合は、URLを以下のように変更します。以下のURLはそのままアクセスできます。確認してみてください。期間の指定は、末尾の日時のみ「?toTS=XXXXXX(UNIXタイムスタンプ)」の形式で指定できます。どのような指定方法を使っても、直近の2000件以上を遡って取得することはできないようです。「&limit=2000」と併用した場合は期間指定は無視されて合計2000件の取得となります。直近の足へのリアルタイム価格の反映は10分に1回しか行われていないようです。これはCryptowatchのAPIとの大きな違いです。直近の足だけを20秒に1回取得してみた結果そのため、リアルタイム価格を使って損切り等の何らかの判定をおこないたい場合は、同時にCryptoCompareの1分足のデータを取得するか、BitflyerのパブリックAPIを利用してリアルタイム価格を取得する必要があります。昔はなかったのですが、現在はCryptocompareのAPIの無料版には使用回数の制限があるみたいです。BOTユーザー様に提供しただいたAPIのログ情報によると、2021年3月時点では、以下のようになっているようです。20回まで1分間に1回使用する程度なら、月間46300回なのでおそらく問題ありません。30秒に1回だと月間86400回で、おそらくオーバーします。いずれも1日あたりの使用回数には問題ありません。してみるとわかりますが、APIの使用制限にかかっている場合、Cryptocompareからは以下のような返り値があります。RateLimitに注目してください。あなたが直近でAPIを使用した回数。許容される最大の使用回数です。戻り値は空データなので、あと何回までAPIが使用できるかはわかりません。公式ページの説明によると、もし無料アカウントを開設すると、以下のようにダッシュボード形式でAPIの使用回数や残りの回数が見れるようになるようです。・Cryptocompare公式ガイド「CryptocompareAPIの使い方」API経由で残りの使用回数を確認する以下のAPIを確認することで、残りのAPIの使用回数(APIリミット)を確認できるみたいです。こちらのAPIを使って使用頻度を調整するようにBOTを作成してもいいかもしれません。残りの使用可能な回数(calls_left)を取得できるので使いやすそうです。AMいつも大変勉強にさせていただいています。よろしければmatplotlib.financeとcryptowatchのAPIを利用したロウソク足の描画についての記事も見てみたいです。コメントをキャンセルメールアドレスが公開されることはありません。