2020年9月20日頃より、CryptowatchAPIに使用回数制限がかかるようになり同時に一部有料化されました。
まず最初に要点をまとめます。
要点
(1)CryptowatchのAPIを使用して情報を取得するたびに『クレジット』が消費される。
(2)無料匿名アカウントでは24時間につき10クレジットまで付与され使用可能。
(3)BitflyerFX の OHLC(ローソク足)データの価格取得では、約0.015クレジットを消費する。
(4)無料で使いたい場合は計算上は1日約666回まで使用可。つまり使用は3分間に1回程度に留める必要あり。
(5)有料契約する場合は、1ドルで100クレジットを購入可能。
以下、説明していきます。
1.無料で使い続けたい場合
公式ページのクレジット表から逆算すると、無料匿名アカウントの場合1日にAPIを使用できる回数は おそらく666回までになります。1時間で27回以下、1分間で0.45回以下です。つまり3分間(180秒)に1回程度の使用であれば、理論上は継続して使用できると思います。
クレジットが切れてしまうと、cyrptowatchのAPIを使用しても情報が返ってこなくなるため、BOTにエラーが発生します。(429 Too Many Requestsエラーが出ます)
当サイトで紹介しているBOTの作成に関してですが、1時間足以上のスイングトレードであれば、3分間に1回の情報取得でも実際のところそれほど深刻な影響はないと思います。この辺りの判断はご自身でお願いします。
2.代わりにCryptocompareを使用する場合
なお、Cryptowatchから他の価格取得APIに乗り換える場合は、以下の記事で Cryptocompare を紹介しています。
CryptoCompareのAPIを使ってBitflyerのBTCFX価格を取得しよう!
また以下はユーザー様のログから提供いただいた情報です。
cryptocompareも昔は使用回数制限はなかったのですが、2021年3月現在、以下のような使用制限があるみたいです。1分間に1回使用する程度なら、月間46300回なのでおそらく問題ありません。30秒に1回だと月間86400回で、おそらくオーバーします。
(cryptocompareの使用制限)
1カ月あたり 5万回まで
1日当たり7500回まで
1時間あたり3000回まで
1分あたり300回まで
1秒あたり 20回まで
3.Cryptowatch有料契約を検討する場合
有料契約をするには、Cryptowatchでアカウントを作成してクレジットカードを登録する必要があります。当然、当サイトとは何の関係もない外部サービスなのでご自身の判断でお願いします。勧めてるわけではありません。
例えば、30秒に1回APIを使用したい場合、1日で約33.2クレジットを消費する計算になるので、1カ月で約996クレジットの消費になります。課金は1ドル100クレジットなので、具体的にいえば月額1000円程度になると思います。
(計算例)
1日の消費クレジット = 0.015 × 2880 – 10(無料付与分) = 33.2
1分に1回APIを使用する場合は、1日で11.6クレジットなので1カ月分で348クレジット。月額500円程度になると思います。
(計算例)
1日の消費クレジット = 0.015 × 1440 – 10 = 11.6
有料APIの使い方
従来の価格取得APIを使用するコードは以下のようなものでした。
response = requests.get("https://api.cryptowat.ch/markets/bitflyer/btcfxjpy/ohlc", params = { "periods" : 60 })
有料契約した場合、専用のAPIキーが発行されます。
そのAPIキーを以下のようにURL末尾につけて、APIを使用します。
response = requests.get("https://api.cryptowat.ch/markets/bitflyer/btcfxjpy/ohlc?apikey=***************", params = { "periods" : 60 })
4.BitflyerのAPIを使う方法
外部サービスを使用せずに、BitflyerFXのAPIを使用して自分でローソク足データを形成する方法が、もしかすると今は一般的なのかもしれません。私はそれはやっていないのでわかりません。
はじめまして。
こちらのサイトを利用して、pythonの勉強をはじめました。
RSIなどの指標を追加しようとしているのですが、上手く動かす事ができません。
指標実装方法の解説などしていただけるとありがたいです。