public SlopeEnhancedOp SlopeEnhancedOp(ISeries <double> input, int period, int detrendPeriod, int smooth, bool detrend, InputSeriesType inputType, NormType normType, Brush colorUp, Brush colorDown, PlotStyle lineStyle) { if (cacheSlopeEnhancedOp != null) { for (int idx = 0; idx < cacheSlopeEnhancedOp.Length; idx++) { if (cacheSlopeEnhancedOp[idx] != null && cacheSlopeEnhancedOp[idx].Period == period && cacheSlopeEnhancedOp[idx].DetrendPeriod == detrendPeriod && cacheSlopeEnhancedOp[idx].Smooth == smooth && cacheSlopeEnhancedOp[idx].Detrend == detrend && cacheSlopeEnhancedOp[idx].InputType == inputType && cacheSlopeEnhancedOp[idx].NormType == normType && cacheSlopeEnhancedOp[idx].ColorUp == colorUp && cacheSlopeEnhancedOp[idx].ColorDown == colorDown && cacheSlopeEnhancedOp[idx].LineStyle == lineStyle && cacheSlopeEnhancedOp[idx].EqualsInput(input)) { return(cacheSlopeEnhancedOp[idx]); } } } return(CacheIndicator <SlopeEnhancedOp>(new SlopeEnhancedOp() { Period = period, DetrendPeriod = detrendPeriod, Smooth = smooth, Detrend = detrend, InputType = inputType, NormType = normType, ColorUp = colorUp, ColorDown = colorDown, LineStyle = lineStyle }, input, ref cacheSlopeEnhancedOp)); }
public Indicators.SlopeEnhancedOp SlopeEnhancedOp(ISeries <double> input, int period, int detrendPeriod, int smooth, bool detrend, InputSeriesType inputType, NormType normType, Brush colorUp, Brush colorDown, PlotStyle lineStyle) { return(indicator.SlopeEnhancedOp(input, period, detrendPeriod, smooth, detrend, inputType, normType, colorUp, colorDown, lineStyle)); }
// method to assign an instance of the chosen indicator private IndicatorBase AssignIndicatorInstance(Series <double> inputSeries, InputSeriesType inputType, int period) { IndicatorBase indicatorBase = null; switch (inputType) { case InputSeriesType.EMA: { indicatorBase = EMA(inputSeries, period); break; } case InputSeriesType.SMA: { indicatorBase = SMA(inputSeries, period); break; } case InputSeriesType.HMA: { indicatorBase = HMA(inputSeries, period); break; } case InputSeriesType.HMACustom: { indicatorBase = HMACustom(inputSeries, period); break; } case InputSeriesType.WMA: { indicatorBase = WMA(inputSeries, period); break; } case InputSeriesType.TEMA: { indicatorBase = TEMA(inputSeries, period); break; } case InputSeriesType.TMA: { indicatorBase = TMA(inputSeries, period); break; } case InputSeriesType.DEMA: { indicatorBase = DEMA(inputSeries, period); break; } case InputSeriesType.ZLEMA: { indicatorBase = ZLEMA(inputSeries, period); break; } default: { return(null); break; } } if (indicatorBase == null) { return(null); } indicatorBase.BarsRequiredToPlot = BarsRequiredToPlot; indicatorBase.Calculate = Calculate.OnBarClose; indicatorBase.MaximumBarsLookBack = MaximumBarsLookBack; return(indicatorBase); }