Module: Cryptocompare::HistoDay

Defined in:
lib/cryptocompare/histo_day.rb

Constant Summary collapse

API_URL =
'https://min-api.cryptocompare.com/data/histoday'

Class Method Summary collapse

Class Method Details

.find(from_sym, to_sym, opts = {}) ⇒ Object

Get open, high, low, close, volumefrom and volumeto daily historical data. The values are based on 00:00 GMT time. It uses BTC conversion if data is not available because the coin is not trading in the specified currency.

Parameters

  • from_sym [String] - (required) currency symbol (ex: ‘BTC’, ‘ETH’, ‘LTC’, ‘USD’, ‘EUR’, ‘CNY’)

  • to_syms [String, Array] - (required) currency symbol(s) (ex: ‘USD’, ‘EUR’, ‘CNY’, ‘USD’, ‘EUR’, ‘CNY’)

  • opts [Hash] - (optional) options hash

Options

  • e [String] - (optional) name of exchange (ex: ‘Coinbase’,‘Poloniex’) Default: CCCAGG.

  • limit [Integer] - (optional) limit. Default 30. Max 2000. Must be positive integer. Returns limit + 1 data points.

  • agg [Integer] - (optional) number of data points to aggregate. Default 1.

  • to_ts [Integer] - (optional) timestamp. Use the timestamp option to set a historical start point. By default, it gets historical data for the past several days.

  • tc [Boolean] - (optional) try conversion. Default true. If the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion.

  • all_data [Boolean] - (optional) all data. Default false. Returns all available data instead of limit.

Returns

Hash

Returns a hash containing data as an array of hashes containing info such as open, high, low, close, volumefrom and volumeto for each day.

Examples

Cryptocompare::HistoDay.find('BTC', 'USD')

Sample response

{
  Response: "Success",
  Type: 100,
  Aggregated: false,
  Data: [
    {
      time: 1500854400,
      close: 2763.42,
      high: 2798.89,
      low: 2715.69,
      open: 2756.61,
      volumefrom: 83009.25,
      volumeto: 229047365.02
    },
    {
      time: 1500940800,
      close: 2582.58,
      high: 2779.08,
      low: 2472.62,
      open: 2763.42,
      volumefrom: 205883.15,
      volumeto: 534765380.75
    },
    ...
  ],
  TimeTo: 1503446400,
  TimeFrom: 1500854400,
  FirstValueInArray: true,
  ConversionType: {
    type: "direct",
    conversionSymbol: ""
  }
}


72
73
74
75
76
77
78
79
80
81
# File 'lib/cryptocompare/histo_day.rb', line 72

def self.find(from_sym, to_sym, opts = {})
  params = {
    'from_sym' => from_sym,
    'to_sym'   => to_sym
  }.merge!(opts)

  full_path = QueryParamHelper.set_query_params(API_URL, params)
  api_resp = Faraday.get(full_path)
  JSON.parse(api_resp.body)
end