// working with strategy parameters / работа с параметрами стратегии /// <summary> /// create a Decimal type parameter / /// создать параметр типа Decimal /// </summary> /// <param name="name">param name / Имя параметра</param> /// <param name="value">default value / Значение по умолчанию</param> public IndicatorParameterDecimal CreateParameterDecimal(string name, decimal value) { IndicatorParameter newParameter = _parameters.Find(p => p.Name == name); if (newParameter != null) { return((IndicatorParameterDecimal)newParameter); } newParameter = new IndicatorParameterDecimal(name, value); ParameterDigit param = new ParameterDigit(newParameter); ParametersDigit.Add(param); return((IndicatorParameterDecimal)LoadParameterValues(newParameter)); }
private void UpdateGridParam() { _gridParam.Rows.Clear(); for (int i = 0; i < _indicator.Parameters.Count; i++) { DataGridViewRow row = new DataGridViewRow(); row.Cells.Add(new DataGridViewTextBoxCell()); row.Cells[0].Value = _indicator.Parameters[i].Name; if (_indicator.Parameters[i].Type == IndicatorParameterType.Bool) { DataGridViewComboBoxCell cell = new DataGridViewComboBoxCell(); cell.Items.Add("False"); cell.Items.Add("True"); cell.Value = ((IndicatorParameterBool)_indicator.Parameters[i]).ValueBool.ToString(); row.Cells.Add(cell); } else if (_indicator.Parameters[i].Type == IndicatorParameterType.String) { IndicatorParameterString param = (IndicatorParameterString)_indicator.Parameters[i]; if (param.ValuesString.Count > 1) { DataGridViewComboBoxCell cell = new DataGridViewComboBoxCell(); for (int i2 = 0; i2 < param.ValuesString.Count; i2++) { cell.Items.Add(param.ValuesString[i2]); } cell.Value = param.ValueString; row.Cells.Add(cell); } else { DataGridViewTextBoxCell cell = new DataGridViewTextBoxCell(); cell.Value = param.ValueString.ToString(); row.Cells.Add(cell); } } else if (_indicator.Parameters[i].Type == IndicatorParameterType.Int) { DataGridViewTextBoxCell cell = new DataGridViewTextBoxCell(); IndicatorParameterInt param = (IndicatorParameterInt)_indicator.Parameters[i]; cell.Value = param.ValueInt.ToString(); row.Cells.Add(cell); } else if (_indicator.Parameters[i].Type == IndicatorParameterType.Decimal) { DataGridViewTextBoxCell cell = new DataGridViewTextBoxCell(); IndicatorParameterDecimal param = (IndicatorParameterDecimal)_indicator.Parameters[i]; cell.Value = param.ValueDecimal.ToString(); row.Cells.Add(cell); } _gridParam.Rows.Add(row); } }