From 685ce25b854bef44d79bee7ca7f1f06502fccbe8 Mon Sep 17 00:00:00 2001 From: Albert De La Fuente Vigliotti Date: Fri, 16 Mar 2018 16:02:40 -0300 Subject: [PATCH] Fix H candle support --- catalyst/exchange/ccxt/ccxt_exchange.py | 3 +++ catalyst/exchange/exchange.py | 4 ---- catalyst/exchange/utils/datetime_utils.py | 3 ++- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/catalyst/exchange/ccxt/ccxt_exchange.py b/catalyst/exchange/ccxt/ccxt_exchange.py index 875661e9..0c8eb808 100644 --- a/catalyst/exchange/ccxt/ccxt_exchange.py +++ b/catalyst/exchange/ccxt/ccxt_exchange.py @@ -190,6 +190,9 @@ class CCXT(Exchange): if data_frequency == 'minute' and not freq.endswith('T'): continue + elif data_frequency == 'hourly' and not freq.endswith('D'): + continue + elif data_frequency == 'daily' and not freq.endswith('D'): continue diff --git a/catalyst/exchange/exchange.py b/catalyst/exchange/exchange.py index 73593c6d..23681723 100644 --- a/catalyst/exchange/exchange.py +++ b/catalyst/exchange/exchange.py @@ -509,10 +509,6 @@ class Exchange: frequency, data_frequency, supported_freqs=['T', 'D', 'H'] ) - if unit == 'H': - raise InvalidHistoryFrequencyAlias( - freq=frequency) - # we want to avoid receiving empty candles # so we request more than needed # TODO: consider defining a const per asset diff --git a/catalyst/exchange/utils/datetime_utils.py b/catalyst/exchange/utils/datetime_utils.py index b5a03c49..03dee4f7 100644 --- a/catalyst/exchange/utils/datetime_utils.py +++ b/catalyst/exchange/utils/datetime_utils.py @@ -249,7 +249,7 @@ def get_year_start_end(dt, first_day=None, last_day=None): return year_start, year_end -def get_frequency(freq, data_frequency=None, supported_freqs=['D', 'T']): +def get_frequency(freq, data_frequency=None, supported_freqs=['D', 'H', 'T']): """ Get the frequency parameters. @@ -309,6 +309,7 @@ def get_frequency(freq, data_frequency=None, supported_freqs=['D', 'T']): if 'H' in supported_freqs: unit = 'H' alias = '{}H'.format(candle_size) + data_frequency = 'hourly' else: candle_size = candle_size * 60