示例#1
0
 //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);
        }
示例#3
0
        //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()); }
        }