Exemple #1
0
        /// <summary>
        /// richard todd www.movethemarkets.com for noticing periodic events
        /// </summary>
        /// <returns></returns>
        public Z20091203PeriodicEvent Z20091203PeriodicEvent(Data.IDataSeries input, EventGroupingMethod groupingBy, int groupingSize, int startTime)
        {
            if (cacheZ20091203PeriodicEvent != null)
            {
                for (int idx = 0; idx < cacheZ20091203PeriodicEvent.Length; idx++)
                {
                    if (cacheZ20091203PeriodicEvent[idx].GroupingBy == groupingBy && cacheZ20091203PeriodicEvent[idx].GroupingSize == groupingSize && cacheZ20091203PeriodicEvent[idx].StartTime == startTime && cacheZ20091203PeriodicEvent[idx].EqualsInput(input))
                    {
                        return(cacheZ20091203PeriodicEvent[idx]);
                    }
                }
            }

            lock (checkZ20091203PeriodicEvent)
            {
                checkZ20091203PeriodicEvent.GroupingBy = groupingBy;
                groupingBy = checkZ20091203PeriodicEvent.GroupingBy;
                checkZ20091203PeriodicEvent.GroupingSize = groupingSize;
                groupingSize = checkZ20091203PeriodicEvent.GroupingSize;
                checkZ20091203PeriodicEvent.StartTime = startTime;
                startTime = checkZ20091203PeriodicEvent.StartTime;

                if (cacheZ20091203PeriodicEvent != null)
                {
                    for (int idx = 0; idx < cacheZ20091203PeriodicEvent.Length; idx++)
                    {
                        if (cacheZ20091203PeriodicEvent[idx].GroupingBy == groupingBy && cacheZ20091203PeriodicEvent[idx].GroupingSize == groupingSize && cacheZ20091203PeriodicEvent[idx].StartTime == startTime && cacheZ20091203PeriodicEvent[idx].EqualsInput(input))
                        {
                            return(cacheZ20091203PeriodicEvent[idx]);
                        }
                    }
                }

                Z20091203PeriodicEvent indicator = new Z20091203PeriodicEvent();
                indicator.BarsRequired        = BarsRequired;
                indicator.CalculateOnBarClose = CalculateOnBarClose;
#if NT7
                indicator.ForceMaximumBarsLookBack256 = ForceMaximumBarsLookBack256;
                indicator.MaximumBarsLookBack         = MaximumBarsLookBack;
#endif
                indicator.Input        = input;
                indicator.GroupingBy   = groupingBy;
                indicator.GroupingSize = groupingSize;
                indicator.StartTime    = startTime;
                Indicators.Add(indicator);
                indicator.SetUp();

                Z20091203PeriodicEvent[] tmp = new Z20091203PeriodicEvent[cacheZ20091203PeriodicEvent == null ? 1 : cacheZ20091203PeriodicEvent.Length + 1];
                if (cacheZ20091203PeriodicEvent != null)
                {
                    cacheZ20091203PeriodicEvent.CopyTo(tmp, 0);
                }
                tmp[tmp.Length - 1]         = indicator;
                cacheZ20091203PeriodicEvent = tmp;
                return(indicator);
            }
        }
Exemple #2
0
        /// <summary>
        /// richard todd www.movethemarkets.com for noticing periodic events
        /// </summary>
        /// <returns></returns>
        public Indicator.Z20091203PeriodicEvent Z20091203PeriodicEvent(Data.IDataSeries input, EventGroupingMethod groupingBy, int groupingSize, int startTime)
        {
            if (InInitialize && input == null)
            {
                throw new ArgumentException("You only can access an indicator with the default input/bar series from within the 'Initialize()' method");
            }

            return(_indicator.Z20091203PeriodicEvent(input, groupingBy, groupingSize, startTime));
        }
Exemple #3
0
 public Indicator.Z20091203PeriodicEvent Z20091203PeriodicEvent(EventGroupingMethod groupingBy, int groupingSize, int startTime)
 {
     return(_indicator.Z20091203PeriodicEvent(Input, groupingBy, groupingSize, startTime));
 }
