public void OnMessage(QuickFix.FIX42.OrderCancelRequest msg, QuickFix.SessionID session) { try { ProcessOrderCancelRequest(session, msg.ClOrdID, msg.OrigClOrdID); } catch (Exception e) { RejectCancelRequest(session, msg.ClOrdID, msg.OrigClOrdID, null, "OnMessage(QuickFix.FIX42.OrderCancelRequest msg, QuickFix.SessionID session): internal error : " + e.ToString() , QuickFix.Fields.CxlRejReason.OTHER, false); } }
private QuickFix.FIX42.OrderCancelRequest QueryOrderCancelRequest42() { QuickFix.FIX42.OrderCancelRequest orderCancelRequest = new QuickFix.FIX42.OrderCancelRequest( QueryOrigClOrdID(), QueryClOrdID(), QuerySymbol(), QuerySide(), new TransactTime(DateTime.Now)); orderCancelRequest.Set(QueryOrderQty()); QueryHeader(orderCancelRequest.Header); return(orderCancelRequest); }
public int cancelOrder(OrderStruct os) {//will add check in case of already filled, no cancel. OrderDAO ord = new OrderDAO(); OrderStruct dbos = new OrderStruct(11, 8); if (ord.getOrderFromDB(os.OrderNo, ref dbos) < 0) { Console.WriteLine("Error : Unable to get order details from DB"); return(-1); } Console.WriteLine("DBG: truct val"); dbos.display(); string ordStatus = new string(dbos.OrderStatus); //if(ordStatus.Equals("CANCELED") || ordStatus.Equals("COMPLETED")) //{ // Console.WriteLine("Order is already "+ordStatus); // return -1; //} Console.WriteLine("Order No [" + dbos.OrderNo + "] : Status [" + ordStatus + "]"); //return -1; int ordNo = ord.cancelOrder(ref dbos); if (ordNo < 0) { return(-1); } Console.WriteLine("TODO: Send FIX - cancel for os.ID"); //Send FIX - cancel for os.ID OrigClOrdID origCLOrdID = new OrigClOrdID(Convert.ToString(dbos.fixAcceptedID)); ClOrdID OrdId = new ClOrdID(Convert.ToString(ordNo)); string symboldata = sanitiseField(os.symbol); Symbol symbol = new Symbol(symboldata); Side side = new Side(Side.BUY); if (os.direction == 'S') { side = new Side(Side.SELL); } Console.WriteLine("cancelling origOrdId : " + dbos.fixAcceptedID + " newOrdId : " + ordNo); Console.WriteLine("symboldata : " + symboldata + " side : " + side); var orderCan = new QuickFix.FIX42.OrderCancelRequest(origCLOrdID, OrdId, symbol, side, new TransactTime(DateTime.Now.ToUniversalTime())); Session.SendToTarget(orderCan, FixClient.MySess); return(os.OrderNo); }
public static long GetOrderIdFromMessage(QuickFix.FIX42.OrderCancelRequest msg) { if (!msg.IsSetOrderID()) { throw new IncorrectTagValue(msg.OrderID.Tag); } var idString = msg.OrderID.getValue(); long id; if (!string.IsNullOrEmpty(idString) && long.TryParse(idString, out id)) { return(id); } throw new IncorrectTagValue(msg.OrderID.Tag); }
public void OnMessage(QuickFix.FIX42.OrderCancelRequest msg, SessionID s) { string orderid = (msg.IsSetOrderID()) ? msg.OrderID.Obj : "unknown orderID"; QuickFix.FIX42.OrderCancelReject ocj = new QuickFix.FIX42.OrderCancelReject( new OrderID(orderid), msg.ClOrdID, msg.OrigClOrdID, new OrdStatus(OrdStatus.REJECTED), new CxlRejResponseTo(CxlRejResponseTo.ORDER_CANCEL_REQUEST)); ocj.CxlRejReason = new CxlRejReason(CxlRejReason.UNKNOWN_ORDER); ocj.Text = new Text("Executor does not support order cancels"); try { Session.SendToTarget(ocj, s); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
/// <summary> /// Cancel Limit order /// </summary> /// <param name="order"></param> public void CancelLimitOrder(Order order) { try { // Create FIX order QuickFix.FIX42.OrderCancelRequest orderCancelRequest = OrderCancelRequest(order); // Send request Session.SendToTarget(orderCancelRequest, _orderSessionId); if (Logger.IsDebugEnabled) { Logger.Debug("Cancel Order Sent " + order, _type.FullName, "CancelLimitOrder"); } } catch (Exception exception) { Logger.Error(exception, _type.FullName, "CancelLimitOrder"); } }
public void CancelOrder(OrderRecord or) { try { QuickFix.FIX42.OrderCancelRequest ocq = new QuickFix.FIX42.OrderCancelRequest( new QuickFix.Fields.OrigClOrdID(or.ClOrdID), MessageCreator42.GenerateClOrdID(), new QuickFix.Fields.Symbol(or.Symbol), or.OriginalNOS.Side, new QuickFix.Fields.TransactTime(DateTime.Now)); ocq.OrderID = new QuickFix.Fields.OrderID(or.OrderID); _strategy.ProcessOrderCancelRequest(or.OriginalNOS, ocq); _qfapp.Send(ocq); } catch (Exception e) { Trace.WriteLine(e.ToString()); } }
/// <summary> /// Creates a FIX4.2 OrderCancelRequest message for Redi /// </summary> /// <param name="order"></param> /// <returns></returns> public QuickFix.FIX42.OrderCancelRequest OrderCancelRequest(Order order) { QuickFix.FIX42.OrderCancelRequest orderCancelRequest = new QuickFix.FIX42.OrderCancelRequest(); QuickFix.Fields.ClOrdID clOrdId = new QuickFix.Fields.ClOrdID(DateTime.Now.ToString(("yyMMddHmsfff"))); orderCancelRequest.SetField(clOrdId); QuickFix.Fields.OrigClOrdID origClOrdId = new QuickFix.Fields.OrigClOrdID(order.OrderID); orderCancelRequest.SetField(origClOrdId); QuickFix.Fields.Symbol symbol = new QuickFix.Fields.Symbol(order.Security.Symbol); orderCancelRequest.SetField(symbol); QuickFix.Fields.Side side = new QuickFix.Fields.Side(Convert.ToChar(order.OrderSide)); orderCancelRequest.SetField(side); QuickFix.Fields.TransactTime transactTime = new QuickFix.Fields.TransactTime(order.OrderDateTime); orderCancelRequest.SetField(transactTime); QuickFix.Fields.Currency currency = new QuickFix.Fields.Currency(order.OrderCurrency); orderCancelRequest.SetField(currency); return(orderCancelRequest); }
public void ProcessOrderCancelRequest(QuickFix.FIX42.NewOrderSingle nos, QuickFix.FIX42.OrderCancelRequest msg) { }
public void CancelOrder(OrderRecord or) { try { QuickFix.FIX42.OrderCancelRequest ocq = new QuickFix.FIX42.OrderCancelRequest( new QuickFix.Fields.OrigClOrdID(or.ClOrdID), MessageCreator42.GenerateClOrdID(), new QuickFix.Fields.Symbol(or.Symbol), or.OriginalNOS.Side, new QuickFix.Fields.TransactTime(DateTime.Now)); ocq.OrderID = new QuickFix.Fields.OrderID(or.OrderID); _strategy.ProcessOrderCancelRequest(or.OriginalNOS, ocq); _qfapp.Send(ocq); } catch (Exception e) { Trace.WriteLine(e.ToString()); } }
/// <summary> /// Send order cancel request message for order specified by TTOrderKey (QuickFix.Fields.OrderID) /// </summary> /// <param name="TTOrderkey"></param> public void ttOrderCancelRequest(string TTOrderkey) { try { QuickFix.FIX42.OrderCancelRequest ocr = new QuickFix.FIX42.OrderCancelRequest(); ocr.Set(new QuickFix.Fields.ClOrdID(uniqueID())); ocr.Set(new QuickFix.Fields.OrderID(TTOrderkey)); QuickFix.Session.SendToTarget(ocr, orderSessionID); } catch (Exception ex) { log.WriteLog(ex.ToString());} }
public void OnMessage(QuickFix.FIX42.OrderCancelRequest msg, SessionID sessionID) { _fix42MessageHandler.OnMessage(msg, sessionID); }
private QuickFix.FIX42.OrderCancelRequest QueryOrderCancelRequest42() { QuickFix.FIX42.OrderCancelRequest orderCancelRequest = new QuickFix.FIX42.OrderCancelRequest( QueryOrigClOrdID(), QueryClOrdID(), QuerySymbol(), QuerySide(), new TransactTime(DateTime.Now)); orderCancelRequest.Set(QueryOrderQty()); QueryHeader(orderCancelRequest.Header); return orderCancelRequest; }