Beispiel #1
0
def test_forming_candles():
    reset_config()
    router.set_routes([(exchanges.SANDBOX, 'BTC-USDT', timeframes.MINUTE_5,
                        'Test19')])
    router.set_extra_candles([(exchanges.SANDBOX, 'BTC-USDT',
                               timeframes.MINUTE_15)])
    store.reset(True)

    candles = {}
    key = jh.key(exchanges.SANDBOX, 'BTC-USDT')
    candles[key] = {
        'exchange': exchanges.SANDBOX,
        'symbol': 'BTC-USDT',
        'candles': test_candles_0
    }

    backtest_mode.run('2019-04-01', '2019-04-02', candles)

    # use math.ceil because it must include forming candle too
    assert len(
        store.candles.get_candles(exchanges.SANDBOX, 'BTC-USDT',
                                  timeframes.MINUTE_5)) == math.ceil(1382 / 5)
    assert len(
        store.candles.get_candles(exchanges.SANDBOX, 'BTC-USDT',
                                  timeframes.MINUTE_15)) == math.ceil(1382 /
                                                                      15)
Beispiel #2
0
def test_routes():
    # re-define routes
    router.set_routes([
        (exchanges.BITFINEX, 'ETHUSD', timeframes.HOUR_3, 'Test19'),
        (exchanges.SANDBOX, 'BTCUSD', timeframes.MINUTE_15, 'Test19'),
    ])

    router.set_extra_candles([
        (exchanges.BITFINEX, 'EOSUSD', timeframes.HOUR_3),
        (exchanges.BITFINEX, 'EOSUSD', timeframes.HOUR_1),
    ])

    # reset store for new routes to take affect
    store.reset(True)

    # now assert it's working as expected
    assert set(config['app']['trading_exchanges']) == set(
        [exchanges.SANDBOX, exchanges.BITFINEX])
    assert set(config['app']['trading_symbols']) == set(['BTCUSD', 'ETHUSD'])
    assert set(config['app']['trading_timeframes']) == set(
        [timeframes.HOUR_3, timeframes.MINUTE_15])
    assert set(config['app']['considering_exchanges']) == set(
        [exchanges.SANDBOX, exchanges.BITFINEX])
    assert set(config['app']['considering_symbols']) == set(
        ['BTCUSD', 'ETHUSD', 'EOSUSD'])
    assert set(config['app']['considering_timeframes']) == set([
        timeframes.MINUTE_1, timeframes.HOUR_3, timeframes.MINUTE_15,
        timeframes.HOUR_1
    ])
Beispiel #3
0
def set_up(routes, fee=0):
    reset_config()
    config['env']['exchanges'][exchanges.SANDBOX]['starting_balance'] = 10000
    config['env']['exchanges'][exchanges.SANDBOX]['fee'] = fee
    router.set_routes(routes)
    router.set_extra_candles([])
    store.reset(True)
Beispiel #4
0
def inject_local_routes() -> None:
    """
    injects routes from local routes folder
    """
    local_router = locate('routes')
    from jesse.routes import router

    router.set_routes(local_router.routes)
    router.set_extra_candles(local_router.extra_candles)
Beispiel #5
0
def set_up(routes, fee=0):
    reset_config()
    config['env']['exchanges'][exchanges.SANDBOX]['assets'] = [
        {'asset': 'USDT', 'balance': 1000},
        {'asset': 'BTC', 'balance': 0},
    ]
    config['env']['exchanges'][exchanges.SANDBOX]['type'] = 'margin'
    config['env']['exchanges'][exchanges.SANDBOX]['fee'] = fee
    router.set_routes(routes)
    router.set_extra_candles([])
    store.reset(True)
Beispiel #6
0
def test_routes():
    # re-define routes
    router.set_routes([
        {
            'exchange': exchanges.BITFINEX,
            'symbol': 'ETH-USD',
            'timeframe': timeframes.HOUR_3,
            'strategy': 'Test19'
        },
        {
            'exchange': exchanges.SANDBOX,
            'symbol': 'BTC-USD',
            'timeframe': timeframes.MINUTE_15,
            'strategy': 'Test19'
        },
    ])

    router.set_extra_candles([
        {
            'exchange': exchanges.BITFINEX,
            'symbol': 'EOS-USD',
            'timeframe': timeframes.HOUR_3
        },
        {
            'exchange': exchanges.BITFINEX,
            'symbol': 'EOS-USD',
            'timeframe': timeframes.HOUR_1
        },
    ])

    # reset store for new routes to take affect
    store.reset(True)

    # now assert it's working as expected
    assert set(config['app']['trading_exchanges']) == set(
        [exchanges.SANDBOX, exchanges.BITFINEX])
    assert set(config['app']['trading_symbols']) == set(['BTC-USD', 'ETH-USD'])
    assert set(config['app']['trading_timeframes']) == set(
        [timeframes.HOUR_3, timeframes.MINUTE_15])
    assert set(config['app']['considering_exchanges']) == set(
        [exchanges.SANDBOX, exchanges.BITFINEX])
    assert set(config['app']['considering_symbols']) == set(
        ['BTC-USD', 'ETH-USD', 'EOS-USD'])
    assert set(config['app']['considering_timeframes']) == set([
        timeframes.MINUTE_1, timeframes.HOUR_3, timeframes.MINUTE_15,
        timeframes.HOUR_1
    ])
Beispiel #7
0
def set_up():
    reset_config()
    from jesse.routes import router
    router.set_routes([{
        'exchange': 'Sandbox',
        'symbol': 'BTC-USD',
        'timeframe': '1m',
        'strategy': 'Test01'
    }])
    router.set_extra_candles([{
        'exchange': 'Sandbox',
        'symbol': 'BTC-USD',
        'timeframe': '5m'
    }])
    config['app']['considering_timeframes'] = ['1m', '5m']
    config['app']['considering_symbols'] = ['BTC-USD']
    config['app']['considering_exchanges'] = ['Sandbox']
    store.reset(True)
    store.candles.init_storage()