Example #1
0
        private void BarRequest(CQGCEL cel, IEnumerable<string> symbols, int rangeStart, int rangeEnd, int sessionFilter, string historicalPeriod, string continuationType)
        {
            if (_shouldStop) return;

            _aSymbolStates.Clear();
            _aContinuationType = continuationType;
            _aHistoricalPeriod = eHistoricalPeriod.hpUndefined;
            TableType(historicalPeriod);
            _historicalPeriod = historicalPeriod;

            foreach (string smb in symbols)
            {
                _logger.LogAdd("Creating request for symbol:" + smb, Category.Information, true);
                DatabaseManager.CreateBarsTable(smb, _aTableType);

                CQGTimedBarsRequest request = cel.CreateTimedBarsRequest();
                //LineTime = CEL.Environment.LineTime;

                request.RangeStart = rangeStart;
                request.RangeEnd = rangeEnd;
                request.SessionsFilter = sessionFilter;
                request.Symbol = smb;
                request.IntradayPeriod = _aIntradayPeriod;
                if (_aHistoricalPeriod != eHistoricalPeriod.hpUndefined)
                    request.HistoricalPeriod = _aHistoricalPeriod;

                var bars = cel.RequestTimedBars(request);
                var curTimedBars = cel.AllTimedBars.ItemById[bars.Id];

                if (curTimedBars.Status == eRequestStatus.rsInProgress)
                {
                    _logger.LogAdd("Request is 'In progress' for symbol:" + smb, Category.Information, true);
                    var ss = new SymbolState { IsCollected = false, IsSuccess = false };
                    if (!_aSymbolStates.ContainsKey(smb))
                        _aSymbolStates.Add(smb, ss);
                }
                OnSymbolCollectStart(smb);
            }
        }
Example #2
0
        public static void BarRequest(string symbolName)
        {
            try
            {
                if (!Cel.IsStarted)
                {
                    FinishCollectingSymbol(symbolName, false, 0, "CQG not started");
                    return;
                }
                Cel.NewInstrument(symbolName);


                var tableName = ClientDatabaseManager.GetBarTableFromSymbol(symbolName, GetTableType(_historicalPeriod));

                _aHistoricalPeriod = eHistoricalPeriod.hpUndefined;
                if (ClientDatabaseManager.BarTableExist(tableName))
                {
                    if (!ClientDatabaseManager.MonthCharYearExist(tableName))
                    {
                        ClientDatabaseManager.AddMonthCharYearColumnsToBarTable(tableName);
                    }
                    if (ClientDatabaseManager.YearCharExist(tableName))
                    {
                        ClientDatabaseManager.DeleteWrongColumnsFromTable(tableName);
                    }


                    if (Settings.Default.MakeBigger)
                    {
                        ClientDatabaseManager.MakeBarTableBigger(symbolName, GetTableType(_historicalPeriod));
                    }
                }
                else
                {
                    ClientDatabaseManager.CreateBarsTable(symbolName, GetTableType(_historicalPeriod));
                }
                //DatabaseManager.CreateBarsTable(symbolName, GetTableType(_historicalPeriod));

                CQGTimedBarsRequest request = Cel.CreateTimedBarsRequest();

                request.RangeStart     = _rangeStart;
                request.RangeEnd       = _rangeEnd;
                request.SessionsFilter = _sessionFilter;
                request.Symbol         = symbolName;
                request.Continuation   = ConvertToTsts(_continuationType);

                request.IntradayPeriod = GetIntradayPeriod(_historicalPeriod);

                if (_aHistoricalPeriod != eHistoricalPeriod.hpUndefined)
                {
                    request.HistoricalPeriod = _aHistoricalPeriod;
                }

                var bars         = Cel.RequestTimedBars(request);
                var curTimedBars = Cel.AllTimedBars.ItemById[bars.Id];

                if (curTimedBars.Status == eRequestStatus.rsInProgress)
                {
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }