public GridOptimizerTests()
        {
            var startTime = DateTimeOffset.Now.AddDays(-10);
            var endTime   = DateTimeOffset.Now;

            _optimizerSettings = new OptimizerSettings
            {
                AccountBalance       = 10000,
                AccountLeverage      = 500,
                BacktesterType       = typeof(OhlcBacktester),
                BacktestSettingsType = typeof(BacktestSettings),
            };

            var data = SampleDataGenerator.GetSampleData(200, startTime, endTime, TimeSpan.FromDays(1));

            var symbol = new OhlcSymbol(new TimeBasedBars(TimeSpan.FromDays(1)))
            {
                Name = "Main"
            };
            var symbolData = new SymbolBacktestData(symbol, data);

            _optimizerSettings.SymbolsData = new List <ISymbolBacktestData> {
                symbolData
            };
            _optimizerSettings.BacktestSettingsParameters = new List <object>
            {
                startTime,
                endTime,
            }.ToArray();
            _optimizerSettings.TradeEngineType    = typeof(BacktestTradeEngine);
            _optimizerSettings.TimerContainerType = typeof(TimerContainer);
            _optimizerSettings.ServerType         = typeof(Server);
            _optimizerSettings.RobotSettingsType  = typeof(RobotParameters);
            _optimizerSettings.RobotType          = typeof(SampleBot);
            _optimizerSettings.Parameters         = new List <OptimizeParameter>()
            {
                new OptimizeParameter("Periods", 30, 50, 10),
                new OptimizeParameter("Deviation", 2),
                new OptimizeParameter("Range", 2000, 6000, 2000)
            };
            _optimizerSettings.BacktesterInterval = TimeSpan.FromHours(1);

            _optimizer = new GridOptimizer(_optimizerSettings);
        }
Beispiel #2
0
        private static void Optimize(ISymbol symbol, IEnumerable <IBar> data)
        {
            var startTime = data.Min(iBar => iBar.Time);
            var endTime   = data.Max(iBar => iBar.Time);

            var symbolsData = new List <ISymbolBacktestData> {
                new SymbolBacktestData(symbol, data)
            };

            var optimizerSettings = new OptimizerSettings
            {
                AccountBalance       = 10000,
                AccountLeverage      = 500,
                BacktesterType       = typeof(OhlcBacktester),
                BacktestSettingsType = typeof(BacktestSettings),
                BacktesterInterval   = TimeSpan.FromHours(1),
            };

            optimizerSettings.SymbolsData = symbolsData;
            optimizerSettings.BacktestSettingsParameters = new object[]
            {
                startTime,
                endTime,
            };
            optimizerSettings.TradeEngineType    = typeof(BacktestTradeEngine);
            optimizerSettings.TimerContainerType = typeof(TimerContainer);
            optimizerSettings.ServerType         = typeof(Server);
            optimizerSettings.RobotSettingsType  = typeof(RobotParameters);
            optimizerSettings.RobotType          = typeof(SingleSymbolMaCrossOverBot);
            optimizerSettings.Parameters         = new List <OptimizeParameter>()
            {
                new OptimizeParameter("Fast MA Period", 5, 15, 5),
                new OptimizeParameter("Slow MA Period", 20),
                new OptimizeParameter("Volume", 1)
            };

            var optimizer = new GridOptimizer(optimizerSettings);

            optimizer.OnOptimizationPassCompletionEvent += Optimizer_OnOptimizationPassCompletionEvent;
            optimizer.OnOptimizationStoppedEvent        += Optimizer_OnOptimizationStoppedEvent;
            optimizer.OnOptimizationStartedEvent        += Optimizer_OnOptimizationStartedEvent;

            optimizer.Start();
        }
