public SignalAndValue Process(Candle candle) { if (candle.IsComplete == 1) { HighBuffer.Add(candle.HighBid); LowBuffer.Add(candle.LowBid); if (HighBuffer.Count > _length) { HighBuffer.RemoveAt(0); LowBuffer.RemoveAt(0); } return(new SignalAndValue((float)(HighBuffer.Max() - LowBuffer.Min()), IsFormed)); } var highBuffer = HighBuffer.ToList(); var lowBuffer = LowBuffer.ToList(); highBuffer.Add(candle.HighBid); lowBuffer.Add(candle.LowBid); if (highBuffer.Count > _length) { highBuffer.RemoveAt(0); lowBuffer.RemoveAt(0); } return(new SignalAndValue((float)(highBuffer.Max() - lowBuffer.Min()), IsFormed)); }
public void Reset() { HighBuffer.Clear(); LowBuffer.Clear(); }