// Create Technical Analysis Historical EOD - BOLL Study Request
        Request createBOLLStudyRequest(Service tasvcService)
        {
            Request request = tasvcService.CreateRequest("studyRequest");

            Element priceSource = request.GetElement("priceSource");

            // set security name
            priceSource.SetElement("securityName", "AAPL US Equity");

            Element dataRange = priceSource.GetElement("dataRange");

            dataRange.SetChoice("historical");

            // set historical price data
            Element historical = dataRange.GetElement("historical");

            historical.SetElement("startDate", "20100701"); // set study start date
            historical.SetElement("endDate", "20100716");   // set study start date

            // BOLL study example - set study attributes
            Element studyAttributes = request.GetElement("studyAttributes");

            studyAttributes.SetChoice("bollStudyAttributes");

            Element bollStudy = studyAttributes.GetElement("bollStudyAttributes");

            bollStudy.SetElement("period", 30); // BOLL study interval
            bollStudy.SetElement("lowerBand", 2);
            bollStudy.SetElement("priceSourceClose", "PX_LAST");
            bollStudy.SetElement("upperBand", 4);

            return(request);
        }
        void initBloomberg()
        {
            string serverHost = "localhost";
            int    serverPort = 8194;

            SessionOptions sessionOptions = new SessionOptions();

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

            System.Console.Error.WriteLine("Connecting to " + serverHost +
                                           ":" + serverPort);
            session = new Session(sessionOptions);
            bool sessionStarted = session.Start();

            if (!sessionStarted)
            {
                System.Console.Error.WriteLine("Failed to start session.");
                return;
            }
            if (!session.OpenService("//blp/refdata"))
            {
                System.Console.Error.WriteLine("Failed to open //blp/refdata");
                return;
            }
            refDataService = session.GetService("//blp/refdata");
        }
        // Create Technical Analysis Historical EOD - DMI Study Request
        Request createDMIStudyRequest(Service tasvcService)
        {
            Request request = tasvcService.CreateRequest("studyRequest");

            Element priceSource = request.GetElement("priceSource");

            // set security name
            priceSource.SetElement("securityName", "IBM US Equity");

            Element dataRange = priceSource.GetElement("dataRange");

            dataRange.SetChoice("historical");

            // set historical price data
            Element historical = dataRange.GetElement("historical");

            historical.SetElement("startDate", "20100501"); // set study start date
            historical.SetElement("endDate", "20100528");   // set study start date

            // DMI study example - set study attributes
            Element studyAttributes = request.GetElement("studyAttributes");

            studyAttributes.SetChoice("dmiStudyAttributes");

            Element dmiStudy = studyAttributes.GetElement("dmiStudyAttributes");

            dmiStudy.SetElement("period", 14); // DMI study interval
            dmiStudy.SetElement("priceSourceHigh", "PX_HIGH");
            dmiStudy.SetElement("priceSourceClose", "PX_LAST");
            dmiStudy.SetElement("priceSourceLow", "PX_LOW");

            return(request);
        }
Esempio n. 4
0
        // Create Technical Analysis Intraday - SMAVG Study Request
        Request createSMAVGStudyRequest(Service tasvcService)
        {
            Request request = tasvcService.CreateRequest("studyRequest");

            Element priceSource = request.GetElement("priceSource");

            // set security name
            priceSource.SetElement("securityName", "IBM US Equity");

            Element dataRange = priceSource.GetElement("dataRange");

            dataRange.SetChoice("intraday");

            // set intraday price data
            Element intraday = dataRange.GetElement("intraday");

            intraday.SetElement("eventType", "TRADE");               // intraday event type
            intraday.SetElement("interval", 60);                     // intraday interval
            intraday.SetElement("startDate", "2010-05-26T13:30:00"); // set study start date
            intraday.SetElement("endDate", "2010-05-27T13:30:00");   // set study start date

            // SMAVG study example - set study attributes
            Element studyAttributes = request.GetElement("studyAttributes");

            studyAttributes.SetChoice("smavgStudyAttributes");

            Element smavgStudy = studyAttributes.GetElement("smavgStudyAttributes");

            // set intraday data price sources for study
            smavgStudy.SetElement("period", 14); // SMAVG study interval
            smavgStudy.SetElement("priceSourceClose", "close");

            return(request);
        }
