예제 #1
0
파일: Windowd.cs 프로젝트: Sank-WoT/Forex
        /// <summary>
        /// Метод посекундного конекта
        /// </summary>
        /// <param name="sender">объект колесико</param>
        public double SecondConect()
        {
            if (!internetInitialized)
            {
                internetInitialized = true;
                string pathDirectory = Application.StartupPath; // Путь к директории
                string pathFile = pathDirectory + "\\" + value + ".txt"; // Путь к файлу c котировками eurusd
                // Первое прочтение в переменные
                if (tic == 0)
                {
                    StreamReader r2 = new StreamReader(pathFile);
                    string textRead = r2.ReadToEnd(); // получение прочтенной записи
                    r2.Close(); // закрыть чтение  
                    rEURUSD.read(textRead, massYInetBuy, massYInetSell, Times); // функция обработки текста присвоение глобальным переменным

                    DINET = cEURUSD.ConvertD(Times); // Конвертируем время из  формата UNIX в DataTime
                } 
            }

            double dTime = (DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds - 15; // Текущее время
            int NowTime;
            // текущее время
            NowTime = Convert.ToInt32(dTime);

            //  посекундные запросы к сайту
            if (InetConnect.Inet == true)
            {
                InternetRequest Request = new InternetRequest(NowTime, 1, value); // Класс запросов
                MatchCollection M; // коллекция распарсенных данных
                M = Request.InternetData(); // присвоение результата запроса

                // Присвоение к последнему числу в записи для обработки данных.
                if (tic == 0)
                {
                    poslchislo = massYInetSell[massYInetSell.Count - 1]; 
                    poslchislo1 = massYInetBuy[massYInetBuy.Count - 1]; 
                }


                if (M.Count > 0)
                {
                    Buffer.Add(Convert.ToDouble(M[1].Value)); // добавить в лист значения покупки     
                    BufferS.Add(Convert.ToDouble(M[2].Value)); // добавить в лист значения продажи   
                    poslchislo = Convert.ToDouble(M[1].Value); // последнее число в покупке 
                    poslchislo1 = Convert.ToDouble(M[2].Value); // последнее число в продаже
                }

                // Добавление в массив последнего числа (Так как на сервере новых записей не найдено)
                else
                {
                    Buffer.Add(poslchislo);
                    BufferS.Add(poslchislo1); 
                }

            }
            // Добавление в массив последнего числа из файла (Так как нет связи с сервером )
            else
            {
                Buffer.Add(massYInetSell[massYInetSell.Count - 1]); 
                BufferS.Add(massYInetBuy[massYInetBuy.Count - 1]);
            }
            return NowTime;
        }
예제 #2
0
파일: Windowd.cs 프로젝트: Sank-WoT/Forex
        /// <summary>
        /// Метод посекундного конекта
        /// </summary>
        /// <param name="sender">объект колесико</param>
        public double SecondConect()
        {
            if (!internetInitialized)
            {
                internetInitialized = true;
                string pathDirectory = Application.StartupPath;               // Путь к директории
                string pathFile      = pathDirectory + "\\" + value + ".txt"; // Путь к файлу c котировками eurusd
                // Первое прочтение в переменные
                if (tic == 0)
                {
                    StreamReader r2 = new StreamReader(pathFile);
                    // получение прочтенной записи
                    string textRead = r2.ReadToEnd();
                    // закрыть чтение
                    r2.Close();
                    // функция обработки текста присвоение глобальным переменным
                    Times = rEURUSD.read(textRead, sellL, buyL);
                    // Конвертируем время из  формата UNIX в DataTime
                    DBd = cEURUSD.ConvertD(timeL);
                }
            }
            int NowTime;

            // текущее время необходимо решить проблему  с временем
            NowTime = Convert.ToInt32((DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds - 15) - 3600 * 1;
            //  посекундные запросы к сайту
            if (InetConnect.Inet == true)
            {
                // Класс запросов
                InternetRequest Request = new InternetRequest(NowTime, 1, value);
                // коллекция распарсенных данных
                MatchCollection M;
                // присвоение результата запроса
                M = Request.InternetData();

                // Присвоение к последнему числу в записи для обработки данных.
                if (tic == 0)
                {
                    poslchisloSell = sellL[sellL.Count - 1];
                    poslchisloBuy  = buyL[buyL.Count - 1];
                }

                if (M.Count > 0)
                {
                    // добавить в лист значения покупки
                    BufferS.Add(Convert.ToDouble(M[1].Value));
                    // добавить в лист значения продажи
                    BufferB.Add(Convert.ToDouble(M[2].Value));
                    // последнее число в покупке
                    poslchisloSell = Convert.ToDouble(M[1].Value);
                    // последнее число в продаже
                    poslchisloBuy = Convert.ToDouble(M[2].Value);
                }

                // Добавление в массив последнего числа (Так как на сервере новых записей не найдено)
                else
                {
                    BufferS.Add(poslchisloSell);
                    BufferB.Add(poslchisloBuy);
                }
            }
            // Добавление в массив последнего числа из файла (Так как нет связи с сервером )
            else
            {
                BufferB.Add(sellL[sellL.Count - 1]);
                BufferS.Add(buyL[buyL.Count - 1]);
            }
            return(NowTime);
        }