async def future_exchange_manager(): exchange_manager_instance = ExchangeManager(load_test_config(), DEFAULT_EXCHANGE_NAME) exchange_manager_instance.is_spot_only = False exchange_manager_instance.is_future = True await exchange_manager_instance.initialize() yield exchange_manager_instance cancel_ccxt_throttle_task() await exchange_manager_instance.stop() # let updaters gracefully shutdown await wait_asyncio_next_cycle()
async def init_default(simulated=True, is_future=False): config = load_test_config() exchange_manager = ExchangeManager(config, TestTrader.EXCHANGE_MANAGER_CLASS_STRING) exchange_manager.is_simulated = simulated exchange_manager.is_future = is_future await exchange_manager.initialize() trader = TraderSimulator(config, exchange_manager) await trader.initialize() # set afterwards backtesting attribute to force orders instant initialization exchange_manager.is_backtesting = True return config, exchange_manager, trader
async def exchange_manager(request): config = None exchange_name = DEFAULT_EXCHANGE_NAME is_spot = True is_margin = False is_future = False if hasattr(request, "param"): config, exchange_name, is_spot, is_margin, is_future = request.param exchange_manager_instance = ExchangeManager(config if config is not None else load_test_config(), exchange_name) exchange_manager_instance.is_spot_only = is_spot exchange_manager_instance.is_margin = is_margin exchange_manager_instance.is_future = is_future await exchange_manager_instance.initialize() yield exchange_manager_instance cancel_ccxt_throttle_task() await exchange_manager_instance.stop() # let updaters gracefully shutdown await wait_asyncio_next_cycle()
async def backtesting_exchange_manager(request, backtesting_config, fake_backtesting): config = None exchange_name = DEFAULT_EXCHANGE_NAME is_spot = True is_margin = False is_future = False if hasattr(request, "param"): config, exchange_name, is_spot, is_margin, is_future = request.param if config is None: config = backtesting_config exchange_manager_instance = ExchangeManager(config, exchange_name) exchange_manager_instance.is_backtesting = True exchange_manager_instance.is_spot_only = is_spot exchange_manager_instance.is_margin = is_margin exchange_manager_instance.is_future = is_future exchange_manager_instance.backtesting = fake_backtesting exchange_manager_instance.backtesting.time_manager = backtesting_time.TimeManager(config) await exchange_manager_instance.initialize() yield exchange_manager_instance await exchange_manager_instance.stop()