// 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);
        }
Exemple #2
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);
        }
        // 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);
        }
Exemple #4
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);
        }
        private void authorizeUsers()
        {
            // Authorize each of the users
            for (int i = 0; i < d_uuids.Count; ++i)
            {
                Identity identity = d_session.CreateIdentity();
                d_identities.Add(identity);

                Request authRequest = d_apiAuthSvc.CreateAuthorizationRequest();

                authRequest.Set("uuid", d_uuids[i]);
                authRequest.Set("ipAddress", d_programAddresses[i]);

                CorrelationID correlator = new CorrelationID(i);
                EventQueue    eventQueue = new EventQueue();
                d_session.SendAuthorizationRequest(authRequest, identity,
                                                   eventQueue, correlator);

                Event eventObj = eventQueue.NextEvent();
                while (true)
                {
                    printEvent(eventObj);
                    if (eventObj.Type == Event.EventType.RESPONSE ||
                        eventObj.Type == Event.EventType.PARTIAL_RESPONSE ||
                        eventObj.Type == Event.EventType.REQUEST_STATUS)
                    {
                        break;
                    }
                    eventObj = eventQueue.NextEvent();
                }
            }
        }
Exemple #6
0
        private bool sendRequest(ITickDataQuery tickDataQuery)
        {
            if (!ConnectAndOpenSession())
            {
                return(false);
            }

            Request request = getBBRequest(tickDataQuery);

            CorrelationID cID = new CorrelationID(tickDataQuery);

            Session.Cancel(cID);
            Session.SendRequest(request, cID);

            var msg = String.Format("Submitted request: {0} ({1} ~ {2}) ...",
                                    tickDataQuery.Security,
                                    tickDataQuery.StartDate.ToString("yy/MM/dd HH:mm:ss"),
                                    tickDataQuery.EndDate.ToString("yy/MM/dd HH:mm:ss"));

            OnBBHTDUpdate(new BBHTDEventArgs(EventType.StatusMsg, msg));

            if (!Asynchronous)
            {
                return(synchronousProcessing());
            }

            return(true);
        }
Exemple #7
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()
        {
            Request request = d_blpRefDataSvc.CreateRequest(
                "ReferenceDataRequest");

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

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

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

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

            request.Set("returnEids", true);

            // Send the request using the server's credentials
            System.Console.WriteLine("Sending RefDataRequest using server " +
                                     "credentials..." + request.ToString());
            d_session.SendRequest(request, d_appIdentity, 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);
        }
Exemple #10
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);
        }
Exemple #11
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);
        }
Exemple #12
0
        public string sendTransaction(
            Transaction t
            )
        {
            Request requestSell = service.CreateRequest("CreateOrderAndRouteEx");

            requestSell.Set("EMSX_AMOUNT", t.amount);
            requestSell.Set("EMSX_BROKER", "API");
            requestSell.Set("EMSX_HAND_INSTRUCTION", "ANY");
            requestSell.Set("EMSX_ORDER_TYPE", "MKT");
            requestSell.Set("EMSX_SIDE", "SELL");
            requestSell.Set("EMSX_TICKER", t.securitySell);
            requestSell.Set("EMSX_TIF", "DAY");

            Request requestBuy = service.CreateRequest("CreateOrderAndRouteEx");

            requestSell.Set("EMSX_AMOUNT", t.amount);
            requestSell.Set("EMSX_BROKER", "API");
            requestSell.Set("EMSX_HAND_INSTRUCTION", "ANY");
            requestSell.Set("EMSX_ORDER_TYPE", "MKT");
            requestSell.Set("EMSX_SIDE", "BUY");
            requestSell.Set("EMSX_TICKER", t.securityBuy);
            requestSell.Set("EMSX_TIF", "DAY");

            session.SendRequest(requestSell, new CorrelationID(-2222));
            session.SendRequest(requestBuy, new CorrelationID(-1111));

            return("\nSUCCESFULLY SENT: " + t.toString());
        }
Exemple #13
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);
        }
Exemple #14
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 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);
            }
        }
