Пример #1
0
        internal void UpdateTickPrice(TickPriceArgs eventArgs)
        {
            BuyOrder buyOrder;

            switch (eventArgs.TickPrice.Field)
            {
            case (TickType.ASK):
                buyOrder = buyOrders.FirstOrDefault(i => i.Id == eventArgs.TickPrice.TickerId);
                if (buyOrder.OrderStatus == "Pending")
                {
                    buyOrder.CurrentPrice = (decimal)eventArgs.TickPrice.Price;
                    dgvBuyOrders.Invoke(new Action(() => dgvBuyOrders.Refresh()));
                    CheckForBuy(buyOrders);
                }
                break;

            case (TickType.LOW):
                buyOrder = buyOrders.FirstOrDefault(i => i.Id == eventArgs.TickPrice.TickerId);
                if (buyOrder.OrderStatus == "Pending")
                {
                    buyOrder.Low = (decimal)eventArgs.TickPrice.Price;
                    dgvBuyOrders.Invoke(new Action(() => dgvBuyOrders.Refresh()));
                }
                break;
            }
            CalculatePositionSize();
        }
Пример #2
0
 public void UpdateTickPrice(object sender, TickPriceArgs eventArgs)
 {
     frmMain.UpdateTickPrice(eventArgs);
 }
Пример #3
0
 public virtual void RaiseTickPriceUpdatedEvent(TickPriceArgs eventArgs)
 {
     TickPriceUpdated?.Invoke(this, eventArgs);
 }