Fix some obtruse (test)bugs

This commit is contained in:
Matthias
2021-12-07 07:25:00 +01:00
parent ba1091b9e4
commit a870e0962a
4 changed files with 64 additions and 55 deletions

View File

@@ -5,6 +5,7 @@ import pandas as pd
import pytest
from freqtrade.data.dataprovider import DataProvider
from freqtrade.enums.candletype import CandleType
from freqtrade.strategy import (merge_informative_pair, stoploss_from_absolute, stoploss_from_open,
timeframe_to_minutes)
from tests.conftest import get_patched_exchange
@@ -151,18 +152,18 @@ def test_informative_decorator(mocker, default_conf):
test_data_30m = generate_test_data('30m', 40)
test_data_1h = generate_test_data('1h', 40)
data = {
('XRP/USDT', '5m', ''): test_data_5m,
('XRP/USDT', '30m', ''): test_data_30m,
('XRP/USDT', '1h', ''): test_data_1h,
('LTC/USDT', '5m', ''): test_data_5m,
('LTC/USDT', '30m', ''): test_data_30m,
('LTC/USDT', '1h', ''): test_data_1h,
('NEO/USDT', '30m', ''): test_data_30m,
('NEO/USDT', '5m', ''): test_data_5m,
('NEO/USDT', '1h', ''): test_data_1h,
('ETH/USDT', '1h', ''): test_data_1h,
('ETH/USDT', '30m', ''): test_data_30m,
('ETH/BTC', '1h', ''): test_data_1h,
('XRP/USDT', '5m', CandleType.SPOT_): test_data_5m,
('XRP/USDT', '30m', CandleType.SPOT_): test_data_30m,
('XRP/USDT', '1h', CandleType.SPOT_): test_data_1h,
('LTC/USDT', '5m', CandleType.SPOT_): test_data_5m,
('LTC/USDT', '30m', CandleType.SPOT_): test_data_30m,
('LTC/USDT', '1h', CandleType.SPOT_): test_data_1h,
('NEO/USDT', '30m', CandleType.SPOT_): test_data_30m,
('NEO/USDT', '5m', CandleType.SPOT_): test_data_5m,
('NEO/USDT', '1h', CandleType.SPOT_): test_data_1h,
('ETH/USDT', '1h', CandleType.SPOT_): test_data_1h,
('ETH/USDT', '30m', CandleType.SPOT_): test_data_30m,
('ETH/BTC', '1h', CandleType.SPOT_): test_data_1h,
}
from .strats.informative_decorator_strategy import InformativeDecoratorTest
default_conf['stake_currency'] = 'USDT'
@@ -174,9 +175,16 @@ def test_informative_decorator(mocker, default_conf):
])
assert len(strategy._ft_informative) == 6 # Equal to number of decorators used
informative_pairs = [('XRP/USDT', '1h', ''), ('LTC/USDT', '1h', ''), ('XRP/USDT', '30m', ''),
('LTC/USDT', '30m', ''), ('NEO/USDT', '1h', ''), ('NEO/USDT', '30m', ''),
('NEO/USDT', '5m', ''), ('ETH/BTC', '1h', ''), ('ETH/USDT', '30m', '')]
informative_pairs = [
('XRP/USDT', '1h', CandleType.SPOT_),
('LTC/USDT', '1h', CandleType.SPOT_),
('XRP/USDT', '30m', CandleType.SPOT_),
('LTC/USDT', '30m', CandleType.SPOT_),
('NEO/USDT', '1h', CandleType.SPOT_),
('NEO/USDT', '30m', CandleType.SPOT_),
('NEO/USDT', '5m', CandleType.SPOT_),
('ETH/BTC', '1h', CandleType.SPOT_),
('ETH/USDT', '30m', CandleType.SPOT_)]
for inf_pair in informative_pairs:
assert inf_pair in strategy.gather_informative_pairs()
@@ -186,7 +194,7 @@ def test_informative_decorator(mocker, default_conf):
side_effect=test_historic_ohlcv)
analyzed = strategy.advise_all_indicators(
{p: data[(p, strategy.timeframe, '')] for p in ('XRP/USDT', 'LTC/USDT')})
{p: data[(p, strategy.timeframe, CandleType.SPOT_)] for p in ('XRP/USDT', 'LTC/USDT')})
expected_columns = [
'rsi_1h', 'rsi_30m', # Stacked informative decorators
'neo_usdt_rsi_1h', # NEO 1h informative