Bitfinexで指定した通貨ペアの取引量を取得する(API v1)(PowerShell)

PowerShellでBitfinexのStats(取引量)を取得する例を以下に記します。


スポンサーリンク

参考資料

BitfinexのStats情報を取得するAPIドキュメントURL
API仕様は、以下のURLで確認してください。
https://bitfinex.readme.io/v1/reference#rest-public-stats

関連記事

ブラウザでアクセスしてみる

以下、URLでStats(取引量)を取得できます。

通貨シンボル一覧(通貨ペア一覧)については、以下のリンク記事を参考にしてください。

PowerShellによるアクセス

PowerShellのInvoke-RestMethodコマンドレットと、
Invoke-WebRequest+ConvertFrom-Jsonコマンドレットを使って、\
BitfinexのStats(取引量)を取得してみます。

Invoke-RestMethodコマンドレットでTickerを取得してみる

Invoke-RestMethodコマンドレットを使用して、BitfinexのStatsを取得する操作例になります。

以下の操作例は、ETH/BTC, BTC/USD, XLM/JPYの通貨ペアを取得しています。
''通貨シンボル一覧(通貨ペア一覧)については、以下のリンク記事を参考にしてください。

PS C:\> $v1_stats_api = "https://api.bitfinex.com/v1/stats/"
PS C:\> $symbol = "ethbtc"
PS C:\> $stats = Invoke-RestMethod -UseBasicParsing ($v1_stats_api + $symbol)
PS C:\> $stats

period volume
------ ------
     1 8259.31627208
     7 92364.02434544
    30 542880.30422806

PS C:\> $stats = Invoke-RestMethod -UseBasicParsing ($v1_stats_api + $symbol)
PS C:\> $stats

period volume
------ ------
     1 14889.14206645
     7 126956.19372522
    30 695910.44758821

PS C:\> $symbol = "xlmjpy"
PS C:\> $stats = Invoke-RestMethod -UseBasicParsing ($v1_stats_api + $symbol)
PS C:\> $stats

period volume
------ ------
     1 6213.15634006
     7 112901.38827411
    30 314271.02362465

Invoke-WebRequest+ConvertFrom-JsonコマンドレットでTickerを取得する

Invoke-WebRequest使うことにより、HTTPステータスや、Content-Typeなどを取得することができます。
取得したContent部分をConvertFrom-Jsonコマンドレットを使うことにより、Invoke-RestMethodと同様に、
JSON形式でアクセスすることができます。

  1. Invoke-WebRequestでStats APIをアクセス
    PS C:\> $btcusd_stats_url = "https://api.bitfinex.com/v1/stats/btcusd"
    PS C:\> $response = Invoke-WebRequest -UseBasicParsing $btcusd_stats_url
  2. 取得したレスポンスを表示します。
    PS C:\> $response
    
    StatusCode        : 200
    StatusDescription : OK
    Content           : [{"period":1,"volume":"14889.14206645"},{"period":7,"volume":"126956.19372522"},{"period":30,"volum
                        e":"695910.44758821"}]
    RawContent        : HTTP/1.1 200 OK
                        Connection: keep-alive
                        X-Frame-Options: SAMEORIGIN,SAMEORIGIN
                        X-XSS-Protection: 1; mode=block
                        X-Content-Type-Options: nosniff
                        X-Request-Id: bc4db695-c18d-4e2d-9d03-22e71779a69b
                        X...
    Forms             :
    Headers           : {[Connection, keep-alive], [X-Frame-Options, SAMEORIGIN,SAMEORIGIN], [X-XSS-Protection, 1; mode=blo
                        ck], [X-Content-Type-Options, nosniff]...}
    Images            : {}
    InputFields       : {}
    Links             : {}
    ParsedHtml        :
    RawContentLength  : 121
  3. ステータスコード、Content-Typeなどの値にアクセスしてみます。
    PS C:\> $response.StatusCode
    200
    
    PS C:\> $response.Headers.'Content-Type'
    application/json; charset=utf-8
  4. ConvertFrom-Jsonコマンドレットを使うことにより、JSON形式に変換することができます。
    PS C:\> $json = ConvertFrom-Json $response.Content
    PS C:\> $json
    
    period volume
    ------ ------
         1 20520.94195427
         7 132625.56040943
        30 701735.04395049 

Webの応答を読み取っています。(Waiting for response)を非表示にする方法

上記のコマンドレットを実行すると、APIサーバとのやり取りのプログレスメッセージが表示されます。

51.png

これを非表示にしたい場合は、以下のようにしてください。

非表示にするには、$ProgressPreferenceにSilentlyContinueを設定します。
変更前は以下のように Continue が設定されています。

PS C:\> $ProgressPreference
Continue

非表示にするには、以下のように変更します。

PS C:\> $ProgressPreference = "SilentlyContinue"

以上、PowerShellを使って、BitfinexのStats APIを呼び出す方法でした。


スポンサーリンク

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS