freqtrade_origin/freqtrade/tests/strategy/test_default_strategy.py

36 lines
1.2 KiB
Python
Raw Normal View History

2018-01-15 08:35:11 +00:00
import json
2018-03-17 21:44:47 +00:00
2018-01-15 08:35:11 +00:00
import pytest
from pandas import DataFrame
2018-03-17 21:44:47 +00:00
2018-12-12 19:16:03 +00:00
from freqtrade.data.converter import parse_ticker_dataframe
from freqtrade.strategy.default_strategy import DefaultStrategy
2018-01-15 08:35:11 +00:00
@pytest.fixture
def result():
with open('freqtrade/tests/testdata/ETH_BTC-1m.json') as data_file:
return parse_ticker_dataframe(json.load(data_file), '1m', fill_missing=True)
2018-01-15 08:35:11 +00:00
2018-01-18 05:50:12 +00:00
2018-01-15 08:35:11 +00:00
def test_default_strategy_structure():
assert hasattr(DefaultStrategy, 'minimal_roi')
assert hasattr(DefaultStrategy, 'stoploss')
assert hasattr(DefaultStrategy, 'ticker_interval')
2018-01-15 08:35:11 +00:00
assert hasattr(DefaultStrategy, 'populate_indicators')
assert hasattr(DefaultStrategy, 'populate_buy_trend')
assert hasattr(DefaultStrategy, 'populate_sell_trend')
2018-01-18 05:50:12 +00:00
2018-01-15 08:35:11 +00:00
def test_default_strategy(result):
strategy = DefaultStrategy({})
2018-01-15 08:35:11 +00:00
metadata = {'pair': 'ETH/BTC'}
2018-01-15 08:35:11 +00:00
assert type(strategy.minimal_roi) is dict
assert type(strategy.stoploss) is float
assert type(strategy.ticker_interval) is str
indicators = strategy.populate_indicators(result, metadata)
2018-01-15 08:35:11 +00:00
assert type(indicators) is DataFrame
assert type(strategy.populate_buy_trend(indicators, metadata)) is DataFrame
assert type(strategy.populate_sell_trend(indicators, metadata)) is DataFrame