示例#1
0
        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);
            }
        }
示例#2
0
 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;
         }
     }
 }
示例#3
0
        /// <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));
        }