Esempio n. 1
0
        public void CreateIOISubscription()
        {
            Log.LogMessage(LogLevels.DETAILED, "Create IOI Subscription");

            CorrelationID cID = new CorrelationID();

            Subscription newSubscription = new Subscription(IOISUBDATA_SERVICE + "/ioi", cID);

            Log.LogMessage(LogLevels.DETAILED, "Topic string: " + newSubscription.SubscriptionString);

            List <Subscription> newSubList = new List <Subscription>();

            newSubList.Add(newSubscription);

            subscriptionMessageHandlers.Add(cID, this.iois);

            Log.LogMessage(LogLevels.DETAILED, "Added new IOIs message handler: " + cID.ToString());


            try
            {
                Log.LogMessage(LogLevels.DETAILED, "Subscribing...");
                this.session.Subscribe(newSubList);
                Log.LogMessage(LogLevels.DETAILED, "Subscription request sent...");
            }
            catch (Exception ex)
            {
                Log.LogMessage(LogLevels.BASIC, "Failed to subscribe: " + newSubList.ToString());
                Console.WriteLine(ex.ToString());
            }
        }
Esempio n. 2
0
        public void AddSubscription(Security security)
        {
            Log.LogMessage(LogLevels.DETAILED, "Adding subscription for security: " + security.GetName());

            CorrelationID cID = new CorrelationID(security.GetName());

            Subscription newSubscription = new Subscription(security.GetName(), fields.GetFieldList(), "", cID);

            Log.LogMessage(LogLevels.DETAILED, "Topic string: " + newSubscription.SubscriptionString);

            List <Subscription> newSubList = new List <Subscription>();

            newSubList.Add(newSubscription);

            messageHandlers.Add(cID, security);

            try {
                Log.LogMessage(LogLevels.DETAILED, "Subscribing...");
                this.session.Subscribe(newSubList);
                Log.LogMessage(LogLevels.DETAILED, "Subscription request sent...");
            }
            catch (Exception ex) {
                Log.LogMessage(LogLevels.BASIC, "Failed to subscribe: " + newSubList.ToString());
                Console.WriteLine(ex.ToString());
            }
        }
Esempio n. 3
0
        private void createIOISubscription(Session session)
        {
            System.Console.WriteLine("Create IOI subscription");

            // Create the topic string for the ioi subscription.
            String ioiTopic = d_service + "/ioi";

            ioiSubscription = new Subscription(ioiTopic);
            System.Console.WriteLine("IOI Topic: " + ioiTopic);
            List <Subscription> subscriptions = new List <Subscription>();

            subscriptions.Add(ioiSubscription);

            try
            {
                session.Subscribe(subscriptions);
            }
            catch (Exception ex)
            {
                System.Console.Error.WriteLine("Failed to create IOI subscription");
            }
        }
Esempio n. 4
0
        internal void subscribe(String topic, MessageHandler handler)
        {
            CorrelationID newCID = new CorrelationID();

            subscriptionMessageHandlers.Add(newCID, handler);

            Log.LogMessage(LogLevels.BASIC, "Added Subscription message handler: " + newCID.ToString());

            try
            {
                Subscription sub = new Subscription(topic, newCID);

                List <Subscription> subs = new List <Subscription>();

                subs.Add(sub);

                session.Subscribe(subs);
            }
            catch (Exception e)
            {
                System.Console.Error.WriteLine(e.StackTrace);
            }
        }
Esempio n. 5
0
        private void run(String[] args)
        {
            if (!parseCommandLine(args))
            {
                return;
            }

            // create session
            if (!createSession())
            {
                System.Console.WriteLine("Fail to open session");
                return;
            }

            if (d_authOption != "NONE")
            {
                // Authenticate user using Generate Token Request
                if (!GenerateToken(out d_token))
                {
                    return;
                }

                //Authorization : pass Token into authorization request. Returns User handle with user's entitlements info set by server.
                if (!IsBPipeAuthorized(d_token, out d_identity))
                {
                    return;
                }
            }

            if (!d_session.OpenService(MKTDATA_SVC))
            {
                System.Console.Error.WriteLine("Failed to open " + MKTDATA_SVC);
                return;
            }
            if (!d_session.OpenService(REFDATA_SVC))
            {
                System.Console.Error.WriteLine("Failed to open " + REFDATA_SVC);
                return;
            }

            Subscription        s             = new Subscription("IBM US Equity", "LAST_PRICE", "");
            List <Subscription> subscriptions = new List <Subscription>();

            subscriptions.Add(s);
            if (d_authOption != "NONE")
            {
                System.Console.WriteLine("Subscribing to IBM US Equity with Identity object");
                d_session.Subscribe(subscriptions, d_identity);
            }
            else
            {
                System.Console.WriteLine("Subscribing to IBM US Equity");
                d_session.Subscribe(subscriptions);
            }

            Service refDataService = d_session.GetService("//blp/refdata");
            Request request        = refDataService.CreateRequest("ReferenceDataRequest");

            request.GetElement("securities").AppendValue("IBM US Equity");
            request.GetElement("fields").AppendValue("DS002");

            EventQueue eventQueue = new EventQueue();

            if (d_authOption != "NONE")
            {
                System.Console.WriteLine("Requesting reference data IBM US Equity with Identity object");
                d_session.SendRequest(request, d_identity, eventQueue, null);
            }
            else
            {
                System.Console.WriteLine("Requesting reference data IBM US Equity");
                d_session.SendRequest(request, eventQueue, null);
            }
            while (true)
            {
                Event eventObj = eventQueue.NextEvent();

                foreach (Message msg in eventObj)
                {
                    System.Console.WriteLine(msg);
                }
                if (eventObj.Type == Event.EventType.RESPONSE)
                {
                    break;
                }
            }
        }
