예제 #1
0
파일: Main.cs 프로젝트: umby24/ZBase
        private static void Setup()
        {
            var myLogger = new Logger();

            myLogger.Setup();

            Logger.Log(LogType.Debug, "Loading configuration...");
            Configuration.Load(); // -- Load server settings.
            Logger.Log(LogType.Debug, "Done");

            var wd = new Watchdog();

            TaskScheduler.RegisterTask("Watchdog", wd);
            TaskScheduler.RegisterTask("Heartbeat", new Heartbeat());
            TaskScheduler.RegisterTask("Blocks", new BlockManager());
            TaskScheduler.RegisterTask("PluginManager", new PluginManager());
            CommandHandler.RegisterInternalCommands();
            TaskScheduler.RegisterTask("Commands", new CommandHandler());

            TaskScheduler.RunSetupTasks();
            _server = new Server();

            LoadMaps();

            FillManager.LoadFills();
        }
예제 #2
0
        public Strategy()
        {
            var logName = this.GetType().FullName;

            if (this.GetType().Name != Name)
            {
                logName += "." + Name;
            }
            instanceLog = Factory.SysLog.GetLogger(logName);
            debug       = instanceLog.IsDebugEnabled;
            trace       = instanceLog.IsTraceEnabled;
            position    = new PositionCommon(this);
            if (trace)
            {
                instanceLog.Trace("Constructor");
            }
            Chain.Dependencies.Clear();
            isStrategy = true;
            result     = new Result(this);

            exitActiveNow            = new ExitCommon(this);
            enterActiveNow           = new EnterCommon(this);
            reverseActiveNow         = new ReverseCommon(this);
            changeActiveNow          = new ChangeCommon(this);
            changeNextBar            = new ChangeCommon(this);
            changeNextBar.Orders     = changeActiveNow.Orders;
            changeNextBar.IsNextBar  = true;
            reverseNextBar           = new ReverseCommon(this);
            reverseNextBar.Orders    = reverseActiveNow.Orders;
            reverseNextBar.IsNextBar = true;
            exitNextBar            = new ExitCommon(this);
            exitNextBar.Orders     = exitActiveNow.Orders;
            exitNextBar.IsNextBar  = true;
            enterNextBar           = new EnterCommon(this);
            enterNextBar.Orders    = enterActiveNow.Orders;
            enterNextBar.IsNextBar = true;
            orders = new OrderHandlers(enterActiveNow, enterNextBar,
                                       exitActiveNow, exitNextBar,
                                       reverseActiveNow, reverseNextBar,
                                       changeActiveNow, changeNextBar);

            // Interceptors.
            performance  = new Performance(this);
            exitStrategy = new ExitStrategy(this);

            preFillManager                       = new FillManager(this);
            postFillManager                      = new FillManager(this);
            postFillManager.PostProcess          = true;
            postFillManager.ChangePosition       = exitStrategy.Position.Change;
            postFillManager.DoStrategyOrders     = false;
            postFillManager.DoStrategyOrders     = false;
            postFillManager.DoExitStrategyOrders = true;
        }