public QuickFix42.NewOrderSingle SendMarketOrder(string clOrdId, string symbol, int qty, string side, string route, string clientid, string channel = "X") { Side sd = new Side(Side.BUY); LocateReqd lReqd = new LocateReqd(true); bool isLocateReqd = false; 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); isLocateReqd = true; } QuickFix42.NewOrderSingle msg = new QuickFix42.NewOrderSingle(new ClOrdID(clOrdId), new HandlInst('1'), new Symbol(symbol), sd, new TransactTime(DateTime.UtcNow), new OrdType(OrdType.MARKET)); if (isLocateReqd) { msg.set(lReqd); } msg.set(new OrderQty(qty)); msg.set(new Account("54321")); msg.set(new TimeInForce(TimeInForce.DAY)); msg.setField(57, route); // msg.setField(50, route); msg.setField(9102, channel); if (route.Equals("JPMVWAP") || route.Equals("RAVAT") || route.Equals("TWAPJP") || route.Equals("MISMTW") || route.Equals("SGMISMTW")) { msg.setField(6203, DateTime.UtcNow.ToString()); msg.setField(6205, DateTime.UtcNow.Add(new TimeSpan(0, 5, 0)).ToString()); } Handler.Add(msg); return(msg); }
public QuickFix42.NewOrderSingle SendLimitOrder(string clOrdId, string symbol, int qty, string side, double price, string route = "NEFAN", string channel = "X") { Side sd = new Side(Side.BUY); LocateReqd lReqd = new LocateReqd(true); bool isLocateReqd = false; 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); isLocateReqd = true; } QuickFix42.NewOrderSingle msg2 = new QuickFix42.NewOrderSingle(new ClOrdID(clOrdId), new HandlInst('1'), new Symbol(symbol), sd, new TransactTime(DateTime.UtcNow), new OrdType(OrdType.LIMIT)); //additional required fields if (isLocateReqd) { msg2.set(lReqd); } msg2.set(new OrderQty(qty)); msg2.set(new Account("12345")); msg2.set(new TimeInForce(TimeInForce.DAY)); msg2.set(new Price(price)); //For RMG Routing msg2.setField(57, route); msg2.setField(9102, channel); Handler.Add(msg2); return(msg2); }