Esempio n. 5
0
        private void sendIntradayTickRequest()
        {
            if (!d_session.OpenService(REFDATA_SVC))
            {
                System.Console.WriteLine("Failed to open service: " + REFDATA_SVC);
                return;
            }
            Service refDataService = d_session.GetService(REFDATA_SVC);
            Request request        = refDataService.CreateRequest("IntradayTickRequest");

            request.Set("security", d_security);

            // Add fields to request
            Element eventTypes = request.GetElement("eventTypes");

            for (int i = 0; i < d_events.Count; ++i)
            {
                eventTypes.AppendValue((string)d_events[i]);
            }

            // All times are in GMT
            request.Set("startDateTime", d_startDateTime);
            request.Set("endDateTime", d_endDateTime);

            if (d_conditionCodes)
            {
                request.Set("includeConditionCodes", true);
            }

            System.Console.WriteLine("Sending Request: " + request);
            d_session.SendRequest(request, d_identity, null);
        }
Esempio n. 6
0
        /// <summary>
        /// Get service
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonGetService_Click(object sender, EventArgs e)
        {
            Service service     = null;
            string  serviceName = textBoxService.Text.Trim();
            int     itemIndex   = -1;

            if (serviceName.Length > 0)
            {
                // check if service exist
                if (!d_serviceDictionary.ContainsKey(serviceName))
                {
                    // open services
                    if (d_session.OpenService(serviceName))
                    {
                        service = d_session.GetService(serviceName);
                        // add service to dictionary
                        d_serviceDictionary.Add(serviceName, service);
                        // create item for service
                        int index = listBoxServices.Items.Add(serviceName);
                        listBoxServices.SelectedIndex = index;
                    }
                    else
                    {
                        // unable to open service
                        MessageBox.Show("Unable to open service " + serviceName + ".", "Invalid Service");
                    }
                }
                else
                {
                    // select service
                    itemIndex = listBoxServices.Items.IndexOf(serviceName.ToLower());
                    listBoxServices.SelectedIndex = itemIndex;
                }
            }
        }
Esempio n. 7
0
        public string startSession()
        {
            string retval = "";

            retval += "\nStarting session...\n";
            SessionOptions d_sessionOptions = new SessionOptions();

            d_sessionOptions.ServerHost = d_host;
            d_sessionOptions.ServerPort = d_port;
            session = new Session(d_sessionOptions);
            if (!session.Start())
            {
                retval += "\nError: failed to start session.\n";
                return(retval);
            }
            retval += "\nSession started!\n";
            if (!session.OpenService(d_service))
            {
                session.Stop();
                retval += "\nError: failed to open service.\n";
                return(retval);
            }
            service = session.GetService(d_service);
            retval += "\nService opened!\n";
            return(retval);
        }
Esempio n. 8
0
        private Request getBBRequest(ITickDataQuery query)
        {
            Service refDataService = Session.GetService("//blp/refdata");
            Request request        = refDataService.CreateRequest("IntradayTickRequest");

            request.Set("security", query.Security);

            Element eventTypes = request.GetElement("eventTypes");

            foreach (string field in query.Fields)
            {
                eventTypes.AppendValue(field);
            }

            request.Set("includeConditionCodes", query.IncludeConditionCode);
            request.Set("includeExchangeCodes", query.IncludeExchangeCode);

            request.Set("startDateTime",
                        new BDateTime(query.StartDate));

            request.Set("endDateTime",
                        new BDateTime(query.EndDate));

            return(request);
        }
