他のプログラミング言語でもデータを取得できますが、このブログでは硬派にVBAを使っていきたいと思います。
・Bitmexについて
BitMEX(ビットメックス)とは?
BitMEXはどこの国にあって/誰が運営していて/安全なのか
【レバレッジ最大100倍】BitMEX(ビットメックス)の使い方
登録はこちらからどうぞ!1分で登録できます!
https://www.bitmex.com/register/oDtFNI
・OHLCVとは
始値(OPEN)、高値(HIGH)、安値(LOW)、終値(CLOSE)、出来高(VOLUME)の頭文字をつなげたものです。
ローソク足では、1日、1週間、1ヶ月などの期間を定め、期間の開始時に付いた値段を始値、期間中の最も高い値段を高値、最も安い値段を安値、期間の最後に付いた値段を終値としています。
株式投資や、暗号通貨投資などで過去のOHLCVデータから将来の価格を予想するために使われたりします。
・Excel VBAでAPIからExcelにデータを読み込む
多くの仮想通貨取引所でAPIを公開しています。当ブログでは今まではbitbankからデータを読み込んできましたが、今回は人気のBitmexを利用したいと思います。VBAではありませんが、こちらのnoteにBitmexからOHLCVデータの取得の仕方について詳しく書かれてます。色々と勉強になると思います。
APIで取得したOHLCVデータから任意の時間足を作成する
それでは、Bitmexの公式APIからOHLCVデータを取得するプログラムをお伝えします。
VBAコード
まずは、心臓部分である1番大事なデータ取得処理のところからいきましょう。
url = "https://www.bitmex.com/api/udf/history?symbol=XBTUSD&resolution=" & resolution & "&from=" & from & "&to=" & toend
Set HttpReq = CreateObject("MSXML2.XMLHTTP")
HttpReq.Open "GET", url, False
HttpReq.send
TradeJSON = HttpReq.responseText
Set HttpReq = Nothing
Set js = CreateObject("ScriptControl")
js.Language = "JScript"
js.AddCode "function jsonParse(s) { return eval('(' + s + ')'); }"
Set CryptoJSON = js.CodeObject.jsonParse(TradeJSON)
それでは部分ごとに見ていきましょう。
まず、任意のデータを取得するためのAPIのURLを指定します。
リクエストURLは、trade/bucketedからもデータを受け取れますが、Excel VBAだと長い期間のデータを取得する時に途中でエラーが出ます。下記のudf/historyからだとエラーが出ずにスムーズに処理が進みます。
url = "https://www.bitmex.com/api/udf/history?symbol=XBTUSD&resolution=" & resolution & "&from=" & from & "&to=" & toend
sendメソッドでリクエストを送信し、responseTextでレスポンスを受け取ります。CreateObjectでオブジェクトを作成します。
Set HttpReq = CreateObject("MSXML2.XMLHTTP")
HttpReq.Open "GET", url, False
HttpReq.send
TradeJSON = HttpReq.responseText
Set HttpReq = Nothing
Set js = CreateObject("ScriptControl")
js.Language = "JScript"
jsonにパースする関数を追加します。
js.AddCode "function jsonParse(s) { return eval('(' + s + ')'); }"
追加した関数を実行して結果を変数に格納します。
Set CryptoJSON = js.CodeObject.jsonParse(TradeJSON)
BitmexからVBAでOHLCVデータを取得する方法をググっても出てきませんでした。そのため、この短いプログラムでもいくらか苦労したところがあります。しかし、データを取得さえできれば後は普通にVBAを記述するだけです。
次回は配列を使ってセルにデータを格納するプログラムをお伝えします。
次回に続く
第2回 仮想通貨取引所BitmexからOHLCVデータを取得するVBAプログラム -Excel VBA
他にもエクセルツールを作成しています!
どんなに小さな額でもチップをいただけると嬉しいです!
Donate BTC: 1LcULwCQPjxLGXdpEJkhNkPpqCwG5csasU
Donate LTC: LSXEG7tjeCCGWuzvf5eFvJUZM6Xpvsdc4f
当エクセルツールから表示される情報は、
内容の正確性、信頼性等を保証するものではありません。
これらの情報に基づいて被ったいかなる損害についても、当サイトは一切の責任を負いません。