Example #1
0
 public void UpdateOrdTerm(OrderUpd orderexec)
 {
     try
     {
         Order ord;
         if (_ordersMap.TryGetValue(orderexec.Orderid, out ord))
         {
             ord.Status   = orderexec.Status;
             ord.Rsn      = orderexec.CxlReason;
             ord.IsActive = false;
             inactiveOrdBlock.Post(ord);
         }
         else if (_ordersMap.TryGetValue(orderexec.RefOrderId, out ord))
         {
             ord.Status   = orderexec.Status;
             ord.IsActive = false;
             inactiveOrdBlock.Post(ord);
         }
         else
         {
             //_logger.LogError("MISSING ORDER for cxl." + orderexec.Orderid);
             //orderExecBufBlock.Post(orderexec);
         }
     }
     catch (Exception ex)
     {
         _logger.LogError("Terminate Error:" + ex.Message);
     }
 }
Example #2
0
        public void ProcessOrderExec(OrderUpd ex, Order ord)
        {
            ord.AvgPriceCum   = ex.ExecPrice;
            ord.ExecSharesCum = ex.ExecShares;
            ord.ExecNotl      = ex.ExecPrice * ex.ExecShares;
            ord.Leaves        = ord.OrdSize - ex.ExecShares;
            ord.Status        = ex.Status;


            if (ord.ExecSharesCum == ord.OrdSize || ex.Status == "FILLED")
            {
                ord.IsActive = false;
                inactiveOrdBlock.Post(ord);
                ord.Status = "FILLED";
            }
        }
Example #3
0
 public void UpdateExec(OrderUpd orderexec)
 {
     try
     {
         Order ord;
         if (_ordersMap.TryGetValue(orderexec.Orderid, out ord))
         {
             ProcessOrderExec(orderexec, ord);
         }
         else if (_inactiveOrderMap.TryGetValue(orderexec.Orderid, out ord))
         {
             ProcessOrderExec(orderexec, ord);
         }
         else
         {
             //orderExecBufBlock.Post(orderexec);
             _logger.LogError("MISSING ORDER for exec." + orderexec.Orderid);
         }
     }
     catch (Exception ex)
     {
         _logger.LogError("Exec Upd Error:" + ex.Message);
     }
 }