Esempio n. 9
0
        /// <summary>
        /// Function to create and send PortfolioDataRequest
        /// </summary>
        /// <param name="session"></param>
        private void sendPortfolioDataRequest(Session session)
        {
            Service refDataService = session.GetService("//blp/refdata");
            Request request        = refDataService.CreateRequest("PortfolioDataRequest");

            // Add securities to request
            Element securities = request.GetElement("securities");

            for (int i = 0; i < d_securities.Count; ++i)
            {
                securities.AppendValue((string)d_securities[i]);
            }

            // Add fields to request
            Element fields = request.GetElement("fields");

            for (int i = 0; i < d_fields.Count; ++i)
            {
                fields.AppendValue((string)d_fields[i]);
            }

            // If specified, use REFERENCE_DATE override field
            // to get portfolio information historically.
            // The date must be in 'YYYYMMDD' format
            if (d_override != null && d_override.Length != 0)
            {
                Element overrides = request["overrides"];
                Element override1 = overrides.AppendElement();
                override1.SetElement("fieldId", "REFERENCE_DATE");
                override1.SetElement("value", d_override);
            }

            System.Console.WriteLine("Sending Request: " + request);
            session.SendRequest(request, null);
        }
        void sendMSG1RecoverRequest(Session session)
        {
            Service  service = session.GetService(MSG1_SERVICE);
            Identity id      = session.CreateIdentity();

            Request request = service.CreateRequest(REPLAY);

            request.GetElement(START).SetChoice(d_startType);
            if (d_startType == TIME)
            {
                request.GetElement(START).SetChoice(TIME).SetValue(d_startTime);
            }
            else if (d_startType == SERIAL)
            {
                request.GetElement(START).SetChoice(SERIAL).SetValue(d_startSerial);
            }
            if (d_endType == TIME)
            {
                request.GetElement(END).SetChoice(TIME).SetValue(d_endTime);
            }
            else if (d_endType == SERIAL)
            {
                request.GetElement(END).SetChoice(SERIAL).SetValue(d_endSerial);
            }
            if (d_eidProvided)
            {
                request.GetElement(EID).SetValue(d_eid);
            }
            request.GetElement(FILTER).SetValue(Enum.GetName(d_filter.GetType(), d_filter));
            System.Console.WriteLine("Sending request: " + request.ToString());

            // request data with identity object
            session.SendRequest(request, d_identity, null);
        }
Esempio n. 11
0
        private void processServiceEvent(Event evt, Session session)
        {
            System.Console.WriteLine("\nProcessing " + evt.Type);

            foreach (Message msg in evt)
            {
                if (msg.MessageType.Equals(SERVICE_OPENED))
                {
                    System.Console.WriteLine("Service opened...");

                    Service service = session.GetService(d_service);

                    Request request = service.CreateRequest("GetBrokerSpecForUuid");
                    request.Set("uuid", 8049857);

                    System.Console.WriteLine("Request: " + request.ToString());

                    requestID = new CorrelationID();

                    // Submit the request
                    try
                    {
                        session.SendRequest(request, requestID);
                    }
                    catch (Exception ex)
                    {
                        System.Console.Error.WriteLine("Failed to send the request: " + ex.Message);
                    }
                }
                else if (msg.MessageType.Equals(SERVICE_OPEN_FAILURE))
                {
                    System.Console.Error.WriteLine("Error: Service failed to open");
                }
            }
        }
Esempio n. 12
0
        private void sendIntradayBarRequest()
        {
            if (!d_session.OpenService(REFDATA_SVC))
            {
                System.Console.WriteLine("Failed to open service: " + REFDATA_SVC);
                return;
            }
            Service refDataService = d_session.GetService(REFDATA_SVC);
            Request request        = refDataService.CreateRequest("IntradayBarRequest");

            // only one security/eventType per request
            request.Set("security", d_security);
            request.Set("eventType", d_eventType);
            request.Set("interval", d_barInterval);

            request.Set("startDateTime", d_startDateTime);
            request.Set("endDateTime", d_endDateTime);

            if (d_gapFillInitialBar)
            {
                request.Set("gapFillInitialBar", d_gapFillInitialBar);
            }

            System.Console.WriteLine("Sending Request: " + request);
            d_session.SendRequest(request, d_identity, null);
        }
        private void sendIntradayTickRequest(Session session)
        {
            Service refDataService = session.GetService("//blp/refdata");
            Request request        = refDataService.CreateRequest("IntradayTickRequest");

            request.Set("security", d_security);

            // Add fields to request
            Element eventTypes = request.GetElement("eventTypes");

            for (int i = 0; i < d_events.Count; ++i)
            {
                eventTypes.AppendValue((string)d_events[i]);
            }

            // All times are in GMT
            request.Set("startDateTime", d_startDateTime);
            request.Set("endDateTime", d_endDateTime);

            if (d_conditionCodes)
            {
                request.Set("includeConditionCodes", true);
            }

            System.Console.WriteLine("Sending Request: " + request);
            session.SendRequest(request, null);
        }
Esempio n. 14
0
        /// <summary>
        /// Get override field informations
        /// </summary>
        /// <param name="ids"></param>
        private void getFieldInformation(List <string> ids)
        {
            // get auth service
            if (d_service == null)
            {
                if (d_session.OpenService(@"//blp/apiflds"))
                {
                    d_service = d_session.GetService(@"//blp/apiflds");
                }
            }

            Request request = d_service.CreateRequest("FieldInfoRequest");

            request.Set("returnFieldDocumentation", true);

            foreach (string id in ids)
            {
                request.Append("id", id);
            }

            // set field info request correlationID to 3000
            CorrelationID cId = new CorrelationID(3000);

            // cancel previous pending request
            d_session.Cancel(cId);
            d_session.SendRequest(request, cId);
        }
