예제 #1
0
        private void StartAsyncGetingSessionsData(CQGCEL cel, List <string> symbols)
        {
            for (int i = 0; i < symbols.Count(); i++)
            {
                var symbol = symbols[i];

                var progress = (i * (50 / symbols.Count()));
                OnProgress(progress);

                _aSemaphoreHolidays = new Semaphore(0, 1);
                _aSemaphoreSessions = new Semaphore(0, 1);

                List <DateTime> aResultDateTimes = ClientDatabaseManager.GetAllDateTimes(ClientDatabaseManager.GetTableFromSymbol(symbol));

                if (aResultDateTimes == null || aResultDateTimes.Count == 0)
                {
                    continue;
                }

                var rangeBegin = aResultDateTimes.First();
                var rangeEnd   = aResultDateTimes.Last();
                var req        = cel.CreateHistoricalSessionsRequest();


                req.Type       = eHistoricalSessionsRequestType.hsrtTimeRange;
                req.Symbol     = symbol;
                req.RangeStart = rangeBegin;
                req.RangeEnd   = rangeEnd;

                cel.RequestHistoricalSessions(req);
                _aSemaphoreHolidays.WaitOne(20000);// wait


                cel.NewInstrument(symbol);
                _aSemaphoreSessions.WaitOne(20000);// wait
            }
        }
예제 #2
0
        private void StartAsyncGetingSessionsData(CQGCEL cel, IEnumerable<string> symbols)
        {
            foreach (string symbol in symbols)
            {
                _aSemaphoreHolidays = new Semaphore(0, 1);
                _aSemaphoreSessions = new Semaphore(0, 1);

                List<DateTime> aResultDateTimes = DatabaseManager.GetAllDateTimes(DatabaseManager.GetTableFromSymbol(symbol));

                if (aResultDateTimes == null || aResultDateTimes.Count == 0)
                    continue;

                var rangeBegin = aResultDateTimes.First();
                var rangeEnd = aResultDateTimes.Last();
                var req = cel.CreateHistoricalSessionsRequest();

                req.Type = eHistoricalSessionsRequestType.hsrtTimeRange;
                req.Symbol = symbol;
                req.RangeStart = rangeBegin;
                req.RangeEnd = rangeEnd;

                cel.RequestHistoricalSessions(req);
                _aSemaphoreHolidays.WaitOne(20000);// wait

                cel.NewInstrument(symbol);
                _aSemaphoreSessions.WaitOne(20000);// wait
            }
        }
예제 #3
0
        private void StartAsyncGetingSessionsData(CQGCEL cel, List<string> symbols)
        {
            for (int i = 0; i < symbols.Count(); i++)
            {
                var symbol = symbols[i];

                var progress = (i * (50 / symbols.Count()));
                OnProgress(progress);

                _aSemaphoreHolidays = new Semaphore(0, 1);
                _aSemaphoreSessions = new Semaphore(0, 1);

                List<DateTime> aResultDateTimes = ClientDatabaseManager.GetAllDateTimes(ClientDatabaseManager.GetTableFromSymbol(symbol));

                if (aResultDateTimes == null || aResultDateTimes.Count == 0)
                    continue;

                var rangeBegin = aResultDateTimes.First();
                var rangeEnd = aResultDateTimes.Last();
                var req = cel.CreateHistoricalSessionsRequest();

                req.Type = eHistoricalSessionsRequestType.hsrtTimeRange;
                req.Symbol = symbol;
                req.RangeStart = rangeBegin;
                req.RangeEnd = rangeEnd;

                cel.RequestHistoricalSessions(req);
                _aSemaphoreHolidays.WaitOne(20000);// wait

                cel.NewInstrument(symbol);
                _aSemaphoreSessions.WaitOne(20000);// wait
            }
        }