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)
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 ])
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)
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)
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)
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 ])
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()