public MovingAverageRibbon MovingAverageRibbon(ISeries <double> input, RibbonMAType movingAverage, int basePeriod, int incrementalPeriod)
 {
     if (cacheMovingAverageRibbon != null)
     {
         for (int idx = 0; idx < cacheMovingAverageRibbon.Length; idx++)
         {
             if (cacheMovingAverageRibbon[idx] != null && cacheMovingAverageRibbon[idx].MovingAverage == movingAverage && cacheMovingAverageRibbon[idx].BasePeriod == basePeriod && cacheMovingAverageRibbon[idx].IncrementalPeriod == incrementalPeriod && cacheMovingAverageRibbon[idx].EqualsInput(input))
             {
                 return(cacheMovingAverageRibbon[idx]);
             }
         }
     }
     return(CacheIndicator <MovingAverageRibbon>(new MovingAverageRibbon()
     {
         MovingAverage = movingAverage, BasePeriod = basePeriod, IncrementalPeriod = incrementalPeriod
     }, input, ref cacheMovingAverageRibbon));
 }
 public Indicators.MovingAverageRibbon MovingAverageRibbon(ISeries <double> input, RibbonMAType movingAverage, int basePeriod, int incrementalPeriod)
 {
     return(indicator.MovingAverageRibbon(input, movingAverage, basePeriod, incrementalPeriod));
 }
 public MovingAverageRibbon MovingAverageRibbon(RibbonMAType movingAverage, int basePeriod, int incrementalPeriod)
 {
     return(MovingAverageRibbon(Input, movingAverage, basePeriod, incrementalPeriod));
 }