Esempio n. 15
0
        /// <summary>
        /// Function to create and send ReferenceDataRequest
        /// </summary>
        /// <param name="session"></param>
        private void sendRefDataRequest(Session session)
        {
            Service refDataService = session.GetService(REFDATA_SVC);
            Request request        = refDataService.CreateRequest("ReferenceDataRequest");

            // Add securities to request
            Element securities = request.GetElement("securities");

            for (int i = 0; i < d_securities.Count; ++i)
            {
                securities.AppendValue((string)d_securities[i]);
            }

            // Add fields to request
            Element fields = request.GetElement("fields");

            for (int i = 0; i < d_fields.Count; ++i)
            {
                fields.AppendValue((string)d_fields[i]);
            }

            System.Console.WriteLine("Sending Request: " + request);
            if (d_authOption == "NONE")
            {
                session.SendRequest(request, null);
            }
            else
            {
                // request data with identity object
                session.SendRequest(request, d_identity, null);
            }
        }
        private void sendRefDataRequest()
        {
            Service refDataService = d_session.GetService(REFDATA_SVC);

            Request request    = refDataService.CreateRequest("ReferenceDataRequest");
            Element securities = request.GetElement("securities");

            securities.AppendValue("IBM US Equity");
            securities.AppendValue("/cusip/912828GM6@BGN");
            Element fields = request.GetElement("fields");

            fields.AppendValue("PX_LAST");
            fields.AppendValue("PX_DT_1D");
            fields.AppendValue("DS002");

            System.Console.WriteLine("Sending Request: " + request);
            if (d_authOption == "NONE")
            {
                d_session.SendRequest(request, null);
            }
            else
            {
                // send request with Identity
                d_session.SendRequest(request, d_identity, null);
            }
        }
