public void TestCalculateGBCEAllSharedIndex() { TestMakingValidTrade(); Trade tr = new Trade(DateTime.Now, 20, ETradeType.Sell, 34, PreferredStock.StockSymbol); Inst.MakeTrade(tr); tr = new Trade(DateTime.Now, 24, ETradeType.Sell, 63, PreferredStock.StockSymbol); Inst.MakeTrade(tr); tr = new Trade(DateTime.Now, 26, ETradeType.Sell, 51, PreferredStock.StockSymbol); Inst.MakeTrade(tr); Assert.IsTrue(Inst.CalculateGBCEAllSharedIndex() > 0); }
private decimal CalculateVolumeWeightedStockPriceInternal(Trade[] stockTrades) { if (stockTrades.Length == 0) return 0; decimal u, d; u = d = 0; foreach (Trade item in stockTrades) { u += item.TradePrice * item.Quantity; d += item.Quantity; } return u/d; }
public void TestMakingValidTrade() { Trade tr = new Trade(DateTime.Now, 20, ETradeType.Buy, 34, CommonStock.StockSymbol); Inst.MakeTrade(tr); tr = new Trade(DateTime.Now, 1, ETradeType.Buy, 41, CommonStock.StockSymbol); Inst.MakeTrade(tr); tr = new Trade(DateTime.Now, 1, ETradeType.Buy, 41, CommonStock.StockSymbol); Inst.MakeTrade(tr); }
public void MakeTrade(Trade trade) { if (trade == null) throw new ArgumentNullException("Parameter trade cannot be null"); if (trade.TimeStamp > DateTime.Now) throw new ArgumentException("Trade time stamp is invalid"); if (!stocks.ContainsKey(trade.TradedStock)) throw new ArgumentException("Trade stock is unknown"); tradesMade.Add(trade); }