/// <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> /// 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> /// 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]; }