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()); }
        }
Exemple #3
0
        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);
        }
Exemple #7
0
 //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);
        }
Exemple #9
0
 public sealed override void onMessage(QuickFix42.OrderCancelRequest message, SessionID session)
 {
     Fix.Out(new StackTrace(new StackFrame(true)).GetFrame(0).GetMethod().ToString());
 }