//Send Security Definitions Request public Task SendSecurityDefinitionRequest(Action <string> progressHandler) { return(Task.Run(() => { //Create object of Security Definition QuickFix.FIX42.SecurityDefinitionRequest securityDefinition = new QuickFix.FIX42.SecurityDefinitionRequest(); securityDefinition.SecurityReqID = new SecurityReqID(Guid.NewGuid().ToString()); securityDefinition.SecurityExchange = new SecurityExchange("ICDX"); securityDefinition.SecurityRequestType = new SecurityRequestType(SecurityListRequestType.TRADINGSESSIONID); Session.SendToTarget(securityDefinition, _currentSessionId); progressHandler("Sent Security Definition Request"); })); }
private void createSecDefRequest(Model.OrderModel orderModel) { QuickFix.FIX42.SecurityDefinitionRequest order = new QuickFix.FIX42.SecurityDefinitionRequest(); //new ClOrdID(DateTime.Now.ToOADate().ToString()), //new HandlInst('3'), //new Symbol("ES"), //new Side(Side.BUY), //new TransactTime(DateTime.Now), //new OrdType(OrdType.LIMIT)); order.Symbol = new Symbol(orderModel.underlyingExchangeSymbol); order.SecurityExchange = new SecurityExchange(orderModel.underlyingExchange); order.SecurityType = StageOrdersToTTWPFLibrary.FixEnumTranslator.ToField(orderModel.securityType); if (orderModel.securityType == Enums.SECURITY_TYPE.OPTION) { order.PutOrCall = StageOrdersToTTWPFLibrary.FixEnumTranslator.ToField(orderModel.optionType); } order.StrikePrice = new StrikePrice(orderModel.optionStrikePrice); //new decimal(207000)); order.MaturityMonthYear = new MaturityMonthYear(orderModel.maturityMonthYear); //order.OrderQty = new OrderQty(2); //order.Price = new Price(new decimal(1300)); //new HandlInst() //new ClOrdID("1234"), //new Symbol("AAPL"), //new Side(Side.BUY), //new TransactTime(DateTime.Now), //new OrdType(OrdType.LIMIT)); //order.SetField(new StringField(16106, "StagedOrderMsg")); //order.SetField(new CharField(16111, 'I')); //order.Account = new Account("tmqrexodts"); //QuickFix.Session.SendToTarget(order, _session.SessionID); //QuickFix.FIX42.NewOrderSingle order = (QuickFix.FIX42.NewOrderSingle)orderObject; QuickFix.Session.SendToTarget(order, _fixConnectionSystem.orderSession.SessionID); }
//internal void createStagedOrder(List<StageOrdersToTTWPFLibrary.Model.OrderModel> contractListToStage) //{ // for(int i=0; i < contractListToStage.Count; i++) // { // if (contractListToStage[i].securityType == Enums.SECURITY_TYPE.FUTURE) // { // sendStagedFutureOrder(contractListToStage[i]); // } // else // { // sendStagedOptionOrder(contractListToStage[i]); // } // } //} //private void sendStagedFutureOrder(Model.OrderModel orderModel) //{ // var order = new QuickFix.FIX42.NewOrderSingle( // new ClOrdID(DateTime.Now.ToOADate().ToString()), // new HandlInst('3'), // new Symbol(orderModel.underlyingExchangeSymbol), // StageOrdersToTTWPFLibrary.FixEnumTranslator.ToField(orderModel.side), // new TransactTime(DateTime.Now), // new OrdType(OrdType.MARKET)); // order.SecurityType = StageOrdersToTTWPFLibrary.FixEnumTranslator.ToField(orderModel.securityType); // order.SecurityExchange = new SecurityExchange(orderModel.underlyingExchange); // order.MaturityMonthYear = new MaturityMonthYear(orderModel.maturityMonthYear); // order.OrderQty = new OrderQty(orderModel.orderQty); // //order.Price = new Price(new decimal(207175)); // order.SetField(new StringField(16106, orderModel.stagedOrderMessage)); // order.SetField(new CharField(16111, 'I')); // order.Account = new Account("tmqrexodts"); // OrderRecord r = new OrderRecord(order); // lock (_ordersLock) // { // Orders.Add(r); // } // if (InitiatorRunning && IsConnected) // { // QuickFix.Session.SendToTarget(order, _session.SessionID); // } //} //internal void sendStagedOptionOrder(Model.OrderModel orderModel) //{ // var order = new QuickFix.FIX42.NewOrderSingle( // new ClOrdID(DateTime.Now.ToOADate().ToString()), // new HandlInst('3'), // new Symbol(orderModel.underlyingExchangeSymbol), // StageOrdersToTTWPFLibrary.FixEnumTranslator.ToField(orderModel.side), // new TransactTime(DateTime.Now), // new OrdType(OrdType.MARKET)); // order.SecurityType = StageOrdersToTTWPFLibrary.FixEnumTranslator.ToField(orderModel.securityType); // order.SecurityExchange = new SecurityExchange(orderModel.underlyingExchange); // order.PutOrCall = StageOrdersToTTWPFLibrary.FixEnumTranslator.ToField(orderModel.optionType); // order.StrikePrice = new StrikePrice(orderModel.optionStrikePrice); //new StrikePrice(new decimal(207000)); // order.MaturityMonthYear = new MaturityMonthYear(orderModel.maturityMonthYear); // order.OrderQty = new OrderQty(orderModel.orderQty); // //order.Price = new Price(new decimal(1300)); // order.SetField(new StringField(16106, orderModel.stagedOrderMessage)); // order.SetField(new CharField(16111, 'I')); // order.Account = new Account("tmqrexodts"); // QuickFix.Session.SendToTarget(order, _session.SessionID); //} //internal void createStagedOrderXXX() //{ // var order = new QuickFix.FIX42.NewOrderSingle( // new ClOrdID(DateTime.Now.ToOADate().ToString()), // new HandlInst('3'), // new Symbol("ES"), // new Side(Side.BUY), // new TransactTime(DateTime.Now), // new OrdType(OrdType.LIMIT)); // order.SecurityType = new SecurityType(SecurityType.FUTURE); // order.SecurityExchange = new SecurityExchange("CME"); // order.MaturityMonthYear = new MaturityMonthYear("201412"); // order.OrderQty = new OrderQty(2); // order.Price = new Price(new decimal(207175)); // //new HandlInst() // //new ClOrdID("1234"), // //new Symbol("AAPL"), // //new Side(Side.BUY), // //new TransactTime(DateTime.Now), // //new OrdType(OrdType.LIMIT)); // order.SetField(new StringField(16106, "StagedOrderMsg")); // order.SetField(new CharField(16111, 'I')); // order.Account = new Account("tmqrexodts"); // if (InitiatorRunning && IsConnected) // { // QuickFix.Session.SendToTarget(order, _session.SessionID); // } //} //internal void createStagedOptionOrder() //{ // var order = new QuickFix.FIX42.NewOrderSingle( // new ClOrdID(DateTime.Now.ToOADate().ToString()), // new HandlInst('3'), // new Symbol("ES"), // new Side(Side.BUY), // new TransactTime(DateTime.Now), // new OrdType(OrdType.LIMIT)); // order.SecurityExchange = new SecurityExchange("CME"); // order.SecurityType = new SecurityType("OPT"); // order.PutOrCall = new PutOrCall(PutOrCall.CALL); // order.StrikePrice = new StrikePrice(new decimal(207000)); // order.MaturityMonthYear = new MaturityMonthYear("201501"); // order.OrderQty = new OrderQty(2); // order.Price = new Price(new decimal(1300)); // //new HandlInst() // //new ClOrdID("1234"), // //new Symbol("AAPL"), // //new Side(Side.BUY), // //new TransactTime(DateTime.Now), // //new OrdType(OrdType.LIMIT)); // order.SetField(new StringField(16106, "StagedOrderMsg")); // order.SetField(new CharField(16111, 'I')); // order.Account = new Account("tmqrexodts"); // QuickFix.Session.SendToTarget(order, _session.SessionID); //} internal void createDefRequest() { QuickFix.FIX42.SecurityDefinitionRequest order = new QuickFix.FIX42.SecurityDefinitionRequest(); //new ClOrdID(DateTime.Now.ToOADate().ToString()), //new HandlInst('3'), //new Symbol("ES"), //new Side(Side.BUY), //new TransactTime(DateTime.Now), //new OrdType(OrdType.LIMIT)); order.Symbol = new Symbol("ES"); order.SecurityExchange = new SecurityExchange("CME"); order.SecurityType = new SecurityType("OPT"); order.PutOrCall = new PutOrCall(1); order.StrikePrice = new StrikePrice(207000); //new decimal(207000)); order.MaturityMonthYear = new MaturityMonthYear("201501"); //order.OrderQty = new OrderQty(2); //order.Price = new Price(new decimal(1300)); //new HandlInst() //new ClOrdID("1234"), //new Symbol("AAPL"), //new Side(Side.BUY), //new TransactTime(DateTime.Now), //new OrdType(OrdType.LIMIT)); //order.SetField(new StringField(16106, "StagedOrderMsg")); //order.SetField(new CharField(16111, 'I')); //order.Account = new Account("tmqrexodts"); //QuickFix.Session.SendToTarget(order, _session.SessionID); }
/// <summary> /// Request security definiton to capture the exchange point value for the contract. /// </summary> /// <param name="SecEx">Exchange</param> /// <param name="symbol">Exchange symbol for contract</param> /// <param name="secID">unique identifier supplied by the exchnage for this contract /// For eurex this is the ticker and expiration</param> public void ttSecurityDefinitionRequest(string SecEx, string symbol, string secID) { try { QuickFix.FIX42.SecurityDefinitionRequest sdr = new QuickFix.FIX42.SecurityDefinitionRequest(); sdr.Set(new QuickFix.Fields.SecurityReqID(string.Concat(SecEx, ":", symbol, ":", secID))); //sdr.Set(new QuickFix.Fields.SecurityRequestType(3)); sdr.Set(new QuickFix.Fields.SecurityExchange(SecEx)); sdr.Set(new QuickFix.Fields.Symbol(symbol)); sdr.Set(new QuickFix.Fields.SecurityID(secID)); //possible values include CS FOR FUT GOVT MLEG OPT NRG //sdr.Set(new QuickFix.Fields.SecurityType(QuickFix.Fields.SecurityType.FUTURE)); //old code was:: SetField(new TT.RequestTickTable("Y")); sdr.RequestTickTable.setValue(true); QuickFix.Session.SendToTarget(sdr, priceSessionID); } catch (Exception ex) { log.WriteLog(ex.ToString()); } }