コード例 #1
0
def _set_exchange_type_details(exchange_builder, config, backtesting):
    # real, simulator, backtesting
    if util.is_trader_enabled(config):
        exchange_builder.is_real()
    elif util.is_trader_simulator_enabled(config):
        exchange_builder.is_simulated()
    if backtesting is not None:
        exchange_builder.is_backtesting(backtesting)
    # use exchange sandbox
    exchange_builder.is_sandboxed(config[commons_constants.CONFIG_EXCHANGES][
        exchange_builder.exchange_name].get(
            commons_constants.CONFIG_EXCHANGE_SANDBOXED, False))
    # exchange trading type
    if config[commons_constants.CONFIG_EXCHANGES][
            exchange_builder.exchange_name].get(
                commons_constants.CONFIG_EXCHANGE_FUTURE, False):
        exchange_builder.is_future(True)
    elif config[commons_constants.CONFIG_EXCHANGES][
            exchange_builder.exchange_name].get(
                commons_constants.CONFIG_EXCHANGE_MARGIN, False):
        exchange_builder.is_margin(True)
    elif config[commons_constants.CONFIG_EXCHANGES][
            exchange_builder.exchange_name].get(
                commons_constants.CONFIG_EXCHANGE_SPOT, True):
        # Use spot trading as default trading type
        exchange_builder.is_spot_only(True)

    # rest, web socket
    if config[commons_constants.CONFIG_EXCHANGES][
            exchange_builder.exchange_name].get(
                commons_constants.CONFIG_EXCHANGE_REST_ONLY, False):
        exchange_builder.is_rest_only()
コード例 #2
0
    async def _build_trader(self):
        try:
            # check traders activation
            if not util.is_trader_enabled(self.config) and not util.is_trader_simulator_enabled(self.config):
                raise ValueError(f"No trader simulator nor real trader activated on "
                                 f"{self.exchange_manager.exchange_name}")

            await self.exchange_manager.trader.initialize()
        except ValueError as e:
            self.logger.error(f"An error occurred when creating trader : {e}")
            raise e
コード例 #3
0
    async def create(self, trading_tentacles_path=CONFIG_TRADING_FILE_PATH):
        await self.exchange_manager.initialize()

        # set sandbox mode
        if not self.is_backtesting:
            self.exchange_manager.exchange.client.setSandboxMode(
                self.is_sandboxed)

        if not self.is_simulated:
            self.trader = Trader(self.config, self.exchange_manager)
        else:
            self.trader = TraderSimulator(self.config, self.exchange_manager)

        try:
            # check traders activation
            if not is_trader_enabled(
                    self.config) and not is_trader_simulator_enabled(
                        self.config):
                raise ValueError(
                    f"No trader simulator nor real trader activated on {self.exchange_manager.exchange.name}"
                )

            # initialize trader
            await self.trader.initialize()
            self.exchange_manager.trader = self.trader

            init_trading_mode_config(self.config, trading_tentacles_path)
            await create_trading_mode(self.config, self.exchange_manager)

            # add to global exchanges
            Exchanges.instance().add_exchange(self.exchange_manager)
        except Exception as e:
            self.logger.error(
                f"An error occurred when creating trader or initializing trading mode : "
            )
            raise e
コード例 #4
0
 def is_real_trading(profile):
     if trading_util.is_trader_enabled(profile.config):
         return True
     return False
コード例 #5
0
def is_trader_enabled_in_config(config) -> bool:
    return util.is_trader_enabled(config)
コード例 #6
0
ファイル: trader.py プロジェクト: amardahiya/OctoBot-Trading
 def enabled(cls, config):
     return is_trader_enabled(config)
コード例 #7
0
 def get_enabled_trader(profile):
     if trading_util.is_trader_enabled(profile.config):
         return "Real trading"
     if trading_util.is_trader_simulator_enabled(profile.config):
         return "Simulated trading"
     return ""