protected override void CalcBar() { double m_avg = m_AverageFC[0]; double m_shift = NumAtrs * this.AverageTrueRange(Length); m_UpperBand.Value = m_avg + m_shift; //UB if (Bars.CurrentBar > 1 && Price.CrossesOver(m_UpperBand, ExecInfo.MaxBarsBack)) //CROSS(C,HB); { m_bSetupLE.Value = true; m_CrossingHigh.Value = Bars.High[0]; //HH } else { if (m_bSetupLE.Value && (PublicFunctions.DoubleLess(Price[0], m_avg) || //C<MA PublicFunctions.DoubleGreaterEquals(Bars.High[0], m_CrossingHigh.Value + Bars.Point))) { m_bSetupLE.Value = false; } } if (m_bSetupLE.Value) { m_KltChLE.Send(m_CrossingHigh.Value + Bars.Point); } }