private QuickFix.FIX44.NewOrderSingle QueryNewOrderSingle44() { QuickFix.Fields.OrdType ordType = null; QuickFix.FIX44.NewOrderSingle newOrderSingle = new QuickFix.FIX44.NewOrderSingle( QueryClOrdID(), QuerySymbol(), QuerySide(), new TransactTime(DateTime.Now), ordType = QueryOrdType()); newOrderSingle.Set(new HandlInst('1')); newOrderSingle.Set(QueryOrderQty()); newOrderSingle.Set(QueryTimeInForce()); if (ordType.getValue() == OrdType.LIMIT || ordType.getValue() == OrdType.STOP_LIMIT) { newOrderSingle.Set(QueryPrice()); } if (ordType.getValue() == OrdType.STOP || ordType.getValue() == OrdType.STOP_LIMIT) { newOrderSingle.Set(QueryStopPx()); } return(newOrderSingle); }
private QuickFix.FIX41.NewOrderSingle QueryNewOrderSingle41() { QuickFix.Fields.OrdType ordType = null; QuickFix.FIX41.NewOrderSingle newOrderSingle = new QuickFix.FIX41.NewOrderSingle( QueryClOrdID(), new HandlInst('1'), QuerySymbol(), QuerySide(), ordType = QueryOrdType()); newOrderSingle.Set(QueryOrderQty()); newOrderSingle.Set(QueryTimeInForce()); if (ordType.getValue() == OrdType.LIMIT || ordType.getValue() == OrdType.STOP_LIMIT) { newOrderSingle.Set(QueryPrice()); } if (ordType.getValue() == OrdType.STOP || ordType.getValue() == OrdType.STOP_LIMIT) { newOrderSingle.Set(QueryStopPx()); } QueryHeader(newOrderSingle.Header); return(newOrderSingle); }
private static OrderData TranslateOrderImpl(Symbol symbol, Side side, OrdType ordType, OrderQty orderQty, Price price, ClOrdID clOrdID, Account account) { switch (ordType.getValue()) { case OrdType.LIMIT: if (price.Obj == 0) throw new IncorrectTagValue(price.Tag); break; //case OrdType.MARKET: break; default: throw new IncorrectTagValue(ordType.Tag); } return new OrderData { MarketSide = TranslateFixFields.Translate(side), Symbol = symbol.getValue(), OrderType = TranslateFixFields.Translate(ordType), Quantity = orderQty.getValue(), Price = price.getValue(), ClOrdID = clOrdID.getValue(), Account = account == null ? TradingAccount.None : new TradingAccount(account.getValue()) }; }
private static void ValidateIsSupportedOrderType(OrdType ordType) { switch (ordType.getValue()) { case OrdType.LIMIT: break; default: throw new IncorrectTagValue(ordType.Tag); } }