private void DoTrade(int t, TradeType tradeType, float price) { bool f = false; float money = 0; int score = 0; foreach (var position in positions.Where(p => p.TradeType == tradeType.Reverse())) { if (position.TradeType == TradeType.Ask) { money += price - position.Price; score += price - position.Price > 0 ? 1 : -1; } else { money += position.Price - price; score += position.Price - price - position.Price > 0 ? 1 : -1; } f = true; } if (f) { positions.Clear(); } else { if (positions.Count() == 0) { positions.Add(new TradePosition() { Price = price, TradeType = tradeType, }); } } if (f) { Console.Out.WriteLine(t + "," + money + "," + score); } }