Пример #1
0
        private static string GetTableType(string historicalPeriod)
        {
            switch (historicalPeriod)
            {
            case "1 minute":
                return("1M");

            case "2 minutes":
                return("2M");

            case "3 minutes":
                return("3M");

            case "5 minutes":
                return("5M");

            case "10 minutes":
                return("10M");

            case "15 minutes":
                return("15M");

            case "30 minutes":
                return("30M");

            case "60 minutes":
                return("60M");

            case "240 minutes":
                return("240M");

            case "Daily":
                _aHistoricalPeriod = eHistoricalPeriod.hpDaily;
                return("D");

            case "Weekly":
                _aHistoricalPeriod = eHistoricalPeriod.hpWeekly;
                return("W");

            case "Monthly":
                _aHistoricalPeriod = eHistoricalPeriod.hpMonthly;
                return("M");

            case "Quarterly":
                _aHistoricalPeriod = eHistoricalPeriod.hpQuarterly;
                return("Q");

            case "Yearly":
                _aHistoricalPeriod = eHistoricalPeriod.hpYearly;
                return("Y");

            case "Semiannual":
                _aHistoricalPeriod = eHistoricalPeriod.hpSemiannual;
                return("S");
            }
            return("1M");
        }
Пример #2
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);
            }
        }
Пример #3
0
        void TableType(string tableTypeFull)
        {
            switch (tableTypeFull)
            {
                case "1 minute":
                    _aIntradayPeriod = 1;
                    _aTableType = "1M";
                    break;
                case "2 minutes":
                    _aIntradayPeriod = 2;
                    _aTableType = "2M";
                    break;
                case "3 minutes":
                    _aIntradayPeriod = 3;
                    _aTableType = "3M";
                    break;
                case "5 minutes":
                    _aIntradayPeriod = 5;
                    _aTableType = "5M";
                    break;
                case "10 minutes":
                    _aIntradayPeriod = 10;
                    _aTableType = "10M";
                    break;
                case "15 minutes":
                    _aIntradayPeriod = 15;
                    _aTableType = "15M";
                    break;
                case "30 minutes":
                    _aIntradayPeriod = 30;
                    _aTableType = "30M";
                    break;
                case "60 minutes":
                    _aIntradayPeriod = 60;
                    _aTableType = "60M";
                    break;
                case "240 minutes":
                    _aIntradayPeriod = 240;
                    _aTableType = "240M";
                    break;

                case "Daily":
                    _aHistoricalPeriod = eHistoricalPeriod.hpDaily;
                    _aIntradayPeriod = 1;
                    _aTableType = "D";
                    break;
                case "Weekly":
                    _aHistoricalPeriod = eHistoricalPeriod.hpWeekly;
                    _aIntradayPeriod = 1;
                    _aTableType = "W";
                    break;
                case "Monthly":
                    _aHistoricalPeriod = eHistoricalPeriod.hpMonthly;
                    _aIntradayPeriod = 1;
                    _aTableType = "M";
                    break;
                case "Quarterly":
                    _aHistoricalPeriod = eHistoricalPeriod.hpQuarterly;
                    _aIntradayPeriod = 1;
                    _aTableType = "Q";
                    break;
                case "Yearly":
                    _aHistoricalPeriod = eHistoricalPeriod.hpYearly;
                    _aIntradayPeriod = 1;
                    _aTableType = "Y";
                    break;
                case "Semiannual":
                    _aHistoricalPeriod = eHistoricalPeriod.hpSemiannual;
                    _aIntradayPeriod = 1;
                    _aTableType = "S";
                    break;

                default:
                    _aIntradayPeriod = 1;
                    _aTableType = "1M";
                    break;
            }
        }
        private static string GetTableType(string historicalPeriod)
        {
            switch (historicalPeriod)
            {
                case "1 minute":
                    return "1M";
                case "2 minutes":
                    return "2M";
                case "3 minutes":
                    return "3M";
                case "5 minutes":
                    return"5M";
                case "10 minutes":
                    return "10M";
                case "15 minutes":
                    return "15M";
                case "30 minutes":
                    return "30M";
                case "60 minutes":
                    return "60M";
                case "240 minutes":
                    return "240M";

                case "Daily":
                    _aHistoricalPeriod = eHistoricalPeriod.hpDaily;
                    return "D";

                case "Weekly":
                    _aHistoricalPeriod = eHistoricalPeriod.hpWeekly;
                    return "W";

                case "Monthly":
                    _aHistoricalPeriod = eHistoricalPeriod.hpMonthly;
                    return "M";

                case "Quarterly":
                    _aHistoricalPeriod = eHistoricalPeriod.hpQuarterly;
                    return "Q";

                case "Yearly":
                    _aHistoricalPeriod = eHistoricalPeriod.hpYearly;
                    return "Y";

                case "Semiannual":
                    _aHistoricalPeriod = eHistoricalPeriod.hpSemiannual;
                    return "S";

            }
            return "1M";
        }
        public static void TimeBarRequest(string symbolName)
        {
            try
            {
                if (!Cel.IsStarted)
                {
                    FinishCollectingSymbol(symbolName,false);
                    return;
                }

                _aHistoricalPeriod = eHistoricalPeriod.hpUndefined;
                if (DatabaseManager.BarTableExist(symbolName, GetTableType(_historicalPeriod)))
                {

                    if (!DatabaseManager.MonthCharYearExist(symbolName, GetTableType(_historicalPeriod)))
                        DatabaseManager.AddColumsTable(symbolName, GetTableType(_historicalPeriod));
                }
                else
                {
                    DatabaseManager.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);
            }
        }