Esempio n. 17
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);
            bool    sessionStarted = session.Start();

            if (!sessionStarted)
            {
                System.Console.Error.WriteLine("Failed to start session.");
                return;
            }
            if (!session.OpenService("//blp/refdata"))
            {
                System.Console.Error.WriteLine("Failed to open //blp/refdata");
                return;
            }
            Service refDataService = session.GetService("//blp/refdata");
            Request request        = refDataService.CreateRequest("HistoricalDataRequest");
            Element securities     = request.GetElement("securities");

            securities.AppendValue(".DSSTEST3 Index");
            //securities.AppendValue("MSFT US Equity");
            Element fields = request.GetElement("fields");

            fields.AppendValue("PX_LAST");
            fields.AppendValue("OPEN");
            request.Set("periodicityAdjustment", "ACTUAL");
            request.Set("periodicitySelection", "DAILY");
            request.Set("startDate", "20090421");
            //request.Set("endDate", "20061231");
            //request.Set("maxDataPoints", 100);
            request.Set("returnEids", true);

            System.Console.WriteLine("Sending Request: " + request);
            session.SendRequest(request, null);

            while (true)
            {
                Event eventObj = session.NextEvent();
                foreach (Message msg in eventObj)
                {
                    System.Console.WriteLine(msg.AsElement);
                }
                if (eventObj.Type == Event.EventType.RESPONSE)
                {
                    break;
                }
            }
        }
        private void run(string[] args)
        {
            // if only -h was entered for usage return without starting session
            if (!parseCommandLine(args))
            {
                return;
            }

            SessionOptions sessionOptions = new SessionOptions();

            sessionOptions.ServerHost = d_host;
            sessionOptions.ServerPort = d_port;
            System.Console.WriteLine("Connecting to " + d_host + ":" + d_port);

            Session session        = new Session(sessionOptions);
            bool    sessionStarted = session.Start();

            if (!sessionStarted)
            {
                System.Console.WriteLine("Failed to start session.");
                return;
            }

            if (!session.OpenService(REFDATA_SVC))
            {
                System.Console.WriteLine("Failed to open service: " + REFDATA_SVC);
                return;
            }

            Service fieldInfoService = session.GetService(REFDATA_SVC);
            Request request          = fieldInfoService.CreateRequest("HistoricalDataRequest");

            // Add securities to request
            Element securities = request.GetElement("securities");

            for (int i = 0; i < d_securities.Count; ++i)
            {
                securities.AppendValue((string)d_securities[i]);
            }

            // Add fields to request
            Element fields = request.GetElement("fields");

            for (int i = 0; i < d_fields.Count; ++i)
            {
                fields.AppendValue((string)d_fields[i]);
            }

            request.Set("startDate", d_startDate);
            request.Set("endDate", d_endDate);

            System.Console.WriteLine("Sending Request: " + request);
            session.SendRequest(request, null);

            eventLoop(session);

            session.Stop();
        }//end run
        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);
            bool    sessionStarted = session.Start();

            if (!sessionStarted)
            {
                System.Console.Error.WriteLine("Failed to start session.");
                return;
            }
            if (!session.OpenService("//blp/refdata"))
            {
                System.Console.Error.WriteLine("Failed to open //blp/refdata");
                return;
            }
            Service refDataService = session.GetService("//blp/refdata");
            Request request        = refDataService.CreateRequest("IntradayTickRequest");

            request.Set("security", "VOD LN Equity");
            request["eventTypes"].AppendValue("TRADE");
            request["eventTypes"].AppendValue("AT_TRADE");
            DateTime tradedOn = getPreviousTradingDate();

            request.Set("startDateTime", new Datetime(tradedOn.Year,
                                                      tradedOn.Month,
                                                      tradedOn.Day,
                                                      10, 30, 0, 0));
            request.Set("endDateTime", new Datetime(tradedOn.Year,
                                                    tradedOn.Month,
                                                    tradedOn.Day,
                                                    10, 35, 0, 0));
            request.Set("includeConditionCodes", true);

            System.Console.WriteLine("Sending Request: " + request);
            session.SendRequest(request, null);

            while (true)
            {
                Event eventObj = session.NextEvent();
                foreach (Message msg in eventObj)
                {
                    System.Console.WriteLine(msg.AsElement);
                }
                if (eventObj.Type == Event.EventType.RESPONSE)
                {
                    break;
                }
            }
        }
        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);
            bool    sessionStarted = session.Start();

            if (!sessionStarted)
            {
                System.Console.WriteLine("Failed to start session.");
                return;
            }
            if (!session.OpenService("//blp/refdata"))
            {
                System.Console.Error.WriteLine("Failed to open //blp/refdata");
                return;
            }
            Service refDataService = session.GetService("//blp/refdata");

            Request request    = refDataService.CreateRequest("ReferenceDataRequest");
            Element securities = request.GetElement("securities");

            securities.AppendValue("IBM US Equity");
            securities.AppendValue("/cusip/912828GM6@BGN");
            Element fields = request.GetElement("fields");

            fields.AppendValue("PX_LAST");
            fields.AppendValue("PX_DT_1D");
            fields.AppendValue("DS002");

            System.Console.WriteLine("Sending Request: " + request);
            session.SendRequest(request, null);

            while (true)
            {
                Event eventObj = session.NextEvent();
                foreach (Message msg in eventObj)
                {
                    System.Console.WriteLine(msg.AsElement);
                    if (msg.HasElement("securityData"))
                    {
                        System.Console.WriteLine(msg.GetElement("securityData").GetValueAsElement(0).GetElement("fieldData").GetElementAsDatetime("PX_DT_1D").ToSystemDateTime().ToString());
                    }
                }
                if (eventObj.Type == Event.EventType.RESPONSE)
                {
                    break;
                }
            }
        }
