Пример #1
0
        public void sendExecReport(OrderContext myCntx, string orderID, string status, string execType, double lastQty, int leavesQty, int cumQty, double lastPx, double avePx)
        {
            myCntx.OrdStatus = status;
            myCntx.ExecType = execType;
            myCntx.LastAveragePrice = avePx;
            K2DataObjects.Fill fill = new K2DataObjects.Fill();
            fill.OrderID = orderID;
            fill.OrderStatus = status;
            fill.ExecType = execType;
            fill.FillQty = lastQty;
            fill.LeavesQty = leavesQty;
            fill.CumQty = cumQty;
            fill.LastPx = lastPx;
            fill.AvgPx = avePx;

            sendExecReport(fill);

        }
Пример #2
0
 public void sendExecReport(OrderContext context, string orderID, string status, string execType, double lastQty, int leavesQty, int cumQty, double lastPx, double avePx, string text, string ordRejReason)
 {
     K2DataObjects.Fill fill = new K2DataObjects.Fill();
     fill.OrderID = orderID;
     fill.ClOrdID = context.ClOrdID;
     fill.OrigClOrdID = context.OrigClOrdID;
     fill.OrderStatus = status;
     fill.ExecType = execType;
     fill.FillQty = lastQty;
     fill.LeavesQty = leavesQty;
     fill.CumQty = cumQty;
     fill.LastPx = lastPx;
     fill.AvgPx = avePx;
     fill.Text = text;
     fill.OrdRejReason = ordRejReason;
     sendExecReport(fill);
 }
Пример #3
0
        /// <summary>
        /// record an order context
        /// </summary>
        /// <param name="myClOrdID"></param>
        /// <param name="myFixMsg"></param>
        /// <param name="myApiOrder"></param>
        protected OrderContext RecordOrderContext(string myClOrdID,  object myApiOrder, string myApiID)
        {
            OrderContext myCntx = null;
            try
            {
                myCntx = new OrderContext();
                myCntx.ClOrdID = myClOrdID;
                myCntx.ExternalOrder = myApiOrder;
                
                myCntx.APIOrderID = myApiID;
                if (_clOrdIDOrderMap.ContainsKey(myClOrdID))
                {
                    _clOrdIDOrderMap[myClOrdID] = myCntx;
                }
                else
                {
                    _clOrdIDOrderMap.Add(myClOrdID, myCntx);
                }
                if (myApiID.Length > 0)
                {
                    if (_apiIDOrderMap.ContainsKey(myApiID))
                    {
                        _apiIDOrderMap[myApiID] = myCntx;
                    }
                    else
                    {
                        _apiIDOrderMap.Add(myApiID, myCntx);
                    }
                }

                if (!_activeContextMap.ContainsKey(myCntx.Identity))
                {
                    _activeContextMap.Add(myCntx.Identity, myCntx);
                }

            }
            catch (Exception myE)
            {
                log.Error("RecordOrderContext", myE);
            }
            return myCntx;
        }
Пример #4
0
        /// <summary>
        /// Record a context against a particular cl order ID
        /// </summary>
        /// <param name="myClOrdID"></param>
        /// <param name="myCntx"></param>
        protected void RecordOrderContextApiID(string myApiID, OrderContext myCntx)
        {
            try
            {
                 
                if (_apiIDOrderMap.ContainsKey(myApiID))
                {
                    _apiIDOrderMap[myApiID] = myCntx;
                }
                else
                {
                    _apiIDOrderMap.Add(myApiID, myCntx);
                }


            }
            catch (Exception myE)
            {
            }
        }
Пример #5
0
 protected void SetContextCommand(OrderContext myCntx, ORCommand expectedCmd, ORCommand newCmd)
 {
     try
     {
         if (myCntx.CurrentCommand != expectedCmd)
         {
             driverLog.Error("SetContextCommand:unexpected existing cmd:clordid:" + myCntx.ClOrdID + " existing:" + myCntx.CurrentCommand.ToString() + " expectd:" + expectedCmd.ToString() + " new:" + newCmd.ToString());
         }
         myCntx.CurrentCommand = newCmd;
     }
     catch (Exception myE)
     {
         driverLog.Error("SetContextCommand", myE);
     }
 }