Beispiel #3
0
        public OptimizerTests()
        {
            var startTime = DateTimeOffset.Now.AddDays(-10);
            var endTime   = DateTimeOffset.Now;

            _optimizerSettings = new OptimizerSettings
            {
                AccountBalance       = 10000,
                AccountLeverage      = 500,
                BacktesterType       = typeof(OhlcBacktester),
                BacktestSettingsType = typeof(BacktestSettings),
            };

            var data = SampleDataGenerator.GetSampleData(200, startTime, endTime, TimeSpan.FromDays(1));

            var symbol = new OhlcSymbol(new Mock <IBars>().Object)
            {
                Name = "Main"
            };
            var symbolData = new SymbolBacktestData(symbol, data);

            _optimizerSettings.SymbolsData = new List <ISymbolBacktestData> {
                symbolData
            };
            _optimizerSettings.BacktestSettingsParameters = new List <object>
            {
                startTime,
                endTime,
            }.ToArray();
            _optimizerSettings.TradeEngineType          = typeof(BacktestTradeEngine);
            _optimizerSettings.TimerContainerType       = typeof(TimerContainer);
            _optimizerSettings.TimerContainerParameters = new object[] { Mode.Backtest };
            _optimizerSettings.ServerType        = typeof(Server);
            _optimizerSettings.RobotSettingsType = typeof(RobotParameters);
            _optimizerSettings.RobotType         = typeof(SampleBot);

            _optimizerMock = new Mock <Optimizer>(_optimizerSettings);
        }