Пример #6
0
        void TableType(string tableTypeFull)
        {
            switch (tableTypeFull)
            {
            case "1 minute":
                _aIntradayPeriod = 1;
                _aTableType      = "1M";
                break;

            case "2 minutes":
                _aIntradayPeriod = 2;
                _aTableType      = "2M";
                break;

            case "3 minutes":
                _aIntradayPeriod = 3;
                _aTableType      = "3M";
                break;

            case "5 minutes":
                _aIntradayPeriod = 5;
                _aTableType      = "5M";
                break;

            case "10 minutes":
                _aIntradayPeriod = 10;
                _aTableType      = "10M";
                break;

            case "15 minutes":
                _aIntradayPeriod = 15;
                _aTableType      = "15M";
                break;

            case "30 minutes":
                _aIntradayPeriod = 30;
                _aTableType      = "30M";
                break;

            case "60 minutes":
                _aIntradayPeriod = 60;
                _aTableType      = "60M";
                break;

            case "240 minutes":
                _aIntradayPeriod = 240;
                _aTableType      = "240M";
                break;

            case "Daily":
                _aHistoricalPeriod = eHistoricalPeriod.hpDaily;
                _aIntradayPeriod   = 1;
                _aTableType        = "D";
                break;

            case "Weekly":
                _aHistoricalPeriod = eHistoricalPeriod.hpWeekly;
                _aIntradayPeriod   = 1;
                _aTableType        = "W";
                break;

            case "Monthly":
                _aHistoricalPeriod = eHistoricalPeriod.hpMonthly;
                _aIntradayPeriod   = 1;
                _aTableType        = "M";
                break;

            case "Quarterly":
                _aHistoricalPeriod = eHistoricalPeriod.hpQuarterly;
                _aIntradayPeriod   = 1;
                _aTableType        = "Q";
                break;

            case "Yearly":
                _aHistoricalPeriod = eHistoricalPeriod.hpYearly;
                _aIntradayPeriod   = 1;
                _aTableType        = "Y";
                break;

            case "Semiannual":
                _aHistoricalPeriod = eHistoricalPeriod.hpSemiannual;
                _aIntradayPeriod   = 1;
                _aTableType        = "S";
                break;

            default:
                _aIntradayPeriod = 1;
                _aTableType      = "1M";
                break;
            }
        }
Пример #7
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);
            }
        }
        public static void BarRequest(string symbolName)
        {
            try
            {
                if (!Cel.IsStarted)
                {
                    FinishCollectingSymbol("B",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);

                var d = GetHistPeriod(_historicalPeriod);
                if (d != eHistoricalPeriod.hpUndefined)
                {
                    request.HistoricalPeriod = d;
                }
                else
                {
                    request.IntradayPeriod = GetIntradayPeriod(_historicalPeriod);
                }

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

                if (curTimedBars.Status == eRequestStatus.rsInProgress)
                {
                }

            }
            catch (Exception ex)
            {

                Console.WriteLine(ex);
            }
        }