Esempio n. 1
0
        // 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);
            }
        }