Exemple #1
0
        protected override void InitForGap()
        {
            if (IsSimple)
            {
                return;
            }

            var firstIndex = Math.Max(m_executeContext.LastIndex + 1, m_executeContext.Index - GapTolerancePeriodMultiplier * Period);

            for (var i = firstIndex; i < m_executeContext.Index; i++)
            {
                var source = m_executeContext.GetSourceForGap(i);
                var ema1   = m_ema1.Execute(source, i);
                var ema2   = m_ema2.Execute(ema1, i);
            }
        }
Exemple #2
0
 protected override void InitForGap()
 {
     if (IsSimple)
     {
         m_lastEma3 = m_executeContext.GetSourceForGap(m_executeContext.Index - 1);
     }
     else
     {
         var firstIndex = Math.Max(m_executeContext.LastIndex + 1, m_executeContext.Index - 4 * Period);
         for (var i = firstIndex; i < m_executeContext.Index; i++)
         {
             var source = m_executeContext.GetSourceForGap(i);
             var ema1   = m_ema1.Execute(source, i);
             var ema2   = m_ema2.Execute(ema1, i);
             var ema3   = m_ema3.Execute(ema2, i);
             m_lastEma3 = ema3;
         }
     }
 }