/// <summary> /// Initializes protection parameter. /// </summary> private void CreateProtectionParameters() { int par = 0; if (Data.Strategy.UsePermanentSL) { AParameter[par] = new Parameter(OptimizerParameterType.PermanentSL, -1, 0); par++; } if (Data.Strategy.UsePermanentTP) { AParameter[par] = new Parameter(OptimizerParameterType.PermanentTP, -1, 0); par++; } if (Data.Strategy.UseBreakEven) { AParameter[par] = new Parameter(OptimizerParameterType.BreakEven, -1, 0); } }
/// <summary> /// Sets the parameters. /// </summary> private void SetIndicatorParams() { _protections = 0; _parameters = 0; CountParameters(); CountPermanentProtections(); CreateControls(); CreateProtectionParameters(); for (int prot = 0; prot < _protections; prot++) { SetParametersValues(prot); } int param = _protections; for (int slot = 0; slot < Data.Strategy.Slots; slot++) { for (int numParam = 0; numParam < 6; numParam++) { if (!Data.Strategy.Slot[slot].IndParam.NumParam[numParam].Enabled) continue; AParameter[param] = new Parameter(OptimizerParameterType.Indicator, slot, numParam); SetParametersValues(param); param++; } } int totalHeight = ArrangeControls(); if (_parameters == 0) { PnlParams.Height = 50; LblNoParams.Visible = true; } else { PnlParams.Height = totalHeight; } BtnOptimize.Focus(); }
/// <summary> /// Creates control arrays. /// </summary> private void CreateControls() { AParameter = new Parameter[_parameters]; AchbxParameterName = new CheckBox[_parameters]; AlblInitialValue = new Label[_parameters]; AlblParameterValue = new Label[_parameters]; AnudParameterMin = new NumericUpDown[_parameters]; AnudParameterMax = new NumericUpDown[_parameters]; AnudParameterStep = new NumericUpDown[_parameters]; AlblIndicatorName = new Label[_parameters]; for (int param = 0; param < _parameters; param++) { AlblIndicatorName[param] = new Label(); AchbxParameterName[param] = new CheckBox(); AlblInitialValue[param] = new Label(); AlblParameterValue[param] = new Label(); AnudParameterMin[param] = new NumericUpDown(); AnudParameterMax[param] = new NumericUpDown(); AnudParameterStep[param] = new NumericUpDown(); } _initialValues = new double[_parameters]; }