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); }
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); }
/// <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; }
/// <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) { } }
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); } }