public QuickFix42.OrderCancelRequest GenerateCancelRequest(string clOrdId, int index) { string originalId = (string)LimitOrders[index]; QuickFix42.Message msg = Msgs[originalId]; //check for a recent ID string temp = LimitLib.GetRecentId(originalId); if (temp != null) { //limitLib.add(originalID, clOrdId); //associate new Id originalId = temp; //send with most recent from previous request } Side oldSide = new Side(); msg.getField(oldSide); TransactTime uTime = new TransactTime(); msg.getField(uTime); QuickFix42.OrderCancelRequest ocr = new QuickFix42.OrderCancelRequest( new OrigClOrdID(originalId), new ClOrdID(clOrdId), new Symbol(msg.getField(Symbol.FIELD)), //Necessary Field for canceling child orders oldSide, //Necessary Field for canceling child orders uTime); OrderID oid = new OrderID("x"); ocr.setField(oid); //Neccessary Field for canceling child orders Price limitPrice = new Price(); msg.getField(limitPrice); //OCR.setField(limitPrice); ocr.setField(57, msg.getField(57)); ocr.setField(9102, msg.getField(9102)); return(ocr); }
public QuickFix42.OrderCancelRequest GenerateManualCancelRequest(string clOrdId, string originalId, string symbol, string side, double price, string route = "NEFAN", string channel = "X") { //QuickFix42.Message msg = MSGS[(string)LimitOrders[index]]; Side sd = new Side(Side.BUY); if (side.Equals("B") || side.Equals("b") || side.Equals("buy") || side.Equals("BUY")) { sd = new Side(Side.BUY); } else if (side.Equals("S") || side.Equals("s") || side.Equals("sell") || side.Equals("SELL")) { sd = new Side(Side.SELL); } else if (side.Equals("SS") || side.Equals("ss") || side.Equals("ssell") || side.Equals("SSELL") || side.Equals("SHORT") || side.Equals("short")) { sd = new Side(Side.SELL_SHORT); } TransactTime uTime = new TransactTime(DateTime.Parse("20110708 15:24:26")); //msg.getField(uTime); QuickFix42.OrderCancelRequest ocr = new QuickFix42.OrderCancelRequest( new OrigClOrdID(originalId), new ClOrdID(clOrdId), new Symbol(symbol), //Necessary Field for canceling child orders sd, //Necessary Field for canceling child orders uTime); OrderID oid = new OrderID("x"); ocr.setField(oid); //Neccessary Field for canceling child orders Price limitPrice = new Price(price); //msg.getField(limitPrice); ocr.setField(limitPrice); ocr.setField(57, "ALGO1"); ocr.setField(9102, "T"); return(ocr); }
public QuickFix42.OrderCancelRequest SendLimitOrderCancelRequest(string originalId, string orderId, string exId) { //int id = rand.Next(100000000, 200000000); QuickFix42.OrderCancelRequest m = new QuickFix42.OrderCancelRequest(new OrigClOrdID(originalId), new ClOrdID(orderId), new Symbol("BAC"), new Side(Side.BUY), new TransactTime(DateTime.UtcNow)); //addtional required fields m.set(new OrderQty(100)); m.set(new OrderID(exId)); //RMG Routing m.setField(57, "ALGO1"); m.setField(9102, "T"); //m.setField(6210, "0"); //Price p = new Price(12.99); //m.set(p); //Session.sendToTarget(m, oKnightSessionID); return(m); }