Esempio n. 21
0
 private void initializeService()
 {
     if (!session.OpenService(emsxServiceName))
     {
         session.Stop();
         throw new System.Exception("Unable to open EMSX service");
     }
     emsxService = session.GetService(emsxServiceName);
 }
        private void sendEqsDataRequest(Session session)
        {
            Service refDataService = session.GetService("//blp/refdata");
            Request request        = refDataService.CreateRequest("BeqsRequest");

            request.Set("screenName", d_screenName);
            request.Set("screenType", new Name(d_screenType));

            System.Console.WriteLine("Sending Request: " + request);
            session.SendRequest(request, null);
        }
        private bool IsBPipeAuthorized(string token, out Identity identity)
        {
            bool isAuthorized = false;
            bool isRunning    = true;

            identity = null;

            if (!d_session.OpenService(AUTH_SVC))
            {
                System.Console.Error.WriteLine("Failed to open " + AUTH_SVC);
                return(isAuthorized = false);
            }
            Service authService = d_session.GetService(AUTH_SVC);


            Request authRequest = authService.CreateAuthorizationRequest();

            authRequest.Set("token", token);
            identity = d_session.CreateIdentity();
            EventQueue authEventQueue = new EventQueue();

            d_session.SendAuthorizationRequest(authRequest, identity, authEventQueue, new CorrelationID(1));

            while (isRunning)
            {
                Event eventObj = authEventQueue.NextEvent();
                System.Console.WriteLine("processEvent");
                if (eventObj.Type == Event.EventType.RESPONSE || eventObj.Type == Event.EventType.REQUEST_STATUS)
                {
                    foreach (Message msg in eventObj)
                    {
                        if (msg.MessageType == AUTHORIZATION_SUCCESS)
                        {
                            System.Console.WriteLine("Authorization SUCCESS");

                            isAuthorized = true;
                            isRunning    = false;
                            break;
                        }
                        else if (msg.MessageType == AUTHORIZATION_FAILURE)
                        {
                            System.Console.WriteLine("Authorization FAILED");
                            System.Console.WriteLine(msg);
                            isRunning = false;
                        }
                        else
                        {
                            System.Console.WriteLine(msg);
                        }
                    }
                }
            }
            return(isAuthorized);
        }
        private void distributeMessage(Message msg)
        {
            Service service = msg.Service;

            List <int> failedEntitlements = new List <int>();

            Element securities    = msg.GetElement(SECURITY_DATA);
            int     numSecurities = securities.NumValues;

            System.Console.WriteLine("Processing " + numSecurities + " securities:");
            for (int i = 0; i < numSecurities; ++i)
            {
                Element security     = securities.GetValueAsElement(i);
                String  ticker       = security.GetElementAsString(SECURITY);
                Element entitlements = ((security.HasElement(EID_DATA) ?
                                         security.GetElement(EID_DATA) : null));

                int numUsers = d_identities.Count;
                if (entitlements != null)
                {
                    // Entitlements are required to access this data
                    for (int j = 0; j < numUsers; ++j)
                    {
                        failedEntitlements.Clear();
                        Identity identity = (Identity)d_identities[j];
                        if (identity.HasEntitlements(entitlements, service,
                                                     failedEntitlements))
                        {
                            System.Console.WriteLine("User: "******" is entitled to get data for: " + ticker);
                            // Now Distribute message to the user.
                        }
                        else
                        {
                            System.Console.WriteLine("User: "******" is NOT entitled to get data for: " + ticker +
                                                     " - Failed eids: ");
                            printFailedEntitlements(failedEntitlements);
                        }
                    }
                }
                else
                {
                    // No Entitlements are required to access this data.
                    for (int j = 0; j < numUsers; ++j)
                    {
                        System.Console.WriteLine("User: "******" is entitled to get data for: " + ticker);
                        // Now Distribute message to the user.
                    }
                }
            }
        }
