Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
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()
Ejemplo n.º 5
0
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
Ejemplo n.º 7
0
    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
Ejemplo n.º 8
0
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()
Ejemplo n.º 9
0
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()