← Zurück

Магия 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 <mark>lastOrderPrice</mark> это определяет. Но если я стою, к примеру первый на покупку, то <mark>var bestBid</mark> почему то видит заявку, которая стоит за моей заявкой. Вот она - магия, или нет? Возможно, я просто плохо знаю и понимаю работу S#, но мне кажется, что такой код вполне должен нормально работать.

War dieses Thema hilfreich?

Thema teilen

Kommentare (1)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

yar1k0v
yar1k0v Autor

Все решилось само собой. Просто, как оказалось, не желательно включать робота, когда QUIK активно загружает данные, при первом запуске за день.