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) { DataGridViewComboBoxCell cell = new DataGridViewComboBoxCell(); IndicatorParameterString param = (IndicatorParameterString)_indicator.Parameters[i]; for (int i2 = 0; i2 < param.ValuesString.Count; i2++) { cell.Items.Add(param.ValuesString[i2]); } cell.Value = param.ValueString; 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); } }
public override void OnStateChange(IndicatorState state) { if (state == IndicatorState.Configure) { _length = CreateParameterInt("Period", 5); _series = CreateSeries("Adaptive Look Back", Color.WhiteSmoke, IndicatorChartPaintType.Line, true); } else { if (_swingBarArray != null) { _swingBarArray.Clear(); _swingBarArray = null; } } }
/// <summary> /// create int parameter / /// создать параметр типа Int /// </summary> /// <param name="name">param name / Имя параметра</param> /// <param name="value">default value / Значение по умолчанию</param> public IndicatorParameterInt CreateParameterInt(string name, int value) { IndicatorParameter newParameter = _parameters.Find(p => p.Name == name); if (newParameter != null) { return((IndicatorParameterInt)newParameter); } newParameter = new IndicatorParameterInt(name, value); ParameterDigit param = new ParameterDigit(newParameter); ParametersDigit.Add(param); return((IndicatorParameterInt)LoadParameterValues(newParameter)); }