public void CancelOrder(string oriID, string clrID, char sideID, string symbolID) { OrigClOrdID origClOrdID = new OrigClOrdID(oriID); ClOrdID clOrdID = new ClOrdID(clrID); Side side = new Side(sideID); Symbol symbol = new Symbol(symbolID); TransactTime time = new TransactTime(); QuickFix42.OrderCancelRequest message = new QuickFix42.OrderCancelRequest(origClOrdID, clOrdID, symbol, side, time); message.setInt(38, 0);//委托数量,这里不设置竟无法撤单。 SendToServer(message); }
/// <summary> /// Send order cancel request message for order specified by TTOrderKey (QuickFix.OrderID) /// </summary> /// <param name="TTOrderkey"></param> public void ttOrderCancelRequest(string TTOrderkey) { try { QuickFix42.OrderCancelRequest ocr = new QuickFix42.OrderCancelRequest(); ocr.set(new QuickFix.ClOrdID(uniqueID())); ocr.set(new QuickFix.OrderID(TTOrderkey)); QuickFix.Session.sendToTarget(ocr, orderSessionID); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
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); }
public override void Send(FIXOrderCancelRequest Request) { QuickFix42.OrderCancelRequest request = new QuickFix42.OrderCancelRequest( new QuickFix.OrigClOrdID(Request.OrigClOrdID), new QuickFix.ClOrdID(Request.ClOrdID), new QuickFix.Symbol(Request.Symbol), new QuickFix.Side(Request.Side), new QuickFix.TransactTime(Request.TransactTime)); // instrument component block //request.set(new QuickFix.SecurityType(Request.SecurityType)); //request.set(new QuickFix.SecurityID(Request.SecurityID)); //request.set(new QuickFix.SecurityExchange(Request.SecurityExchange)); //request.set(new QuickFix.Account(Request.Account)); request.set(new QuickFix.OrderQty(0)); //GS FIX cancelRequests.Add(Request.ClOrdID, Request); Session.sendToTarget(request, orderSessionID); }
//35 = F public override void onMessage(QuickFix42.OrderCancelRequest message, SessionID sessionID) { }
public override void Send(FIXOrderCancelRequest Request) { QuickFix42.OrderCancelRequest request = new QuickFix42.OrderCancelRequest( new QuickFix.OrigClOrdID(Request.OrigClOrdID), new QuickFix.ClOrdID(Request.ClOrdID), new QuickFix.Symbol(Request.Symbol), new QuickFix.Side(Request.Side), new QuickFix.TransactTime(Request.TransactTime)); // instrument component block //request.set(new QuickFix.SecurityType(Request.SecurityType)); //request.set(new QuickFix.SecurityID(Request.SecurityID)); //request.set(new QuickFix.SecurityExchange(Request.SecurityExchange)); //request.set(new QuickFix.Account(Request.Account)); request.set(new QuickFix.OrderQty(0)); //GS FIX cancelRequests.Add(Request.ClOrdID, Request); Session.sendToTarget(request, orderSessionID); }
public sealed override void onMessage(QuickFix42.OrderCancelRequest message, SessionID session) { Fix.Out(new StackTrace(new StackFrame(true)).GetFrame(0).GetMethod().ToString()); }