public static void UpdateVolumes(ResizeableArray <CandleStickData> candles, TradeInfoItem trade, int period)
        {
            if (candles.Count == 0)
            {
                return;
            }
            CandleStickData saved = candles.Last();

            if (saved.Time > trade.Time || saved.Time.AddMinutes(period) <= saved.Time)
            {
                UpdateCandle(saved, trade);
                return;
            }
            saved = null;
            for (int ci = 0; ci < candles.Count; ci++)
            {
                CandleStickData c = candles[ci];
                if (c.Time <= trade.Time & c.Time.AddMinutes(period) > trade.Time)
                {
                    saved = c;
                    break;
                }
            }
            UpdateCandle(saved, trade);
        }
Example #2
0
 public static void UpdateCandle(CandleStickData candle, TradeInfoItem trade)
 {
     if (trade.Type == TradeType.Buy)
     {
         candle.BuyVolume += trade.Amount;
     }
     else
     {
         candle.SellVolume += trade.Amount;
     }
     candle.BuySellVolume = candle.BuyVolume - candle.SellVolume;
 }
        public static void UpdateVolumes(BindingList <CandleStickData> candles, TradeInfoItem trade, int period)
        {
            if (candles.Count == 0)
            {
                return;
            }
            CandleStickData saved = candles.Last();

            if (saved.Time > trade.Time || saved.Time.AddMinutes(period) <= saved.Time)
            {
                UpdateCandle(saved, trade);
                return;
            }
            saved = candles.FirstOrDefault(c => c.Time <= trade.Time & c.Time.AddMinutes(period) > trade.Time);
            UpdateCandle(saved, trade);
        }
 protected internal void UpdateTradeData(TradeInfoItem tradeInfoItem)
 {
     TradeHistory.Add(tradeInfoItem);
 }