Exemple #16
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");
                }
            }
        }
        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);
        }
        private void run(String[] args)
        {
            if (!createSession())
            {
                return;
            }

            Request request = d_refDataService.CreateRequest(
                "ReferenceDataRequest");

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

            d_session.SendRequest(request, new CorrelationID(d_secInfoWindow));

            while (true)
            {
                Event eventObj = d_session.NextEvent();
                foreach (Message msg in eventObj)
                {
                    if (eventObj.Type == Event.EventType.RESPONSE ||
                        eventObj.Type == Event.EventType.PARTIAL_RESPONSE)
                    {
                        ((Window)(msg.CorrelationID.Object)).
                        displaySecurityInfo(msg);
                    }
                }
                if (eventObj.Type == Event.EventType.RESPONSE)
                {
                    // received final response
                    break;
                }
            }
        }
Exemple #19
0
        private void loadTeams()
        {
            Log.LogMessage(LogLevels.BASIC, "Teams: Loading");
            Request request = emsxapi.emsxService.CreateRequest(GET_TEAMS.ToString());

            emsxapi.submitRequest(request, new TeamHandler(this));
        }
        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;
                }
            }
        }
Exemple #22
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)
        {
            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;
                }
            }
        }
Exemple #24
0
        private void loadStrategies()
        {
            Log.LogMessage(LogLevels.DETAILED, "Broker [" + broker.name + "]: Loading Strategies");
            Request request = broker.parent.emsxapi.emsxService.CreateRequest(GET_BROKER_STRATEGIES.ToString());

            request.Set("EMSX_BROKER", broker.name);
            request.Set("EMSX_ASSET_CLASS", broker.assetClass.ToString());
            broker.parent.emsxapi.submitRequest(request, new BrokerStrategiesHandler(this));
        }
Exemple #25
0
        public void DownloadComponents(string Index, string bbgField, out List <string> members)
        {
            members = new List <string>();
            Request request    = refDataService.CreateRequest("ReferenceDataRequest");
            Element securities = request.GetElement("securities");

            securities.AppendValue(Index);
            Element fields = request.GetElement("fields");

            fields.AppendValue(bbgField);

            Trace.WriteLine("Sending Index Components Request: " + Index);

            session.SendRequest(request, null);


            bool done = false;

            while (!done)
            {
                Event eventObj = session.NextEvent();

                if (eventObj.Type == Event.EventType.RESPONSE || eventObj.Type == Event.EventType.PARTIAL_RESPONSE)
                {
                    foreach (var msg in eventObj)
                    {
                        if (msg.AsElement.HasElement("responseError"))
                        {
                            throw new Exception("Response error: " + msg.GetElement("responseError").GetElement("message"));
                        }

                        var security = msg.GetElement("securityData").GetValueAsElement();
                        var field    = security.GetElement("fieldData").GetElement(bbgField);

                        for (int i = 0; i < field.NumValues; i++)
                        {
                            string data = "";
                            if (field.NumValues > 1)
                            {
                                data = field.GetValueAsElement(i).GetElement(0).GetValueAsString();
                            }
                            else
                            {
                                data = field.GetValueAsString();
                            }
                            members.Add(data + " Equity");
                        }
                    }
                    if (eventObj.Type == Event.EventType.RESPONSE)
                    {
                        done = true;
                    }
                }
            }
        }
        private bool authorizeUsers()
        {
            bool is_any_user_authorized = false;

            // Authorize each of the users
            for (int i = 0; i < d_tokens.Count; ++i)
            {
                bool isRunning = true;

                Identity identity = d_session.CreateIdentity();
                d_identities.Add(identity);

                Request authRequest = d_apiAuthSvc.CreateAuthorizationRequest();
                authRequest.Set("token", d_tokens[i]);

                CorrelationID correlator = new CorrelationID(i);
                EventQueue    eventQueue = new EventQueue();

                d_session.SendAuthorizationRequest(authRequest, identity,
                                                   eventQueue, correlator);

                Event eventObj = eventQueue.NextEvent();
                while (isRunning)
                {
                    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 for user:"******"Authorization FAILED for user:" + (i + 1));
                                System.Console.WriteLine(msg);
                                isRunning = false;
                                break;
                            }
                            else
                            {
                                System.Console.WriteLine(msg);
                                isRunning = false;
                            }
                        }
                    }
                }
            }
            return(is_any_user_authorized);
        }
        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 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();
        }
        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);
        }
Exemple #31
0
 public static void WriteFilledTrade(Request req)
 {
     using (StreamWriter w = File.AppendText("filled_trades_" + dayOfMonth.ToString() + ".txt"))
     {
         w.WriteLine("{0}\n{1}\n\n", DateTime.Now.ToLongTimeString(), req.ToString());
     }
 }