/// <summary>
 ///     Returns a copy
 /// </summary>
 public ListParam Clone()
 {
     var listParam = new ListParam
         {
             Caption = Caption,
             ItemList = new string[ItemList.Length],
             Index = Index,
             Text = Text,
             Enabled = Enabled,
             ToolTip = ToolTip
         };
     ItemList.CopyTo(listParam.ItemList, 0);
     return listParam;
 }
        /// <summary>
        ///     Returns a copy
        /// </summary>
        public ListParam Clone()
        {
            var listParam = new ListParam
            {
                Caption  = Caption,
                ItemList = new string[ItemList.Length],
                Index    = Index,
                Text     = Text,
                Enabled  = Enabled,
                ToolTip  = ToolTip
            };

            ItemList.CopyTo(listParam.ItemList, 0);
            return(listParam);
        }
        /// <summary>
        ///     Creates an empty parameter.
        /// </summary>
        public IndicatorParam()
        {
            SlotNumber = 0;
            IsDefined = false;
            SlotType = SlotTypes.NotDefined;
            IndicatorName = String.Empty;
            IndicatorType = TypeOfIndicator.Indicator;
            ExecutionTime = ExecutionTime.DuringTheBar;
            ListParam = new ListParam[5];
            NumParam = new NumericParam[6];
            CheckParam = new CheckParam[2];

            for (int i = 0; i < 5; i++)
                ListParam[i] = new ListParam();

            for (int i = 0; i < 6; i++)
                NumParam[i] = new NumericParam();

            for (int i = 0; i < 2; i++)
                CheckParam[i] = new CheckParam();
        }