Beispiel #4
0
        public void InitNetwork(ECostType costType, CostSettings costSettings, EOptimizerType optimizerType, OptimizerSettings optimizerSettings)
        {
            Utility.Dims InShape;
            Utility.Dims OutShape;
            Utility.Dims WShape;

            for (int i = 1; i < Layers.Count; i++)
            {
                Data.Data["a" + i.ToString()] = new Matrix(Layers[i].NCount, 1);
                InShape = new Utility.Dims(Layers[i].NCount, 1);

                Data.Data["b" + i.ToString()] = Matrix.RandomMatrix(Layers[i].NCount, 1, 1, EDistrubution.Gaussian);

                OutShape = new Utility.Dims(Layers[i].NCount, 1);

                Data.Data["W" + i.ToString()] = Matrix.RandomMatrix(Layers[i - 1].NCount, Layers[i].NCount, 1, EDistrubution.Gaussian);
                WShape = new Utility.Dims(Layers[i - 1].NCount, Layers[i].NCount);

                Layers[i].SetSettings(new LayerSettings(InShape, OutShape, WShape));
            }

            Data.Data["a0"] = new Matrix(Layers[0].NCount, 1);
            InShape         = new Utility.Dims(Layers[0].NCount, 1);

            Data.Data["b0"] = new Matrix(Layers[0].NCount, 1);
            OutShape        = new Utility.Dims(Layers[0].NCount, 1);

            Data.Data["W0"] = new Matrix(Layers[0].NCount * Layers[1].NCount, Layers[1].NCount);
            WShape          = new Utility.Dims(Layers[0].NCount * Layers[1].NCount, Layers[1].NCount);

            Layers[0].SetSettings(new LayerSettings(InShape, OutShape, WShape));

            switch (costType)
            {
            case ECostType.Invalid:
                throw new ArgumentException("Invalid Cost Function Selected!");

            case ECostType.CrossEntropyCost:
                CostFunction = new CrossEntropyCost((CrossEntropyCostSettings)costSettings);
                break;

            case ECostType.ExponentionalCost:
                CostFunction = new ExponentionalCost((ExponentionalCostSettings)costSettings);
                break;

            case ECostType.GeneralizedKullbackLeiblerDivergence:
                CostFunction = new GeneralizedKullbackLeiblerDivergence((GeneralizedKullbackLeiblerDivergenceSettings)costSettings);
                break;

            case ECostType.HellingerDistance:
                CostFunction = new HellingerDistance((HellingerDistanceSettings)costSettings);
                break;

            case ECostType.ItakuraSaitoDistance:
                CostFunction = new ItakuraSaitoDistance((ItakuraSaitoDistanceSettings)costSettings);
                break;

            case ECostType.KullbackLeiblerDivergence:
                CostFunction = new KullbackLeiblerDivergence((KullbackLeiblerDivergenceSettings)costSettings);
                break;

            case ECostType.QuadraticCost:
                CostFunction = new QuadraticCost((QuadraticCostSettings)costSettings);
                break;

            default:
                throw new ArgumentException("Invalid Cost Function Selected!");
            }

            switch (optimizerType)
            {
            case EOptimizerType.Invalid:
                throw new ArgumentException("Invalid Optimizer Function Selected!");

            case EOptimizerType.AdaDelta:
                OptimizerFunction = new AdaDelta((AdaDeltaSettings)optimizerSettings);
                break;

            case EOptimizerType.AdaGrad:
                OptimizerFunction = new AdaGrad((AdaGradSettings)optimizerSettings);
                break;

            case EOptimizerType.Adam:
                OptimizerFunction = new Adam((AdamSettings)optimizerSettings);
                break;

            case EOptimizerType.Adamax:
                OptimizerFunction = new Adamax((AdamaxSettings)optimizerSettings);
                break;

            case EOptimizerType.GradientDescent:
                OptimizerFunction = new GradientDescent((GradientDescentSettings)optimizerSettings);
                break;

            case EOptimizerType.Momentum:
                OptimizerFunction = new Momentum((MomentumSettings)optimizerSettings);
                break;

            case EOptimizerType.Nadam:
                OptimizerFunction = new Nadam((NadamSettings)optimizerSettings);
                break;

            case EOptimizerType.NesterovMomentum:
                OptimizerFunction = new NesterovMomentum((NesterovMomentumSettings)optimizerSettings);
                break;

            case EOptimizerType.RMSProp:
                OptimizerFunction = new RMSProp((RMSPropSettings)optimizerSettings);
                break;

            default:
                throw new ArgumentException("Invalid Optimizer Function Selected!");
            }
        }
        public Configuration()
        {
            InitializeComponent();

            if (LicenseManager.UsageMode == LicenseUsageMode.Runtime)
            {
                AutoModule.AutoModule           AutoModuleInstance = AutoModule.AutoModule.Instance;
                AutoModuleSettings              AutoModuleConfig   = AutoModule.AutoModule.Instance.Config;
                UndockWarp                      UndockWarp         = UndockWarp.Instance;
                UndockWarpSettings              UndockWarpConfig   = UndockWarp.Instance.Config;
                InstaWarp                       InstaWarp          = InstaWarp.Instance;
                MoveSettings                    MoveConfig         = EveComFramework.Move.Move.Instance.Config;
                OptimizerSettings               OptimizerConfig    = Optimizer.Optimizer.Instance.Config;
                CommsSettings                   CommsConfig        = Comms.Comms.Instance.Config;
                SimpleDrone.SimpleDroneSettings DroneConfig        = SimpleDrone.SimpleDrone.Instance.Config;
                LocalMonitor                    localMonitor       = Security.LocalMonitor.Instance;
                IntelTool                       intelTool          = IntelTool.Instance;
                StatsSettings                   StatsConfig        = Stats.Stats.Instance.Config;

                #region AutoModule

                checkAutoModule.Checked         = AutoModuleConfig.Enabled;
                checkAutoModule.CheckedChanged += (s, a) => { AutoModuleConfig.Enabled = checkAutoModule.Checked; AutoModuleInstance.Enabled(AutoModuleConfig.Enabled); AutoModuleConfig.Save(); };

                checkShieldBoosters.Checked         = AutoModuleConfig.ShieldBoosters;
                checkShieldBoosters.CheckedChanged += (s, a) => { AutoModuleConfig.ShieldBoosters = checkShieldBoosters.Checked; AutoModuleConfig.Save(); };
                numericShieldCap.Value              = AutoModuleConfig.CapShieldBoosters;
                numericShieldCap.ValueChanged      += (s, a) => { AutoModuleConfig.CapShieldBoosters = (int)numericShieldCap.Value; AutoModuleConfig.Save(); };
                numericShieldMin.Value              = AutoModuleConfig.MinShieldBoosters;
                numericShieldMin.ValueChanged      += (s, a) => { AutoModuleConfig.MinShieldBoosters = (int)numericShieldMin.Value; AutoModuleConfig.Save(); };
                numericShieldMax.Value              = AutoModuleConfig.MaxShieldBoosters;
                numericShieldMax.ValueChanged      += (s, a) => { AutoModuleConfig.MaxShieldBoosters = (int)numericShieldMax.Value; AutoModuleConfig.Save(); };

                checkArmorRepairers.Checked         = AutoModuleConfig.ArmorRepairs;
                checkArmorRepairers.CheckedChanged += (s, a) => { AutoModuleConfig.ArmorRepairs = checkArmorRepairers.Checked; AutoModuleConfig.Save(); };
                numericArmorCap.Value         = AutoModuleConfig.CapArmorRepairs;
                numericArmorCap.ValueChanged += (s, a) => { AutoModuleConfig.CapArmorRepairs = (int)numericArmorCap.Value; AutoModuleConfig.Save(); };
                numericArmorMin.Value         = AutoModuleConfig.MinArmorRepairs;
                numericArmorMin.ValueChanged += (s, a) => { AutoModuleConfig.MinArmorRepairs = (int)numericArmorMin.Value; AutoModuleConfig.Save(); };
                numericArmorMax.Value         = AutoModuleConfig.MaxArmorRepairs;
                numericArmorMax.ValueChanged += (s, a) => { AutoModuleConfig.MaxArmorRepairs = (int)numericArmorMax.Value; AutoModuleConfig.Save(); };

                checkActiveHardeners.Checked            = AutoModuleConfig.ActiveHardeners;
                checkActiveHardeners.CheckedChanged    += (s, a) => { AutoModuleConfig.ActiveHardeners = checkActiveHardeners.Checked; AutoModuleConfig.Save(); };
                numericActiveHardenerCap.Value          = AutoModuleConfig.CapActiveHardeners;
                numericActiveHardenerCap.ValueChanged  += (s, a) => { AutoModuleConfig.CapActiveHardeners = (int)numericActiveHardenerCap.Value; AutoModuleConfig.Save(); };
                numericActiveMinThreshold.Value         = AutoModuleConfig.MinActiveThreshold;
                numericActiveMinThreshold.ValueChanged += (s, a) => { AutoModuleConfig.MinActiveThreshold = (int)numericActiveMinThreshold.Value; AutoModuleConfig.Save(); };

                checkCloaks.Checked           = AutoModuleConfig.Cloaks;
                checkCloaks.CheckedChanged   += (s, a) => { AutoModuleConfig.Cloaks = checkCloaks.Checked; AutoModuleConfig.Save(); };
                numericCloakCap.Value         = AutoModuleConfig.CapCloaks;
                numericCloakCap.ValueChanged += (s, a) => { AutoModuleConfig.CapCloaks = (int)numericCloakCap.Value; AutoModuleConfig.Save(); };

                checkGangLinks.Checked           = AutoModuleConfig.GangLinks;
                checkGangLinks.CheckedChanged   += (s, a) => { AutoModuleConfig.GangLinks = checkGangLinks.Checked; AutoModuleConfig.Save(); };
                numericGangLinkCap.Value         = AutoModuleConfig.CapGangLinks;
                numericGangLinkCap.ValueChanged += (s, a) => { AutoModuleConfig.CapGangLinks = (int)numericGangLinkCap.Value; AutoModuleConfig.Save(); };

                checkSensorBoosters.Checked           = AutoModuleConfig.SensorBoosters;
                checkSensorBoosters.CheckedChanged   += (s, a) => { AutoModuleConfig.SensorBoosters = checkSensorBoosters.Checked; AutoModuleConfig.Save(); };
                numericSensorBoosterCap.Value         = AutoModuleConfig.CapSensorBoosters;
                numericSensorBoosterCap.ValueChanged += (s, a) => { AutoModuleConfig.CapSensorBoosters = (int)numericSensorBoosterCap.Value; AutoModuleConfig.Save(); };

                checkTrackingComputers.Checked           = AutoModuleConfig.TrackingComputers;
                checkTrackingComputers.CheckedChanged   += (s, a) => { AutoModuleConfig.TrackingComputers = checkTrackingComputers.Checked; AutoModuleConfig.Save(); };
                numericTrackingComputerCap.Value         = AutoModuleConfig.CapTrackingComputers;
                numericTrackingComputerCap.ValueChanged += (s, a) => { AutoModuleConfig.CapTrackingComputers = (int)numericTrackingComputerCap.Value; AutoModuleConfig.Save(); };

                checkECCMs.Checked           = AutoModuleConfig.ECCMs;
                checkECCMs.CheckedChanged   += (s, a) => { AutoModuleConfig.ECCMs = checkECCMs.Checked; AutoModuleConfig.Save(); };
                numericECCMCap.Value         = AutoModuleConfig.CapECCMs;
                numericECCMCap.ValueChanged += (s, a) => { AutoModuleConfig.CapECCMs = (int)numericECCMCap.Value; AutoModuleConfig.Save(); };

                checkECMBursts.Checked           = AutoModuleConfig.ECMBursts;
                checkECMBursts.CheckedChanged   += (s, a) => { AutoModuleConfig.ECMBursts = checkECMBursts.Checked; AutoModuleConfig.Save(); };
                numericECMBurstCap.Value         = AutoModuleConfig.CapECMBursts;
                numericECMBurstCap.ValueChanged += (s, a) => { AutoModuleConfig.CapECMBursts = (int)numericECMBurstCap.Value; AutoModuleConfig.Save(); };

                checkDroneTrackingModules.Checked         = AutoModuleConfig.DroneTrackingModules;
                checkDroneTrackingModules.CheckedChanged += (s, a) => { AutoModuleConfig.DroneTrackingModules = checkDroneTrackingModules.Checked; AutoModuleConfig.Save(); };
                numericDroneTrackingModule.Value          = AutoModuleConfig.CapDroneTrackingModules;
                numericDroneTrackingModule.ValueChanged  += (s, a) => { AutoModuleConfig.CapDroneTrackingModules = (int)numericDroneTrackingModule.Value; AutoModuleConfig.Save(); };

                checkDroneControlUnits.Checked           = AutoModuleConfig.DroneControlUnits;
                checkDroneControlUnits.CheckedChanged   += (s, a) => { AutoModuleConfig.DroneControlUnits = checkDroneControlUnits.Checked; AutoModuleConfig.Save(); };
                numericDroneControlUnitCap.Value         = AutoModuleConfig.CapDroneControlUnits;
                numericDroneControlUnitCap.ValueChanged += (s, a) => { AutoModuleConfig.CapDroneControlUnits = (int)numericDroneControlUnitCap.Value; AutoModuleConfig.Save(); };

                checkAutoTargeters.Checked            = AutoModuleConfig.AutoTargeters;
                checkAutoTargeters.CheckedChanged    += (s, a) => { AutoModuleConfig.AutoTargeters = checkAutoTargeters.Checked; AutoModuleConfig.Save(); };
                numericAutoTargetersCap.Value         = AutoModuleConfig.CapAutoTargeters;
                numericAutoTargetersCap.ValueChanged += (s, a) => { AutoModuleConfig.CapAutoTargeters = (int)numericAutoTargetersCap.Value; AutoModuleConfig.Save(); };

                checkPropulsionModules.Checked           = AutoModuleConfig.PropulsionModules;
                checkPropulsionModules.CheckedChanged   += (s, a) => { AutoModuleConfig.PropulsionModules = checkPropulsionModules.Checked; AutoModuleConfig.Save(); };
                numericPropulsionModuleCap.Value         = AutoModuleConfig.CapPropulsionModules;
                numericPropulsionModuleCap.ValueChanged += (s, a) => { AutoModuleConfig.CapPropulsionModules = (int)numericPropulsionModuleCap.Value; AutoModuleConfig.Save(); };
                checkActivateApproaching.Checked         = AutoModuleConfig.PropulsionModulesApproaching;
                checkActivateApproaching.CheckedChanged += (s, a) => { AutoModuleConfig.PropulsionModulesApproaching = checkActivateApproaching.Checked; AutoModuleConfig.Save(); };
                checkActivateOrbiting.Checked            = AutoModuleConfig.PropulsionModulesOrbiting;
                checkActivateOrbiting.CheckedChanged    += (s, a) => { AutoModuleConfig.PropulsionModulesOrbiting = checkActivateOrbiting.Checked; AutoModuleConfig.Save(); };
                checkAlwaysActive.Checked         = AutoModuleConfig.PropulsionModulesAlwaysOn;
                checkAlwaysActive.CheckedChanged += (s, a) => { AutoModuleConfig.PropulsionModulesAlwaysOn = checkAlwaysActive.Checked; AutoModuleConfig.Save(); };

                #endregion

                #region Status
                checkStatsOptOut.Checked         = StatsConfig.optOut;
                checkStatsOptOut.CheckedChanged += (s, a) => { StatsConfig.optOut = checkStatsOptOut.Checked; StatsConfig.Save(); };
                #endregion

                #region UndockWarp

                checkUndockWarp.Checked         = UndockWarpConfig.Enabled;
                checkUndockWarp.CheckedChanged += (s, a) => { UndockWarpConfig.Enabled = checkUndockWarp.Checked; UndockWarp.Enabled(UndockWarpConfig.Enabled); UndockWarpConfig.Save(); };
                textUndockWarp.Text             = UndockWarpConfig.Substring;
                textUndockWarp.TextChanged     += (s, a) => { UndockWarpConfig.Substring = textUndockWarp.Text; UndockWarpConfig.Save(); };

                #endregion

                #region InstaWarp

                checkInstaWarp.Checked         = MoveConfig.InstaWarp;
                checkInstaWarp.CheckedChanged += (s, a) => { MoveConfig.InstaWarp = checkInstaWarp.Checked; MoveConfig.Save(); };

                #endregion

                #region Move

                checkWarpCollision.Checked         = MoveConfig.WarpCollisionPrevention;
                checkWarpCollision.CheckedChanged += (s, a) => { MoveConfig.WarpCollisionPrevention = checkWarpCollision.Checked; MoveConfig.Save(); };
                numericWarpTrigger.Value           = MoveConfig.WarpCollisionTrigger;
                numericWarpTrigger.ValueChanged   += (s, a) => { MoveConfig.WarpCollisionTrigger = numericWarpTrigger.Value; MoveConfig.Save(); };
                numericWarpOrbit.Value             = MoveConfig.WarpCollisionOrbit;
                numericWarpOrbit.ValueChanged     += (s, a) => { MoveConfig.WarpCollisionOrbit = numericWarpOrbit.Value; MoveConfig.Save(); };

                checkApproachCollision.Checked         = MoveConfig.ApproachCollisionPrevention;
                checkApproachCollision.CheckedChanged += (s, a) => { MoveConfig.ApproachCollisionPrevention = checkApproachCollision.Checked; MoveConfig.Save(); };
                numericApproachTrigger.Value           = MoveConfig.ApproachCollisionTrigger;
                numericApproachTrigger.ValueChanged   += (s, a) => { MoveConfig.ApproachCollisionTrigger = numericApproachTrigger.Value; MoveConfig.Save(); };
                numericApproachOrbit.Value             = MoveConfig.ApproachCollisionOrbit;
                numericApproachOrbit.ValueChanged     += (s, a) => { MoveConfig.ApproachCollisionOrbit = numericApproachOrbit.Value; MoveConfig.Save(); };

                checkOrbitCollision.Checked         = MoveConfig.OrbitCollisionPrevention;
                checkOrbitCollision.CheckedChanged += (s, a) => { MoveConfig.OrbitCollisionPrevention = checkOrbitCollision.Checked; MoveConfig.Save(); };
                numericOrbitTrigger.Value           = MoveConfig.OrbitCollisionTrigger;
                numericOrbitTrigger.ValueChanged   += (s, a) => { MoveConfig.OrbitCollisionTrigger = numericOrbitTrigger.Value; MoveConfig.Save(); };
                numericOrbitOrbit.Value             = MoveConfig.OrbitCollisionOrbit;
                numericOrbitOrbit.ValueChanged     += (s, a) => { MoveConfig.OrbitCollisionOrbit = numericOrbitOrbit.Value; MoveConfig.Save(); };

                #endregion

                #region Optimizer

                checkDisable3D.Checked         = !OptimizerConfig.Enable3D;
                checkDisable3D.CheckedChanged += (s, a) => { OptimizerConfig.Enable3D = !checkDisable3D.Checked; OptimizerConfig.Save(); };
                numericMemoryMax.Value         = OptimizerConfig.MaxMemorySize;
                numericMemoryMax.ValueChanged += (s, a) => { OptimizerConfig.MaxMemorySize = numericMemoryMax.Value; OptimizerConfig.Save(); };

                #endregion

                #region IRC

                checkUseIRC.Checked                   = CommsConfig.UseIRC;
                checkUseIRC.CheckedChanged           += (s, a) => { CommsConfig.UseIRC = checkUseIRC.Checked; CommsConfig.Save(); };
                textServer.Text                       = CommsConfig.Server;
                textServer.TextChanged               += (s, a) => { CommsConfig.Server = textServer.Text; CommsConfig.Save(); };
                numericPort.Value                     = CommsConfig.Port;
                numericPort.ValueChanged             += (s, a) => { CommsConfig.Port = (int)Math.Floor(numericPort.Value); CommsConfig.Save(); };
                textSendTo.Text                       = CommsConfig.SendTo;
                textSendTo.TextChanged               += (s, a) => { CommsConfig.SendTo = textSendTo.Text; CommsConfig.Save(); };
                checkLocal.Checked                    = CommsConfig.Local;
                checkLocal.CheckedChanged            += (s, a) => { CommsConfig.Local = checkLocal.Checked; CommsConfig.Save(); };
                checkNPC.Checked                      = CommsConfig.NPC;
                checkNPC.CheckedChanged              += (s, a) => { CommsConfig.NPC = checkNPC.Checked; CommsConfig.Save(); };
                checkAllChat.Checked                  = CommsConfig.AllChat;
                checkAllChat.CheckedChanged          += (s, a) => { CommsConfig.AllChat = checkAllChat.Checked; CommsConfig.Save(); };
                checkWallet.Checked                   = CommsConfig.Wallet;
                checkWallet.CheckedChanged           += (s, a) => { CommsConfig.Wallet = checkWallet.Checked; CommsConfig.Save(); };
                checkReportChatInvite.Checked         = CommsConfig.ChatInvite;
                checkReportChatInvite.CheckedChanged += (s, a) => { CommsConfig.ChatInvite = checkReportChatInvite.Checked; CommsConfig.Save(); };
                checkGridTraffic.Checked              = CommsConfig.Grid;
                checkGridTraffic.CheckedChanged      += (s, a) => { CommsConfig.Grid = checkGridTraffic.Checked; CommsConfig.Save(); };
                checkLocalTraffic.Checked             = CommsConfig.LocalTraffic;
                checkLocalTraffic.CheckedChanged     += (s, a) => { CommsConfig.LocalTraffic = checkLocalTraffic.Checked; CommsConfig.Save(); };

                #endregion

                #region Drone Control

                numericDroneTargetSlots.Value            = DroneConfig.TargetSlots;
                numericDroneTargetSlots.ValueChanged    += (s, a) => { DroneConfig.TargetSlots = (int)Math.Floor(numericDroneTargetSlots.Value); DroneConfig.Save(); };
                checkDronePrivateTargets.Checked         = DroneConfig.PrivateTargets;
                checkDronePrivateTargets.CheckedChanged += (s, a) => { DroneConfig.PrivateTargets = checkDronePrivateTargets.Checked; DroneConfig.Save(); };
                checkDroneFocus.Checked           = DroneConfig.SharedTargets;
                checkDroneFocus.CheckedChanged   += (s, a) => { DroneConfig.SharedTargets = checkDroneFocus.Checked; DroneConfig.Save(); };
                checkStickyDrones.Checked         = DroneConfig.StayDeployedWithNoTargets;
                checkStickyDrones.CheckedChanged += (s, a) => { DroneConfig.StayDeployedWithNoTargets = checkStickyDrones.Checked; DroneConfig.Save(); };
                switch (DroneConfig.Mode)
                {
                case SimpleDrone.Mode.None:
                    comboDroneMode.SelectedItem = "None";
                    break;

                case SimpleDrone.Mode.AFKHeavy:
                    comboDroneMode.SelectedItem = "AFK Heavy";
                    break;

                case SimpleDrone.Mode.PointDefense:
                    comboDroneMode.SelectedItem = "Point Defense";
                    break;

                case SimpleDrone.Mode.Sentry:
                    comboDroneMode.SelectedItem = "Sentry with Point Defense";
                    break;

                case SimpleDrone.Mode.AgressiveScout:
                    comboDroneMode.SelectedItem = "Agressive Scout";
                    break;

                case SimpleDrone.Mode.AgressiveMedium:
                    comboDroneMode.SelectedItem = "Agressive Medium";
                    break;

                case SimpleDrone.Mode.AgressiveHeavy:
                    comboDroneMode.SelectedItem = "Agressive Heavy";
                    break;

                case SimpleDrone.Mode.AgressiveSentry:
                    comboDroneMode.SelectedItem = "Agressive Sentry";
                    break;
                }
                comboDroneMode.SelectedIndexChanged += (s, a) =>
                {
                    switch (comboDroneMode.SelectedItem.ToString())
                    {
                    case "None":
                        DroneConfig.Mode = SimpleDrone.Mode.None;
                        break;

                    case "AFK Heavy":
                        DroneConfig.Mode = SimpleDrone.Mode.AFKHeavy;
                        break;

                    case "Point Defense":
                        DroneConfig.Mode = SimpleDrone.Mode.PointDefense;
                        break;

                    case "Sentry with Point Defense":
                        DroneConfig.Mode = SimpleDrone.Mode.Sentry;
                        break;

                    case "Agressive Scout":
                        DroneConfig.Mode = SimpleDrone.Mode.AgressiveScout;
                        break;

                    case "Agressive Medium":
                        DroneConfig.Mode = SimpleDrone.Mode.AgressiveMedium;
                        break;

                    case "Agressive Heavy":
                        DroneConfig.Mode = SimpleDrone.Mode.AgressiveHeavy;
                        break;

                    case "Agressive Sentry":
                        DroneConfig.Mode = SimpleDrone.Mode.AgressiveSentry;
                        break;
                    }
                    DroneConfig.Save();
                };

                #endregion
            }
        }
Beispiel #6
0
 public Optimizer(OptimizerSettings settings)
 {
 }