Example #1
0
        public OctoBot(ICoreConfig config, bool ignoreConfig = false, bool resetTradingHistory = false)
        {
            StartTime           = DateTimeOffset.Now;
            Config              = config;
            ResetTradingHistory = resetTradingHistory;
            StartupConfig       = config.DeepClone();
            EditedConfig        = config.DeepClone();

            // tools: используется для альтернативных операций в ботом на лету (например, «backtesting» запускается из веб-интерфейса)
            Tools = new Dictionary <string, object>()
            {
                { ConfigVars.BOT_TOOLS_BACKTESTING, null },
                { ConfigVars.BOT_TOOLS_STRATEGY_OPTIMIZER, null },
                { ConfigVars.BOT_TOOLS_RECORDER, null }
            };

            // уникальное значение сеанса aiohttp: инициализируется из геттера в задаче
            AioHttpSession = null;

            // metrics если включены
            MetricsHandler = null;

            // Logger
            loggingService = Application.Resolve <ILoggingService>();

            Initializer      = new Initializer(this);
            TaskManager      = new TaskManager(this);
            ExchangeFactory  = new ExchangeFactory(this, ignoreConfig);
            EvaluatorFactory = new EvaluatorFactory(this);
        }
Example #2
0
        async public Task Initialize()
        {
            await Initializer.Create();

            TaskManager.InitAsyncLoop();
            await ExchangeFactory.Create();

            EvaluatorFactory.Create();
        }