FastQuant.ExecutionSimulator.FillLimitOrder C# (CSharp) Méthode

FillLimitOrder() private méthode

private FillLimitOrder ( Order order ) : bool
order Order
Résultat bool
        private bool FillLimitOrder(Order order)
        {
            if (order.Type != OrderType.Limit)
                return false;

            int iId = order.InstrumentId;
            if (FillOnQuote)
            {
                var ask = this.framework.DataManager.GetAsk(iId);
                if (ask != null && this.FillWithAsk(order, ask))
                {
                    return true;
                }
                var bid = this.framework.DataManager.GetBid(iId);
                if (bid != null && this.FillWithBid(order, bid))
                {
                    return true;
                }
            }
            if (FillOnTrade)
            {
                Trade trade = this.framework.DataManager.GetTrade(iId);
                if (trade != null && this.FillWithTrade(order, trade))
                {
                    return true;
                }
            }
            if (FillOnBar)
            {
                var bar = this.framework.DataManager.GetBar(iId);
                if (BarFilter.Count != 0 && !BarFilter.Contains(bar.Type, bar.Size))
                {
                    return false;
                }
                if (bar != null && this.FillWithBar(order, bar))
                {
                    return true;
                }
            }
            return false;
        }