cryptocompareのAPIを使ったビットコイン価格取得ソース(1分足、1時間足、日足)

※本ページはプロモーションが含まれています

cryptocompare(クリプトコンペア)の API を使ってbotを作っていますが、ビットコインの価格をどうやって取得しているのかという質問が届いたので、C使いやすいように関数化してみました。ご参考ください。

目次

ソース

引数にチェックする通貨シンボル、基軸のシンボル、時間軸を文字列で渡すと、JSON形のリストで、OHLCVを返す関数です。

インポートするライブラリ

import requests

関数

#
# CryptoCompareの価格データを取得する関数
#
# 引数
#     my_fsym = チェックする通貨シンボル(BTC)
#     my_tsym = 基軸シンボル(JPY, USD)
#     my_time  = 時間軸(histominute,histohour,histoday)
#
def get_price_cryptocompare(my_fsym,my_tsym,my_time):

    price = []
    params = {"fsym":my_fsym,"tsym":my_tsym,"limit":2000 }

    #リクエスト
    response = requests.get("https://min-api.cryptocompare.com/data/" + my_time,params, timeout = 10)
    
    #JSONに変換
    data = response.json()

    #レスポンス成功?
    if data["Response"] == "Success":
        for ii in data["Data"]:
            my_week = int(datetime.datetime.fromtimestamp(ii["time"]).weekday())
            my_date = datetime.datetime.fromtimestamp(ii['time'])

            #リストに追加
            price.append({"date" : my_date,
                "open_price" : ii["open"],
                "high_price" : ii["high"],
                "low_price" : ii["low"],
                "close_price": ii["close"],
                "volume":ii["volumefrom"]})

        return price

    else:
        print("エラー")
        return None
矢野テック
矢野テック

この API を使うにあたっては特にcryptocompareでの登録は必要なくてそのまま呼び出せば OK です。ただし使用制限があるので、短時間に高頻度の呼び出しは禁物です。

呼び出し例

#cryptocompareからOHLCV取得
data_ohlcv = get_price_cryptocompare("BTC","JPY","histoday")

cryptocompareについて

APIについて

CoinDesk.com
CoinDesk | API Documentation: Integrating Live & Historical Crypto Data Explore CoinDesk's API documentation for seamless integration of live and historical cryptocurrency data, including BTC and ETH prices, social insights, news, a...

cryptocompareで取得できる時間軸

cryptocompareで取得可能な時間軸は3つです。1分足のOHLCVデータを取得可能な場所は、ほとんどないので、かなり貴重です。

  • histominute:1分足
  • histohour:1時間足
  • histoday:日足

5分足を取得したい場合

5分足のデータは直接取得出来ません。使いたい場合は、一旦1分足で取得した後に、リストを5本ずつまとめ直す必要があります。まあまあ面倒。

BTC以外の通貨を取得したい場合

最初の引数のmy_fsymを以下の様に変更すればOKです。

  • ドル = “USD”
  • ポンド = “GBP”
  • ユーロ = “EUR”
矢野テック
矢野テック

調べてもよく分からなかったのですが、日経や、その他、株価も、シンボル名さえ分かれば取得できると思います。

 

ブログランキングに参加してます。この記事が少しでもお役に立ちましたら、応援ポチっとお願いします。

にほんブログ村 為替ブログ システムトレード 自作EA派へ
にほんブログ村

お友達にMT4インジケータープレゼント中

機械学習使った日々の予測結果や、細かい試行錯誤の結果はLINEで公開しています。パスワード付き記事もこちらから。

また、今ならお友達には矢野テック自作のMT4用のインジケーターをプレゼント中です。

友だち追加

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

プログラマー。FXのMT4を使った自動売買EA作成やBOT作成などが趣味。2016年から元本10万円をどこまで増やせるか挑戦中。一旦は10万⇒700万⇒2017暴落 20万。ガチホからFXトレードに変更。 現在1000万円。その過程やノウハウは無料メール講座にまとめました。1か月で学べます。→無料メール講座

ご質問はコメント欄からお願いします

コメントする

目次