async def _get_tools(): symbol = "BTC/USDT" config = load_test_config() config[commons_constants.CONFIG_SIMULATOR][commons_constants.CONFIG_STARTING_PORTFOLIO]["SUB"] = \ 0.000000000000000000005 config[commons_constants.CONFIG_SIMULATOR][commons_constants.CONFIG_STARTING_PORTFOLIO]["BNB"] = \ 0.000000000000000000005 config[commons_constants.CONFIG_SIMULATOR][ commons_constants.CONFIG_STARTING_PORTFOLIO]["USDT"] = 2000 exchange_manager = ExchangeManager(config, "binance") # use backtesting not to spam exchanges apis exchange_manager.is_simulated = True exchange_manager.is_backtesting = True exchange_manager.backtesting = Backtesting(None, [exchange_manager.id], None, []) await exchange_manager.initialize() trader = TraderSimulator(config, exchange_manager) await trader.initialize() mode = AbstractTradingMode(config, exchange_manager) consumer = AbstractTradingModeConsumer(mode) return exchange_manager, symbol, consumer
async def backtesting_exchange_manager(request, backtesting_config, fake_backtesting): config = backtesting_config exchange_name = "binance" if hasattr(request, "param"): config, exchange_name = request.param exchange_manager_instance = ExchangeManager(config, exchange_name) exchange_manager_instance.is_backtesting = True exchange_manager_instance.backtesting = fake_backtesting exchange_manager_instance.backtesting.time_manager = TimeManager(config) await exchange_manager_instance.initialize() yield exchange_manager_instance await exchange_manager_instance.stop()
async def init_default(config=None, simulated=True, backtesting=False): if not config: config = load_test_config() exchange_manager = ExchangeManager(config, TestExchangeManager.EXCHANGE_NAME) exchange_manager.is_simulated = simulated exchange_manager.is_backtesting = backtesting if backtesting: exchange_manager.backtesting = Backtesting(None, [exchange_manager.id], None, []) exchange_manager.rest_only = True await exchange_manager.initialize() return config, exchange_manager
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()