コード例 #1
0
        // *****************************************************************
        // ****                     Event Handlers                      ****
        // *****************************************************************
        //
        //
        // ***********************************************************
        // ****                     Filled()                      ****
        // ***********************************************************
        //
        public void Filled(UV.Lib.Fills.FillEventArgs fillEventArgs)
        {
            UVFill fill = fillEventArgs.Fill;

            if (UpdateAndCheckTotalFillCounts(fill) | PnLCheck())
            { // Take the fill and update our counts and PnL, checking both.
                FlagRiskEvents();
            }
        }
コード例 #2
0
        }     // SimulateFills()

        //
        //
        // *************************************************
        // ****         Fill These Orders()             ****
        // *************************************************
        private void FillTheseOrders(ref List <Order> ordersToFill)
        {
            foreach (Order order in ordersToFill)
            {
                if (order.OrderStateConfirmed != OrderState.Submitted)
                {
                    continue;
                }

                // Create the fill
                UV.Lib.Fills.Fill aFill = new Fill();
                aFill.ExchangeTime = m_Market.LocalTime;
                aFill.LocalTime    = aFill.ExchangeTime;
                aFill.Price        = order.PriceConfirmed;
                aFill.Qty          = order.WorkingQtyConfirmed;
                Log.NewEntry(LogLevel.Major, "OrderFilled: Fill={1} Order={0}.", order, aFill);
                // Create the fill event
                UV.Lib.Fills.FillEventArgs fillEvent = new UV.Lib.Fills.FillEventArgs(aFill, order.Id, order.Instrument, true);
                m_ExecContainer.m_OrderInstruments[order.Instrument].TryProcessFill(fillEvent);
            }
        }//FillTheseOrders()