Магия S# или что то другое?
							
							
						 
						
						
						
						
	
			В последнее время с моей стратегией твориться сплошная магия...
Одну магическую штуку, я обнаружил совсем недавно!
Вот пример кода:
Код
                        var activeOrders = (from orders in this.Orders
                                            where (orders.State == OrderStates.Active)
                                            select orders).ToList();                         
                        if (activeOrders.Count == 0)
                        {
                            //что то
                        }
                        else
                        {
                            var lastOrderPrice = activeOrders.FirstOrDefault().Price;
                            var bestAsk = this.Security.GetMarketDepth().BestAsk;
                            var bestBid = this.Security.GetMarketDepth().BestBid;
                            //если спрэд удовлетворяет условия
                            if (e.SpreadPrice >= Convert.ToDecimal(this.Security.MinStepSize * Properties.Settings.Default.SignalSpreadSize))
                            {
                                //если наша заявка стоит первой на покупку или продажу
                                if (lastOrderPrice == bestAsk.Price || lastOrderPrice == bestBid.Price)
                                {
                                    //что то делаем 
                                }
                                // еще что то и т.д.
                             }
                         }
 Главное то, что заявку стратегия должна выкидывать только одну (и чаще всего так и делает), а если уже была выставлена заявка, то важно знать первая она или нет? И var 
lastOrderPrice это определяет. Но если я стою, к примеру первый на покупку, то 
var bestBid почему то видит заявку, которая стоит за моей заявкой. Вот она - магия, или нет?
Возможно, я просто плохо знаю и понимаю работу S#, но мне кажется, что такой код вполне должен нормально работать.