Example #1
0
        /// <summary>
        /// Woodies Pivot Points.
        /// </summary>
        /// <returns></returns>
        public WoodiesPivots WoodiesPivots(Data.IDataSeries input, Data.HLCCalculationMode priorDayHLC, int width)
        {
            checkWoodiesPivots.PriorDayHLC = priorDayHLC;
            priorDayHLC = checkWoodiesPivots.PriorDayHLC;
            checkWoodiesPivots.Width = width;
            width = checkWoodiesPivots.Width;

            if (cacheWoodiesPivots != null)
            {
                for (int idx = 0; idx < cacheWoodiesPivots.Length; idx++)
                {
                    if (cacheWoodiesPivots[idx].PriorDayHLC == priorDayHLC && cacheWoodiesPivots[idx].Width == width && cacheWoodiesPivots[idx].EqualsInput(input))
                    {
                        return(cacheWoodiesPivots[idx]);
                    }
                }
            }

            WoodiesPivots indicator = new WoodiesPivots();

            indicator.BarsRequired        = BarsRequired;
            indicator.CalculateOnBarClose = CalculateOnBarClose;
            indicator.Input       = input;
            indicator.PriorDayHLC = priorDayHLC;
            indicator.Width       = width;
            indicator.SetUp();

            WoodiesPivots[] tmp = new WoodiesPivots[cacheWoodiesPivots == null ? 1 : cacheWoodiesPivots.Length + 1];
            if (cacheWoodiesPivots != null)
            {
                cacheWoodiesPivots.CopyTo(tmp, 0);
            }
            tmp[tmp.Length - 1] = indicator;
            cacheWoodiesPivots  = tmp;
            Indicators.Add(indicator);

            return(indicator);
        }
        /// <summary>
        /// Woodies Pivot Points.
        /// </summary>
        /// <returns></returns>
        public WoodiesPivots WoodiesPivots(Data.IDataSeries input, Data.HLCCalculationMode priorDayHLC, int width)
        {
            checkWoodiesPivots.PriorDayHLC = priorDayHLC;
            priorDayHLC = checkWoodiesPivots.PriorDayHLC;
            checkWoodiesPivots.Width = width;
            width = checkWoodiesPivots.Width;

            if (cacheWoodiesPivots != null)
                for (int idx = 0; idx < cacheWoodiesPivots.Length; idx++)
                    if (cacheWoodiesPivots[idx].PriorDayHLC == priorDayHLC && cacheWoodiesPivots[idx].Width == width && cacheWoodiesPivots[idx].EqualsInput(input))
                        return cacheWoodiesPivots[idx];

            WoodiesPivots indicator = new WoodiesPivots();
            indicator.BarsRequired = BarsRequired;
            indicator.CalculateOnBarClose = CalculateOnBarClose;
            indicator.Input = input;
            indicator.PriorDayHLC = priorDayHLC;
            indicator.Width = width;
            indicator.SetUp();

            WoodiesPivots[] tmp = new WoodiesPivots[cacheWoodiesPivots == null ? 1 : cacheWoodiesPivots.Length + 1];
            if (cacheWoodiesPivots != null)
                cacheWoodiesPivots.CopyTo(tmp, 0);
            tmp[tmp.Length - 1] = indicator;
            cacheWoodiesPivots = tmp;
            Indicators.Add(indicator);

            return indicator;
        }