Exemple #4
0
        /// <summary>
        /// Richard Todd www.movethemarkets.com
        /// </summary>
        /// <returns></returns>
        public Indicator.Z20100124ChangePtVWAP Z20100124ChangePtVWAP(Data.IDataSeries input, int concurrentVWAPS, EventGroupingMethod groupingBy, int groupingSize, double minWidth, double numSDs1, double numSDs2, int startTime, double threshold)
        {
            if (InInitialize && input == null)
            {
                throw new ArgumentException("You only can access an indicator with the default input/bar series from within the 'Initialize()' method");
            }

            return(_indicator.Z20100124ChangePtVWAP(input, concurrentVWAPS, groupingBy, groupingSize, minWidth, numSDs1, numSDs2, startTime, threshold));
        }
Exemple #5
0
 public Indicator.Z20100124ChangePtVWAP Z20100124ChangePtVWAP(int concurrentVWAPS, EventGroupingMethod groupingBy, int groupingSize, double minWidth, double numSDs1, double numSDs2, int startTime, double threshold)
 {
     return(_indicator.Z20100124ChangePtVWAP(Input, concurrentVWAPS, groupingBy, groupingSize, minWidth, numSDs1, numSDs2, startTime, threshold));
 }
Exemple #6
0
        /// <summary>
        /// Richard Todd www.movethemarkets.com
        /// </summary>
        /// <returns></returns>
        public Z20100124ChangePtVWAP Z20100124ChangePtVWAP(Data.IDataSeries input, int concurrentVWAPS, EventGroupingMethod groupingBy, int groupingSize, double minWidth, double numSDs1, double numSDs2, int startTime, double threshold)
        {
            if (cacheZ20100124ChangePtVWAP != null)
            {
                for (int idx = 0; idx < cacheZ20100124ChangePtVWAP.Length; idx++)
                {
                    if (cacheZ20100124ChangePtVWAP[idx].ConcurrentVWAPS == concurrentVWAPS && cacheZ20100124ChangePtVWAP[idx].GroupingBy == groupingBy && cacheZ20100124ChangePtVWAP[idx].GroupingSize == groupingSize && Math.Abs(cacheZ20100124ChangePtVWAP[idx].MinWidth - minWidth) <= double.Epsilon && Math.Abs(cacheZ20100124ChangePtVWAP[idx].NumSDs1 - numSDs1) <= double.Epsilon && Math.Abs(cacheZ20100124ChangePtVWAP[idx].NumSDs2 - numSDs2) <= double.Epsilon && cacheZ20100124ChangePtVWAP[idx].StartTime == startTime && Math.Abs(cacheZ20100124ChangePtVWAP[idx].Threshold - threshold) <= double.Epsilon && cacheZ20100124ChangePtVWAP[idx].EqualsInput(input))
                    {
                        return(cacheZ20100124ChangePtVWAP[idx]);
                    }
                }
            }

            lock (checkZ20100124ChangePtVWAP)
            {
                checkZ20100124ChangePtVWAP.ConcurrentVWAPS = concurrentVWAPS;
                concurrentVWAPS = checkZ20100124ChangePtVWAP.ConcurrentVWAPS;
                checkZ20100124ChangePtVWAP.GroupingBy = groupingBy;
                groupingBy = checkZ20100124ChangePtVWAP.GroupingBy;
                checkZ20100124ChangePtVWAP.GroupingSize = groupingSize;
                groupingSize = checkZ20100124ChangePtVWAP.GroupingSize;
                checkZ20100124ChangePtVWAP.MinWidth = minWidth;
                minWidth = checkZ20100124ChangePtVWAP.MinWidth;
                checkZ20100124ChangePtVWAP.NumSDs1 = numSDs1;
                numSDs1 = checkZ20100124ChangePtVWAP.NumSDs1;
                checkZ20100124ChangePtVWAP.NumSDs2 = numSDs2;
                numSDs2 = checkZ20100124ChangePtVWAP.NumSDs2;
                checkZ20100124ChangePtVWAP.StartTime = startTime;
                startTime = checkZ20100124ChangePtVWAP.StartTime;
                checkZ20100124ChangePtVWAP.Threshold = threshold;
                threshold = checkZ20100124ChangePtVWAP.Threshold;

                if (cacheZ20100124ChangePtVWAP != null)
                {
                    for (int idx = 0; idx < cacheZ20100124ChangePtVWAP.Length; idx++)
                    {
                        if (cacheZ20100124ChangePtVWAP[idx].ConcurrentVWAPS == concurrentVWAPS && cacheZ20100124ChangePtVWAP[idx].GroupingBy == groupingBy && cacheZ20100124ChangePtVWAP[idx].GroupingSize == groupingSize && Math.Abs(cacheZ20100124ChangePtVWAP[idx].MinWidth - minWidth) <= double.Epsilon && Math.Abs(cacheZ20100124ChangePtVWAP[idx].NumSDs1 - numSDs1) <= double.Epsilon && Math.Abs(cacheZ20100124ChangePtVWAP[idx].NumSDs2 - numSDs2) <= double.Epsilon && cacheZ20100124ChangePtVWAP[idx].StartTime == startTime && Math.Abs(cacheZ20100124ChangePtVWAP[idx].Threshold - threshold) <= double.Epsilon && cacheZ20100124ChangePtVWAP[idx].EqualsInput(input))
                        {
                            return(cacheZ20100124ChangePtVWAP[idx]);
                        }
                    }
                }

                Z20100124ChangePtVWAP indicator = new Z20100124ChangePtVWAP();
                indicator.BarsRequired        = BarsRequired;
                indicator.CalculateOnBarClose = CalculateOnBarClose;
#if NT7
                indicator.ForceMaximumBarsLookBack256 = ForceMaximumBarsLookBack256;
                indicator.MaximumBarsLookBack         = MaximumBarsLookBack;
#endif
                indicator.Input           = input;
                indicator.ConcurrentVWAPS = concurrentVWAPS;
                indicator.GroupingBy      = groupingBy;
                indicator.GroupingSize    = groupingSize;
                indicator.MinWidth        = minWidth;
                indicator.NumSDs1         = numSDs1;
                indicator.NumSDs2         = numSDs2;
                indicator.StartTime       = startTime;
                indicator.Threshold       = threshold;
                Indicators.Add(indicator);
                indicator.SetUp();

                Z20100124ChangePtVWAP[] tmp = new Z20100124ChangePtVWAP[cacheZ20100124ChangePtVWAP == null ? 1 : cacheZ20100124ChangePtVWAP.Length + 1];
                if (cacheZ20100124ChangePtVWAP != null)
                {
                    cacheZ20100124ChangePtVWAP.CopyTo(tmp, 0);
                }
                tmp[tmp.Length - 1]        = indicator;
                cacheZ20100124ChangePtVWAP = tmp;
                return(indicator);
            }
        }
        /// <summary>
        /// Richard Todd www.movethemarkets.com Draws virtual bars
        /// </summary>
        /// <returns></returns>
        public Indicator.Z20091123VirtualBars Z20091123VirtualBars(Data.IDataSeries input, bool boxStyle, Color colorBearish, Color colorBullish, bool gaplessSessions, EventGroupingMethod groupingBy, int groupingSize, int lineWidth, int penAlpha, int startTime)
        {
            if (InInitialize && input == null)
            {
                throw new ArgumentException("You only can access an indicator with the default input/bar series from within the 'Initialize()' method");
            }

            return(_indicator.Z20091123VirtualBars(input, boxStyle, colorBearish, colorBullish, gaplessSessions, groupingBy, groupingSize, lineWidth, penAlpha, startTime));
        }
 public Indicator.Z20091123VirtualBars Z20091123VirtualBars(bool boxStyle, Color colorBearish, Color colorBullish, bool gaplessSessions, EventGroupingMethod groupingBy, int groupingSize, int lineWidth, int penAlpha, int startTime)
 {
     return(_indicator.Z20091123VirtualBars(Input, boxStyle, colorBearish, colorBullish, gaplessSessions, groupingBy, groupingSize, lineWidth, penAlpha, startTime));
 }
        /// <summary>
        /// Richard Todd www.movethemarkets.com Draws virtual bars
        /// </summary>
        /// <returns></returns>
        public Z20091123VirtualBars Z20091123VirtualBars(Data.IDataSeries input, bool boxStyle, Color colorBearish, Color colorBullish, bool gaplessSessions, EventGroupingMethod groupingBy, int groupingSize, int lineWidth, int penAlpha, int startTime)
        {
            if (cacheZ20091123VirtualBars != null)
            {
                for (int idx = 0; idx < cacheZ20091123VirtualBars.Length; idx++)
                {
                    if (cacheZ20091123VirtualBars[idx].BoxStyle == boxStyle && cacheZ20091123VirtualBars[idx].ColorBearish == colorBearish && cacheZ20091123VirtualBars[idx].ColorBullish == colorBullish && cacheZ20091123VirtualBars[idx].GaplessSessions == gaplessSessions && cacheZ20091123VirtualBars[idx].GroupingBy == groupingBy && cacheZ20091123VirtualBars[idx].GroupingSize == groupingSize && cacheZ20091123VirtualBars[idx].LineWidth == lineWidth && cacheZ20091123VirtualBars[idx].PenAlpha == penAlpha && cacheZ20091123VirtualBars[idx].StartTime == startTime && cacheZ20091123VirtualBars[idx].EqualsInput(input))
                    {
                        return(cacheZ20091123VirtualBars[idx]);
                    }
                }
            }

            lock (checkZ20091123VirtualBars)
            {
                checkZ20091123VirtualBars.BoxStyle = boxStyle;
                boxStyle = checkZ20091123VirtualBars.BoxStyle;
                checkZ20091123VirtualBars.ColorBearish = colorBearish;
                colorBearish = checkZ20091123VirtualBars.ColorBearish;
                checkZ20091123VirtualBars.ColorBullish = colorBullish;
                colorBullish = checkZ20091123VirtualBars.ColorBullish;
                checkZ20091123VirtualBars.GaplessSessions = gaplessSessions;
                gaplessSessions = checkZ20091123VirtualBars.GaplessSessions;
                checkZ20091123VirtualBars.GroupingBy = groupingBy;
                groupingBy = checkZ20091123VirtualBars.GroupingBy;
                checkZ20091123VirtualBars.GroupingSize = groupingSize;
                groupingSize = checkZ20091123VirtualBars.GroupingSize;
                checkZ20091123VirtualBars.LineWidth = lineWidth;
                lineWidth = checkZ20091123VirtualBars.LineWidth;
                checkZ20091123VirtualBars.PenAlpha = penAlpha;
                penAlpha = checkZ20091123VirtualBars.PenAlpha;
                checkZ20091123VirtualBars.StartTime = startTime;
                startTime = checkZ20091123VirtualBars.StartTime;

                if (cacheZ20091123VirtualBars != null)
                {
                    for (int idx = 0; idx < cacheZ20091123VirtualBars.Length; idx++)
                    {
                        if (cacheZ20091123VirtualBars[idx].BoxStyle == boxStyle && cacheZ20091123VirtualBars[idx].ColorBearish == colorBearish && cacheZ20091123VirtualBars[idx].ColorBullish == colorBullish && cacheZ20091123VirtualBars[idx].GaplessSessions == gaplessSessions && cacheZ20091123VirtualBars[idx].GroupingBy == groupingBy && cacheZ20091123VirtualBars[idx].GroupingSize == groupingSize && cacheZ20091123VirtualBars[idx].LineWidth == lineWidth && cacheZ20091123VirtualBars[idx].PenAlpha == penAlpha && cacheZ20091123VirtualBars[idx].StartTime == startTime && cacheZ20091123VirtualBars[idx].EqualsInput(input))
                        {
                            return(cacheZ20091123VirtualBars[idx]);
                        }
                    }
                }

                Z20091123VirtualBars indicator = new Z20091123VirtualBars();
                indicator.BarsRequired        = BarsRequired;
                indicator.CalculateOnBarClose = CalculateOnBarClose;
#if NT7
                indicator.ForceMaximumBarsLookBack256 = ForceMaximumBarsLookBack256;
                indicator.MaximumBarsLookBack         = MaximumBarsLookBack;
#endif
                indicator.Input           = input;
                indicator.BoxStyle        = boxStyle;
                indicator.ColorBearish    = colorBearish;
                indicator.ColorBullish    = colorBullish;
                indicator.GaplessSessions = gaplessSessions;
                indicator.GroupingBy      = groupingBy;
                indicator.GroupingSize    = groupingSize;
                indicator.LineWidth       = lineWidth;
                indicator.PenAlpha        = penAlpha;
                indicator.StartTime       = startTime;
                Indicators.Add(indicator);
                indicator.SetUp();

                Z20091123VirtualBars[] tmp = new Z20091123VirtualBars[cacheZ20091123VirtualBars == null ? 1 : cacheZ20091123VirtualBars.Length + 1];
                if (cacheZ20091123VirtualBars != null)
                {
                    cacheZ20091123VirtualBars.CopyTo(tmp, 0);
                }
                tmp[tmp.Length - 1]       = indicator;
                cacheZ20091123VirtualBars = tmp;
                return(indicator);
            }
        }