protected override void CalcBar() { m_Stochastic.Call(); if (Bars.CurrentBar > 2 && m_oSlowK.CrossesOver(m_oSlowD, ExecInfo.MaxBarsBack) && PublicFunctions.DoubleLess(m_oSlowK.Value, OverSold)) { m_StochLE.Send(); } }
protected override void CalcBar() { m_Stochastic.Call(); if (Bars.CurrentBar > 2 && m_oSlowK.CrossesUnder(m_oSlowD, ExecInfo.MaxBarsBack) && PublicFunctions.DoubleGreater(m_oSlowK.Value, OverBought)) { m_StochSE.Send(); } }
protected override void CalcBar() { m_stochastic1.Call(); Plot1.Set(0, m_ofastk.Value); Plot2.Set(0, m_ofastd.Value); Plot3.Set(0, overbought); Plot4.Set(0, oversold); if (this.CrossesOver(m_ofastd, oversold)) { Alerts.Alert("FastD exiting oversold zone"); } else { if (this.CrossesUnder(m_ofastd, overbought)) { Alerts.Alert("FastD exiting overbought zone"); } } }
protected override void CalcBar() { m_stochastic1.Call(); Plot1.Set(0, m_oslowk.Value); Plot2.Set(0, m_oslowd.Value); Plot3.Set(0, overbought); Plot4.Set(0, oversold); if (Bars.CurrentBar > 2) { if ((this.CrossesOver(m_oslowk, m_oslowd) && PublicFunctions.DoubleLess(m_oslowk.Value, oversold))) { Alerts.Alert("SlowK crossing over SlowD"); } else { if ((this.CrossesUnder(m_oslowk, m_oslowd) && PublicFunctions.DoubleGreater(m_oslowk.Value, overbought))) { Alerts.Alert("SlowK crossing under SlowD"); } } } }