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); }
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; }
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 { } }
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); } } }
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); }
public ParameterEventArgs(OptimiserParameters parameters) { _parameters = parameters; }
public void Initialise(OptimiserParameters parameters) { FitnessFunctionWrapper.Initialise(parameters, _strategy); }
static MoGoNT() { __lastParameters = GetStartingParameters(); }