예제 #1
0
        protected CalculateCandleAlgorithm alg;     // алгоритм вычисления количества опущенных свеч

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        /// <param name="p_identifier">Идентификатор параметра</param>
        public P0203(Guid p_identifier)
            : base(p_identifier, "P0203", "Количество опущенных свеч")
        {
            simple = false;

            _value      = 0;
            size_candle = 19;

            lower_size_candle = 17;
            upper_size_candle = 21;

            tubes = new List <tubeInfo>();
            for (int i = 0; i < 600; i++)
            {
                tubes.Add(new tubeInfo());
            }

            deviation = 1.0f;
            alg       = CalculateCandleAlgorithm.LengthOfCandles;
        }
예제 #2
0
        /// <summary>
        /// Загрузить параметр из Xml узла
        /// </summary>
        /// <param name="Node">Xml узел в котором сохранен параметр</param>
        public override void Load(XmlNode Node)
        {
            base.Load(Node);
            if (slim.TryEnterWriteLock(500))
            {
                try
                {
                    if (Node != null && Node.HasChildNodes)
                    {
                        if (Node.Name == RootName)
                        {
                            foreach (XmlNode Child in Node.ChildNodes)
                            {
                                switch (Child.Name)
                                {
                                case LengthInstrumentName:

                                    try
                                    {
                                        length_instrument = float.Parse(Child.InnerText);
                                    }
                                    catch { }
                                    break;

                                case SizeCandleName:

                                    try
                                    {
                                        size_candle = float.Parse(Child.InnerText);
                                    }
                                    catch { }
                                    break;

                                case LowerSizeCandleName:

                                    try
                                    {
                                        lower_size_candle = float.Parse(Child.InnerText);
                                    }
                                    catch { }
                                    break;

                                case UpperSizeCandleName:

                                    try
                                    {
                                        upper_size_candle = float.Parse(Child.InnerText);
                                    }
                                    catch { }
                                    break;

                                case "deviation":

                                    try
                                    {
                                        deviation = float.Parse(Child.InnerText);
                                    }
                                    catch { }
                                    break;

                                case "candles":

                                    try
                                    {
                                        tubes.Clear();
                                        LoadCandles(Child);
                                    }
                                    catch { }
                                    break;

                                case "alg":

                                    try
                                    {
                                        alg = (CalculateCandleAlgorithm)Enum.Parse(typeof(CalculateCandleAlgorithm), Child.InnerText);
                                    }
                                    catch { }
                                    break;

                                default:
                                    break;
                                }
                            }
                        }
                    }
                }
                finally
                {
                    slim.ExitWriteLock();
                }
            }
        }
예제 #3
0
파일: P0203.cs 프로젝트: slawer/sgt
        protected float upper_size_candle; // верхний размер свечи

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        /// <param name="p_identifier">Идентификатор параметра</param>
        public P0203(Guid p_identifier)
            : base(p_identifier, "P0203", "Количество опущенных свеч")
        {
            simple = false;

            _value = 0;
            size_candle = 19;

            lower_size_candle = 17;
            upper_size_candle = 21;

            tubes = new List<tubeInfo>();
            for (int i = 0; i < 600; i++)
            {
                tubes.Add(new tubeInfo());
            }

            deviation = 1.0f;
            alg = CalculateCandleAlgorithm.LengthOfCandles;
        }
예제 #4
0
파일: P0203.cs 프로젝트: slawer/sgt
        /// <summary>
        /// Загрузить параметр из Xml узла
        /// </summary>
        /// <param name="Node">Xml узел в котором сохранен параметр</param>        
        public override void Load(XmlNode Node)
        {
            base.Load(Node);
            if (slim.TryEnterWriteLock(500))
            {
                try
                {
                    if (Node != null && Node.HasChildNodes)
                    {
                        if (Node.Name == RootName)
                        {
                            foreach (XmlNode Child in Node.ChildNodes)
                            {
                                switch (Child.Name)
                                {
                                    case LengthInstrumentName:

                                        try
                                        {
                                            length_instrument = float.Parse(Child.InnerText);
                                        }
                                        catch { }
                                        break;

                                    case SizeCandleName:

                                        try
                                        {
                                            size_candle = float.Parse(Child.InnerText);
                                        }
                                        catch { }
                                        break;

                                    case LowerSizeCandleName:

                                        try
                                        {
                                            lower_size_candle = float.Parse(Child.InnerText);
                                        }
                                        catch { }
                                        break;

                                    case UpperSizeCandleName:

                                        try
                                        {
                                            upper_size_candle = float.Parse(Child.InnerText);
                                        }
                                        catch { }
                                        break;

                                    case "deviation":

                                        try
                                        {
                                            deviation = float.Parse(Child.InnerText);
                                        }
                                        catch { }
                                        break;

                                    case "candles":

                                        try
                                        {
                                            tubes.Clear();
                                            LoadCandles(Child);
                                        }
                                        catch { }
                                        break;

                                    case "alg":

                                        try
                                        {
                                            alg = (CalculateCandleAlgorithm)Enum.Parse(typeof(CalculateCandleAlgorithm), Child.InnerText);
                                        }
                                        catch { }
                                        break;

                                    default:
                                        break;

                                }
                            }
                        }
                    }
                }
                finally
                {
                    slim.ExitWriteLock();
                }
            }
        }