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 _get_tools(): symbol = "BTC/USDT" config = load_test_config() config[CONFIG_SIMULATOR][CONFIG_STARTING_PORTFOLIO][ "SUB"] = 0.000000000000000000005 config[CONFIG_SIMULATOR][CONFIG_STARTING_PORTFOLIO][ "BNB"] = 0.000000000000000000005 config[CONFIG_SIMULATOR][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 # no backtesting file provided, except ValueError from initialize with pytest.raises(ValueError): 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 init_default(config=None, simulated=True): if not config: config = load_test_config() exchange_manager = ExchangeManager(config, TestExchangeManager.EXCHANGE_NAME) exchange_manager.is_simulated = simulated exchange_manager.is_backtesting = False exchange_manager.rest_only = True await exchange_manager.initialize() return config, exchange_manager
async def init_default(simulated=True): config = load_test_config() exchange_manager = ExchangeManager(config, TestTrader.EXCHANGE_MANAGER_CLASS_STRING) exchange_manager.is_simulated = simulated 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 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 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()