示例#1
0
def test_get_timerange(default_conf, mocker, testdatadir) -> None:
    patch_exchange(mocker)

    default_conf.update({'strategy': 'DefaultStrategy'})
    strategy = StrategyResolver.load_strategy(default_conf)

    data = strategy.ohlcvdata_to_dataframe(
        load_data(datadir=testdatadir, timeframe='1m', pairs=['UNITTEST/BTC']))
    min_date, max_date = get_timerange(data)
    assert min_date.isoformat() == '2017-11-04T23:02:00+00:00'
    assert max_date.isoformat() == '2017-11-14T22:58:00+00:00'
示例#2
0
def test_get_timerange(default_conf, mocker, testdatadir) -> None:
    patch_exchange(mocker)

    default_conf.update({'strategy': CURRENT_TEST_STRATEGY})
    strategy = StrategyResolver.load_strategy(default_conf)

    data = strategy.advise_all_indicators(
        load_data(datadir=testdatadir, timeframe='1m', pairs=['UNITTEST/BTC']))
    min_date, max_date = get_timerange(data)
    assert min_date.isoformat() == '2017-11-04T23:02:00+00:00'
    assert max_date.isoformat() == '2017-11-14T22:58:00+00:00'
示例#3
0
def test_validate_backtest_data(default_conf, mocker, caplog,
                                testdatadir) -> None:
    patch_exchange(mocker)

    default_conf.update({'strategy': 'DefaultStrategy'})
    strategy = StrategyResolver.load_strategy(default_conf)

    timerange = TimeRange('index', 'index', 200, 250)
    data = strategy.ohlcvdata_to_dataframe(
        load_data(datadir=testdatadir,
                  timeframe='5m',
                  pairs=['UNITTEST/BTC'],
                  timerange=timerange))

    min_date, max_date = get_timerange(data)
    caplog.clear()
    assert not validate_backtest_data(data['UNITTEST/BTC'], 'UNITTEST/BTC',
                                      min_date, max_date,
                                      timeframe_to_minutes('5m'))
    assert len(caplog.record_tuples) == 0
示例#4
0
def test_validate_backtest_data_warn(default_conf, mocker, caplog,
                                     testdatadir) -> None:
    patch_exchange(mocker)

    default_conf.update({'strategy': 'DefaultStrategy'})
    strategy = StrategyResolver.load_strategy(default_conf)

    data = strategy.ohlcvdata_to_dataframe(
        load_data(datadir=testdatadir,
                  timeframe='1m',
                  pairs=['UNITTEST/BTC'],
                  fill_up_missing=False))
    min_date, max_date = get_timerange(data)
    caplog.clear()
    assert validate_backtest_data(data['UNITTEST/BTC'],
                                  'UNITTEST/BTC', min_date, max_date,
                                  timeframe_to_minutes('1m'))
    assert len(caplog.record_tuples) == 1
    assert log_has(
        "UNITTEST/BTC has missing frames: expected 14396, got 13680, that's 716 missing values",
        caplog)