/// <summary> /// Called on each bar update event (incoming tick) /// </summary> protected override void OnBarUpdate() { if (CurrentBar < 5) { return; } if (MACD(12, 26, 9).Diff[0] >= MACD(12, 26, 9).Diff[1]) { if ((MACD(12, 26, 9).Diff[1] < MACD(12, 26, 9).Diff[2]) & (MACD(12, 26, 9).Diff[2] < MACD(12, 26, 9).Diff[3]) & (MACD(12, 26, 9).Diff[3] < MACD(12, 26, 9).Diff[4]) & (MACD(12, 26, 9).Diff[4] < MACD(12, 26, 9).Diff[5])) { Plot5.Set(MACD(12, 26, 9).Diff[0]); } else { Plot5.Set(0); Plot1.Set(MACD(12, 26, 9).Diff[0]); } } else { Plot1.Set(0); } if (MACD(12, 26, 9).Diff[0] < MACD(12, 26, 9).Diff[1]) { if ((MACD(12, 26, 9).Diff[1] >= MACD(12, 26, 9).Diff[2]) & (MACD(12, 26, 9).Diff[2] >= MACD(12, 26, 9).Diff[3]) & (MACD(12, 26, 9).Diff[3] >= MACD(12, 26, 9).Diff[4]) & (MACD(12, 26, 9).Diff[4] >= MACD(12, 26, 9).Diff[5])) { Plot4.Set(MACD(12, 26, 9).Diff[0]); } else { Plot4.Set(0); Plot0.Set(MACD(12, 26, 9).Diff[0]); } } else { Plot0.Set(0); } }
protected override void CalcBar() { if (Bars.LastBarInSession) { m_upperband.Value = (Bars.Close[0] * (1 + (numdevs * volstddev[0] / Math.Sqrt(252)))); m_lowerband.Value = (Bars.Close[0] * (1 - (numdevs * volstddev[0] / Math.Sqrt(252)))); } else { m_upperband.Value = (Bars.Close[1] * (1 + (numdevs * volstddev[0] / Math.Sqrt(252)))); m_lowerband.Value = (Bars.Close[1] * (1 - (numdevs * volstddev[0] / Math.Sqrt(252)))); } Plot1.Set(0, m_upperband.Value); Plot2.Set(0, m_lowerband.Value); if (enable_depth) { Plot3.Set(0, (Bars.Close[0] - m_upperband.Value) / (m_upperband.Value - m_lowerband.Value)); Plot4.Set(0, (m_lowerband.Value - Bars.Close[0]) / (m_upperband.Value - m_lowerband.Value)); } }