Esempio n. 25
0
        /// <summary>
        /// Subscribe to securities
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonSendRequest_Click(object sender, EventArgs e)
        {
            clearData();
            // create session
            if (!createSession())
            {
                toolStripStatusLabel1.Text = "Failed to start session.";
                return;
            }
            // open market data service
            if (!d_session.OpenService("//blp/mktdata"))
            {
                toolStripStatusLabel1.Text = "Failed to open //blp/mktdata";
                return;
            }
            toolStripStatusLabel1.Text = "Connected sucessfully";
            Service       refDataService = d_session.GetService("//blp/mktdata");
            List <string> fields         = new List <string>();
            List <string> options        = new List <string>();

            d_subscriptions = new List <Subscription>();
            // populate fields
            for (int fieldIndex = 1; fieldIndex < dataGridViewData.Columns.Count; fieldIndex++)
            {
                fields.Add(dataGridViewData.Columns[fieldIndex].Name);
            }
            // create subscription and add to list
            foreach (DataGridViewRow secRow in dataGridViewData.Rows)
            {
                options.Clear();
                if (textBoxInterval.Text.Length > 0 && int.Parse(textBoxInterval.Text) > 0)
                {
                    options.Add("interval=" + textBoxInterval.Text);
                }
                string security = secRow.Cells["security"].Value.ToString();
                // check for delay subscription
                if (security.Contains("[FD]"))
                {
                    options.Add("delayed");
                    security = security.Replace("[FD]", "").Trim();
                }
                d_subscriptions.Add(new Subscription(security, fields, options, new CorrelationID(secRow)));
            }
            // open output file
            openOutputFile();
            // subscribe to securities
            d_session.Subscribe(d_subscriptions);
            d_isSubscribed = true;
            setControlStates();
            toolStripStatusLabel1.Text = "Subscribed to securities.";
        }
        private void run(string[] args)
        {
            d_host = "localhost";
            d_port = 8194;

            if (!parseCommandLine(args))
            {
                return;
            }

            SessionOptions sessionOptions = new SessionOptions();

            sessionOptions.ServerHost = d_host;
            sessionOptions.ServerPort = d_port;

            System.Console.WriteLine("Connecting to " + d_host + ":" + d_port);
            Session session        = new Session(sessionOptions);
            bool    sessionStarted = session.Start();

            if (!sessionStarted)
            {
                System.Console.WriteLine("Failed to start session.");
                return;
            }
            if (!session.OpenService("//blp/tasvc"))
            {
                System.Console.Error.WriteLine("Failed to open //blp/tasvc");
                return;
            }
            Service tasvcService = session.GetService("//blp/tasvc");
            //System.Console.WriteLine(tasvcService.ToString());

            // Create DMI Study Request
            Request dmiStudyRequest = createDMIStudyRequest(tasvcService);

            System.Console.WriteLine("Sending Request: " + dmiStudyRequest);
            session.SendRequest(dmiStudyRequest, null);
            // wait for events from session.
            eventLoop(session);

            // Create BOLL Study Request
            Request bollStudyRequest = createBOLLStudyRequest(tasvcService);

            System.Console.WriteLine("Sending Request: " + bollStudyRequest);
            session.SendRequest(bollStudyRequest, null);
            // wait for events from session.
            eventLoop(session);

            session.Stop();
        }
Esempio n. 27
0
        public bool Connect(string user = "", string dataType = "//blp/refdata")
        {
            if (connected)
            {
                goto finish;
            }

            while (!connected)
            {
                reconnectAttempts++;

                string serverHost = "localhost";
                int    serverPort = 8194;

                SessionOptions sessionOptions = new SessionOptions();
                sessionOptions.ServerHost = serverHost;
                sessionOptions.ServerPort = serverPort;

                Trace.WriteLine("Connecting to Bloomberg " + dataType + ". Attempt " + reconnectAttempts + "/" + maxReconnectAttempts + ".");
                session = new Session(sessionOptions);

                bool sessionStarted = session.Start();

                try
                {
                    session.OpenService(dataType);
                    refDataService = session.GetService(dataType);
                    Trace.WriteLine("Connected to Bloomberg");
                    connected         = true;
                    reconnectAttempts = 0;
                }
                catch
                {
                    Trace.WriteLine("Failed to connect. ");
                    connected = false;
                    if (reconnectAttempts >= maxReconnectAttempts)
                    {
                        Trace.WriteLine("Tried to connect to Bloomberg " + reconnectAttempts + " times.");
                        Trace.WriteLine("Exiting");
                        Environment.Exit(0);
                    }

                    Trace.WriteLine("Waiting for " + reconnectionInterval + "s before retrying to connect.");
                    Thread.Sleep(reconnectionInterval * 1000);
                }
            }

finish:
            return(connected);
        }
