From 960d088debec36f67834ffecc1c1a35bfa7d166c Mon Sep 17 00:00:00 2001 From: Jean-Baptiste LE STANG Date: Sat, 20 Jan 2018 15:03:12 +0100 Subject: [PATCH 1/2] Fixing the 'BV' key being missing for USDT --- freqtrade/analyze.py | 3 ++- freqtrade/tests/conftest.py | 3 --- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/freqtrade/analyze.py b/freqtrade/analyze.py index cee5d175a..fc2395feb 100644 --- a/freqtrade/analyze.py +++ b/freqtrade/analyze.py @@ -30,8 +30,9 @@ def parse_ticker_dataframe(ticker: list) -> DataFrame: """ columns = {'C': 'close', 'V': 'volume', 'O': 'open', 'H': 'high', 'L': 'low', 'T': 'date'} frame = DataFrame(ticker) \ - .drop('BV', 1) \ .rename(columns=columns) + if 'BV' in frame: + frame.drop('BV', 1, inplace=True) frame['date'] = to_datetime(frame['date'], utc=True, infer_datetime_format=True) frame.sort_values('date', inplace=True) return frame diff --git a/freqtrade/tests/conftest.py b/freqtrade/tests/conftest.py index 37dc3e894..6bfb529c9 100644 --- a/freqtrade/tests/conftest.py +++ b/freqtrade/tests/conftest.py @@ -196,7 +196,6 @@ def ticker_history(): "C": 8.88e-05, "V": 991.09056638, "T": "2017-11-26T08:50:00", - "BV": 0.0877869 }, { "O": 8.88e-05, @@ -205,7 +204,6 @@ def ticker_history(): "C": 8.893e-05, "V": 658.77935965, "T": "2017-11-26T08:55:00", - "BV": 0.05874751 }, { "O": 8.891e-05, @@ -214,6 +212,5 @@ def ticker_history(): "C": 8.877e-05, "V": 7920.73570705, "T": "2017-11-26T09:00:00", - "BV": 0.7039405 } ] From c0d3ac5534ec40704017e28769059669f98c46ed Mon Sep 17 00:00:00 2001 From: Jean-Baptiste LE STANG Date: Sun, 21 Jan 2018 14:25:15 +0100 Subject: [PATCH 2/2] With a better unit test thanks @glonlas --- freqtrade/tests/conftest.py | 33 +++++++++++++++++++++++++++++++++ freqtrade/tests/test_analyze.py | 13 +++++++++++++ 2 files changed, 46 insertions(+) diff --git a/freqtrade/tests/conftest.py b/freqtrade/tests/conftest.py index 6bfb529c9..7709eae30 100644 --- a/freqtrade/tests/conftest.py +++ b/freqtrade/tests/conftest.py @@ -196,6 +196,7 @@ def ticker_history(): "C": 8.88e-05, "V": 991.09056638, "T": "2017-11-26T08:50:00", + "BV": 0.0877869 }, { "O": 8.88e-05, @@ -204,6 +205,7 @@ def ticker_history(): "C": 8.893e-05, "V": 658.77935965, "T": "2017-11-26T08:55:00", + "BV": 0.05874751 }, { "O": 8.891e-05, @@ -212,5 +214,36 @@ def ticker_history(): "C": 8.877e-05, "V": 7920.73570705, "T": "2017-11-26T09:00:00", + "BV": 0.7039405 + } + ] + + +@pytest.fixture +def ticker_history_without_bv(): + return [ + { + "O": 8.794e-05, + "H": 8.948e-05, + "L": 8.794e-05, + "C": 8.88e-05, + "V": 991.09056638, + "T": "2017-11-26T08:50:00" + }, + { + "O": 8.88e-05, + "H": 8.942e-05, + "L": 8.88e-05, + "C": 8.893e-05, + "V": 658.77935965, + "T": "2017-11-26T08:55:00" + }, + { + "O": 8.891e-05, + "H": 8.893e-05, + "L": 8.875e-05, + "C": 8.877e-05, + "V": 7920.73570705, + "T": "2017-11-26T09:00:00" } ] diff --git a/freqtrade/tests/test_analyze.py b/freqtrade/tests/test_analyze.py index 8da38fcd7..4c8378b3e 100644 --- a/freqtrade/tests/test_analyze.py +++ b/freqtrade/tests/test_analyze.py @@ -72,3 +72,16 @@ def test_get_signal_handles_exceptions(mocker): side_effect=Exception('invalid ticker history ')) assert get_signal('BTC-ETH', 5) == (False, False) + + +def test_parse_ticker_dataframe(ticker_history, ticker_history_without_bv): + + columns = ['close', 'high', 'low', 'open', 'date', 'volume'] + + # Test file with BV data + dataframe = parse_ticker_dataframe(ticker_history) + assert dataframe.columns.tolist() == columns + + # Test file without BV data + dataframe = parse_ticker_dataframe(ticker_history_without_bv) + assert dataframe.columns.tolist() == columns