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 _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 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() return config, exchange_manager, trader
async def simulated_exchange_manager(request): config = load_test_config() exchange_name = "binance" if hasattr(request, "param"): config, exchange_name = request.param exchange_manager_instance = ExchangeManager(config, exchange_name) exchange_manager_instance.is_simulated = True await exchange_manager_instance.initialize() yield exchange_manager_instance await exchange_manager_instance.stop()
async def simulated_exchange_manager(): exchange_manager_instance = ExchangeManager(load_test_config(), DEFAULT_EXCHANGE_NAME) exchange_manager_instance.is_spot_only = True exchange_manager_instance.is_simulated = 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(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 simulated_exchange_manager(request): config = load_test_config() exchange_name = "binance" if hasattr(request, "param"): config, exchange_name = request.param exchange_manager_instance = ExchangeManager(config, exchange_name) exchange_manager_instance.is_simulated = 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 simulated_exchange_manager(request): config = load_test_config() 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, exchange_name) exchange_manager_instance.is_simulated = True 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()