Esempio n. 28
0
        public bool Connect(string user = "", string dataType = "//blp/refdata")
        {
            if (connected)
                goto finish;

            while (!connected)
            {
                reconnectAttempts++;

                string serverHost = "localhost";
                int serverPort = 8194;

                SessionOptions sessionOptions = new SessionOptions();
                sessionOptions.ServerHost = serverHost;
                sessionOptions.ServerPort = serverPort;

                Trace.WriteLine("Connecting to Bloomberg " + dataType +  ". Attempt " + reconnectAttempts + "/" + maxReconnectAttempts +".");
                session = new Session(sessionOptions);

                bool sessionStarted = session.Start();

                try
                {
                    session.OpenService(dataType);
                    refDataService = session.GetService(dataType);
                    Trace.WriteLine("Connected to Bloomberg");
                    connected = true;
                    reconnectAttempts = 0;
                }
                catch
                {
                    Trace.WriteLine("Failed to connect. ");
                    connected = false;
                    if (reconnectAttempts >= maxReconnectAttempts)
                    {
                        Trace.WriteLine("Tried to connect to Bloomberg " + reconnectAttempts + " times.");
                        Trace.WriteLine("Exiting");
                        Environment.Exit(0);
                    }

                    Trace.WriteLine("Waiting for " + reconnectionInterval + "s before retrying to connect.");
                    Thread.Sleep(reconnectionInterval * 1000);

                }
            }

            finish:
            return connected;
        }
        void sendMSG1StatusRequest(Session session)
        {
            Service  service = session.GetService(MSG1_SERVICE);
            Identity id      = session.CreateIdentity();
            Request  request = service.CreateRequest(STATUS_INFO);

            if (d_eidProvided)
            {
                request.GetElement(EID).SetValue(d_eid);
            }
            System.Console.WriteLine("Sending request: " + request.ToString());

            // request data with identity object
            session.SendRequest(request, d_identity, null);
        }
        private void OpenServices()
        {
            if (!d_session.OpenService(API_AUTH_SVC_NAME))
            {
                System.Console.WriteLine("Failed to open service: " + API_AUTH_SVC_NAME);
                System.Environment.Exit(-1);
            }

            if (!d_session.OpenService(MKT_DATA_SVC_NAME))
            {
                System.Console.WriteLine("Failed to open service: " + MKT_DATA_SVC_NAME);
                System.Environment.Exit(-2);
            }

            d_apiAuthSvc    = d_session.GetService(API_AUTH_SVC_NAME);
            d_blpMktDataSvc = d_session.GetService(MKT_DATA_SVC_NAME);
        }
        }//end run

        private void sendRequest()
        {
            if (!d_session.OpenService(REFDATA_SVC))
            {
                System.Console.WriteLine("Failed to open service: " + REFDATA_SVC);
                return;
            }

            Service fieldInfoService = d_session.GetService(REFDATA_SVC);
            Request request          = fieldInfoService.CreateRequest("HistoricalDataRequest");

            // Add securities to request
            Element securities = request.GetElement("securities");

            for (int i = 0; i < d_securities.Count; ++i)
            {
                securities.AppendValue((string)d_securities[i]);
            }

            // Add fields to request
            Element fields = request.GetElement("fields");

            for (int i = 0; i < d_fields.Count; ++i)
            {
                fields.AppendValue((string)d_fields[i]);
            }

            request.Set("startDate", d_startDate);
            request.Set("endDate", d_endDate);
            request.Set("returnEids", true);
            request.Set("currency", "USD");
            request.Set("periodicityAdjustment", "CALENDAR");
            request.Set("periodicitySelection", "MONTHLY");
            request.Set("nonTradingDayFillOption", "NON_TRADING_WEEKDAYS");
            request.Set("nonTradingDayFillMethod", "PREVIOUS_VALUE");

            System.Console.WriteLine("Sending Request: " + request);
            if (d_authOption != "NONE")
            {
                d_session.SendRequest(request, d_identity, null);
            }
            else
            {
                d_session.SendRequest(request, null);
            }
        }
Esempio n. 32
0
 public string startSession()
 {
     string retval = "";
     retval += "\nStarting session...\n";
     SessionOptions d_sessionOptions = new SessionOptions();
     d_sessionOptions.ServerHost = d_host;
     d_sessionOptions.ServerPort = d_port;
     session = new Session(d_sessionOptions);
     if (!session.Start())
     {
         retval += "\nError: failed to start session.\n";
         return retval;
     }
     retval += "\nSession started!\n";
     if (!session.OpenService(d_service))
     {
         session.Stop();
         retval += "\nError: failed to open service.\n";
         return retval;
     }
     service = session.GetService(d_service);
     retval += "\nService opened!\n";
     return retval;
 }
Esempio n. 33
0
 public Result startSession()
 {
     string retval = "";
     bool succ = true;
     retval += "\nStarting session...\n";
     SessionOptions d_sessionOptions = new SessionOptions();
     d_sessionOptions.ServerHost = d_host;
     d_sessionOptions.ServerPort = d_port;
     session = new Session(d_sessionOptions);
     if (!session.Start())
     {
         retval += "\nError: failed to start session.\n";
         succ = false;
     }
     else
     {
         retval += "\nSession started!\n";
         if (!session.OpenService(d_service))
         {
             session.Stop();
             retval += "\nError: failed to open service.\n";
             succ = false;
         }
         else
         {
             service = session.GetService(d_service);
             retval += "\nService opened!\n";
         }
     }
     Result result = new Result
     {
         retval = retval, success = succ
     };
     return result;
 }