protected override void CalcBar()
        {
            var m_avg   = m_AverageFC[0];
            var m_shift = NumAtrs * this.AverageTrueRange(Length);

            m_LowerBand.Value = m_avg - m_shift;
            if (Bars.CurrentBar > 1 && Price.CrossesUnder(m_LowerBand, ExecInfo.MaxBarsBack))
            {
                m_bSetupSE.Value    = true;
                m_CrossingLow.Value = Bars.Low[0];
            }
            else
            {
                if (m_bSetupSE.Value &&
                    (PublicFunctions.DoubleGreater(Price[0], m_avg) ||
                     PublicFunctions.DoubleLessEquals(Bars.Low[0], m_CrossingLow.Value - Bars.Point)))
                {
                    m_bSetupSE.Value = false;
                }
            }
            if (m_bSetupSE.Value)
            {
                m_KltChSE.Send(m_CrossingLow.Value - Bars.Point);
            }
        }