Пример #1
0
        private static OptimiserParameters GetStartingParameters()
        {
            OptimiserParameters parameters = null;

            try
            {
                if (File.Exists(ParametersFilename))
                {
                    var parametersSerialiser = new XmlSerializer(typeof(OptimiserParameters));

                    using (var stream = File.OpenRead(ParametersFilename))
                    {
                        parameters = (OptimiserParameters)parametersSerialiser.Deserialize(stream);
                    }
                }
            }
            catch
            {
            }

            if (parameters == null)
            {
                parameters = new OptimiserParameters(5, 256, 0.1, 0.05, 0, false, null, string.Empty, 50, 1000,
                                                     new List <string>());
            }

            return(parameters);
        }
Пример #2
0
        public static void Initialise(OptimiserParameters optimiserParameters, StrategyBase strategy)
        {
            _minimumTrades = optimiserParameters.MinimumTrades;
            _maximumTrades = optimiserParameters.MaximumTrades;

            _optimisationType =
                (OptimizationType)Activator.CreateInstance(Type.GetType(optimiserParameters.FitnessFunctionType));
            _optimisationType.Strategy = strategy;
        }
Пример #3
0
        private void SaveParameters(OptimiserParameters parameters)
        {
            try
            {
                var parametersSerialiser = new XmlSerializer(typeof(OptimiserParameters));

                using (var xmlTextWriter = new XmlTextWriter(ParametersFilename, Encoding.ASCII))
                {
                    xmlTextWriter.Formatting = Formatting.Indented;
                    parametersSerialiser.Serialize(xmlTextWriter, parameters);
                }
            }
            catch
            {
            }
        }
Пример #4
0
        public void Initialise(OptimiserParameters parameters, IList <BaseChromosomeType> chromosomeTypes)
        {
            _validatorFactory = new GeneValidatorFactory(chromosomeTypes);

            generationsSpin.Value         = parameters.MaximumGenerations;
            populationSizeSpin.Value      = parameters.PopulationSize;
            reproductionPercentSpin.Value = (decimal)(parameters.ReproductionRate * 100);
            mutationRateSpin.Value        = (decimal)(parameters.MutationRate * 100);

            screenThresholdSpin.Value = (decimal)parameters.ScreeningThreshold;
            saveLogCheckbox.Checked   = parameters.ExportGenes;

            var wrappers = GetOptimisationTypeWrappers();

            fitnessFunctionComboBox.DisplayMember = "Name";
            fitnessFunctionComboBox.ValueMember   = "Type";
            fitnessFunctionComboBox.DataSource    = wrappers;

            try
            {
                foreach (var wrapper in wrappers)
                {
                    if (wrapper.Type.AssemblyQualifiedName == parameters.FitnessFunctionType)
                    {
                        fitnessFunctionComboBox.SelectedItem = wrapper;
                        break;
                    }
                }
            }
            catch
            {
            }

            minimumTradesSpin.Value = parameters.MinimumTrades;

            strategyParameterConditionsGrid.Rows.Clear();

            foreach (var condition in parameters.ParameterConditions)
            {
                if (IsConditionValid(condition))
                {
                    var row = strategyParameterConditionsGrid.Rows[strategyParameterConditionsGrid.Rows.Add()];
                    row.SetValues(condition);
                }
            }
        }
Пример #5
0
        private OptimiserParameters GetParameters(IList <BaseChromosomeType> chromosomeTypes)
        {
            _parametersForm = new ParametersForm();
            _parametersForm.Initialise(__lastParameters, chromosomeTypes);

            OptimiserParameters parameters = null;

            _parametersForm.ParametersSet +=
                delegate(object sender, ParameterEventArgs args) { parameters = args.Parameters; };

            _parametersForm.ShowDialog();

            //while (parameters == null)
            //{
            //    Application.DoEvents();
            //}

            __lastParameters = parameters;

            SaveParameters(parameters);

            return(parameters);
        }
Пример #6
0
 public ParameterEventArgs(OptimiserParameters parameters)
 {
     _parameters = parameters;
 }
Пример #7
0
 public void Initialise(OptimiserParameters parameters)
 {
     FitnessFunctionWrapper.Initialise(parameters, _strategy);
 }
Пример #8
0
 static MoGoNT()
 {
     __lastParameters = GetStartingParameters();
 }