Esempio n. 1
0
        private void ProcessRtvTicked(string value)
        {
            var      newRtv = new RTVolume(value);
            var      pos    = 0;
            RTVolume rtv    = null;

            while (pos < _rtvList.Count)
            {
                rtv = _rtvList[pos];
                if (newRtv.Price < rtv.Price)
                {
                    break;
                }
                else if (rtv.Price == newRtv.Price)
                {
                    rtv.PrevUnixTime = rtv.UnixTime;
                    rtv.UnixTime     = newRtv.UnixTime;
                    rtv.Size        += newRtv.TickSize;
                    rtv.TickSize     = newRtv.TickSize;
                    break;
                }

                pos++;
            }

            if (rtv != null && rtv.Price == newRtv.Price)
            {
                rtv.PrevPrice = _prevPrice;
                OnRtvTicked(rtv);
            }
            else
            {
                _rtvList.Insert(pos, newRtv);
                newRtv.PrevPrice = _prevPrice;
                OnRtvTicked(newRtv);
            }

            _prevPrice = newRtv.Price;
        }
Esempio n. 2
0
 public RtvTickedEventArgs(RTVolume rtv)
 {
     this.Rtv = rtv;
 }
Esempio n. 3
0
 protected void OnRtvTicked(RTVolume rtv)
 {
     RtvTicked?.Invoke(this, new RtvTickedEventArgs(rtv));
 }