From f3dca74e87dae8e9c144b1d31369956e3eb702d6 Mon Sep 17 00:00:00 2001 From: fredfortier Date: Fri, 17 Nov 2017 19:40:49 -0500 Subject: [PATCH] BUG: fixed a get_candles issue with the Poloniex exchange --- catalyst/exchange/poloniex/poloniex.py | 5 ++--- tests/exchange/test_poloniex.py | 26 ++++++++++++++------------ 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/catalyst/exchange/poloniex/poloniex.py b/catalyst/exchange/poloniex/poloniex.py index 62845845..0d283d8b 100644 --- a/catalyst/exchange/poloniex/poloniex.py +++ b/catalyst/exchange/poloniex/poloniex.py @@ -226,10 +226,9 @@ class Poloniex(Exchange): ohlc_map = dict() for asset in asset_list: + delta = end_dt - pd.to_datetime('1970-1-1', utc=True) + end = int(delta.total_seconds()) - # TODO: what's wrong with this? - # end = int(time.mktime(end_dt.timetuple())) - end = int(time.time()) if bar_count is None: start = end - 2 * frequency else: diff --git a/tests/exchange/test_poloniex.py b/tests/exchange/test_poloniex.py index b2ad56c3..60ff1e65 100644 --- a/tests/exchange/test_poloniex.py +++ b/tests/exchange/test_poloniex.py @@ -1,9 +1,10 @@ -from catalyst.exchange.bittrex.bittrex import Bittrex from catalyst.exchange.poloniex.poloniex import Poloniex from catalyst.finance.order import Order from base import BaseExchangeTestCase from logbook import Logger from catalyst.exchange.exchange_utils import get_exchange_auth +import pandas as pd +from test_utils import output_df log = Logger('test_poloniex') @@ -51,18 +52,19 @@ class TestPoloniex(BaseExchangeTestCase): def test_get_candles(self): log.info('retrieving candles') - ohlcv_neo = self.exchange.get_candles( - freq='5T', - assets=self.exchange.get_asset('eth_btc') - ) - ohlcv_neo_ubq = self.exchange.get_candles( - freq='5T', - assets=[ - self.exchange.get_asset('neos_btc'), - self.exchange.get_asset('via_btc') - ], - bar_count=14 + assets = self.exchange.get_asset('eth_btc') + ohlcv = self.exchange.get_candles( + end_dt=pd.to_datetime('2017-11-01', utc=True), + freq='30T', + assets=assets, + bar_count=200 ) + df = pd.DataFrame(ohlcv) + df.set_index('last_traded', drop=True, inplace=True) + log.info(df.tail(25)) + + path = output_df(df, assets, 'candles') + log.info('saved candles: {}'.format(path)) pass def test_tickers(self):