Esempio n. 6
0
        /// <summary>
        /// Subscribe to securities
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonSendRequest_Click(object sender, EventArgs e)
        {
            double              interval;
            List <string>       options           = new List <string>();
            List <Subscription> tempSubscriptions = new List <Subscription>();

            clearData();
            // create session
            if (!createSession())
            {
                toolStripStatusLabel1.Text = "Failed to start session.";
                return;
            }
            // open market data service
            if (!d_session.OpenService(MKTBAR_SERVICE))
            {
                toolStripStatusLabel1.Text = "Failed to open " + MKTBAR_SERVICE;
                return;
            }
            toolStripStatusLabel1.Text = "Connected sucessfully";
            if (numericUpDownIntervalSize.Value > 0)
            {
                List <string> securities = new List <string>();
                string        sec;
                foreach (ListViewGroup row in listViewRTIBData.Groups)
                {
                    // check for unsubscribed securities
                    if (row.Items.Count > 0 && (row.Items[0].BackColor.IsEmpty ||
                                                (row.Items[0].BackColor != Color.LightGreen &&
                                                 row.Items[0].BackColor != Color.Yellow &&
                                                 row.Items[0].BackColor != Color.Red)))
                    {
                        sec = string.Empty;
                        if (row.Header.StartsWith("/"))
                        {
                            if (!row.Header.StartsWith(MKTBAR_SERVICE))
                            {
                                // add //blp/mktbar in front of security identifier
                                sec = MKTBAR_SERVICE + row.Header;
                            }
                        }
                        else
                        {
                            // add //blp/mktbar/ticker/ in front of security identifier
                            sec = MKTBAR_SERVICE + "/ticker/" + row.Header;
                        }

                        // set main bar field
                        List <string> fields = new List <string>();
                        fields.Add("LAST_PRICE");

                        // get bar interval
                        interval = (double)numericUpDownIntervalSize.Value;
                        // set bar interval, start time and end time
                        options.Clear();
                        interval = (double)numericUpDownIntervalSize.Value;
                        options.Add("interval=" + interval.ToString());
                        if (dateTimePickerStartTime.Checked)
                        {
                            // start time format HH:mm in GMT
                            options.Add("start_time=" + dateTimePickerStartTime.Value.ToString("HH:mm"));
                        }
                        if (dateTimePickerEndTime.Checked)
                        {
                            // end time format HH:mm in GMT
                            options.Add("end_time=" + dateTimePickerEndTime.Value.ToString("HH:mm"));
                        }
                        // create subscription object
                        Subscription subscription = new Subscription(sec, fields, options, new CorrelationID(row));
                        // add subscription to temp subscription list
                        tempSubscriptions.Add(subscription);
                        // add to application subscription list
                        d_subscriptions.Add(subscription);
                        // store subscription string
                        row.Tag = subscription.SubscriptionString;
                    }
                }
            }
            if (tempSubscriptions.Count > 0)
            {
                // open output file
                openOutputFile();
                // subscribe to securities
                d_session.Subscribe(tempSubscriptions);
                d_isSubscribed = true;
                setControlStates();
                toolStripStatusLabel1.Text = "Subscribed to securities.";
            }
        }
Esempio n. 7
0
        private void run(String[] args)
        {
            String serverHost = "localhost";
            int    serverPort = 8194;

            SessionOptions sessionOptions = new SessionOptions();

            sessionOptions.ServerHost = serverHost;
            sessionOptions.ServerPort = serverPort;

            System.Console.WriteLine("Connecting to " + serverHost + ":" + serverPort);
            Session session = new Session(sessionOptions,
                                          new EventHandler(processEvent));

            if (!session.Start())
            {
                System.Console.Error.WriteLine("Failed to start session.");
                return;
            }
            if (!session.OpenService("//blp/mktdata"))
            {
                System.Console.Error.WriteLine("Failed to open //blp/mktdata");
                return;
            }
            if (!session.OpenService("//blp/refdata"))
            {
                System.Console.Error.WriteLine("Failed to open //blp/refdata");
                return;
            }

            System.Console.WriteLine("Subscribing to IBM US Equity");
            Subscription        s             = new Subscription("IBM US Equity", "LAST_PRICE", "");
            List <Subscription> subscriptions = new List <Subscription>();

            subscriptions.Add(s);
            session.Subscribe(subscriptions);

            System.Console.WriteLine("Requesting reference data IBM US Equity");
            Service refDataService = session.GetService("//blp/refdata");
            Request request        = refDataService.CreateRequest("ReferenceDataRequest");

            request.GetElement("securities").AppendValue("IBM US Equity");
            request.GetElement("fields").AppendValue("DS002");

            EventQueue eventQueue = new EventQueue();

            session.SendRequest(request, eventQueue, null);
            while (true)
            {
                Event eventObj = eventQueue.NextEvent();

                foreach (Message msg in eventObj)
                {
                    System.Console.WriteLine(msg);
                }
                if (eventObj.Type == Event.EventType.RESPONSE)
                {
                    break;
                }
            }
        }