Beispiel #1
0
        /// <summary>
        /// загрузка данных
        /// </summary>
        /// <param name="BasaDan"></param>
        /// <returns></returns>
        public List <Task> LoadBdQuote(Bd BasaDan)
        {
            // загрузка данных eurusd
            Task tEurusd = BasaDan.LoadDataQuote("eurusd");
            // загрузка данных usdjpy
            Task tUsdjpy = BasaDan.LoadDataQuote("usdjpy");
            // ассинхронная загрузка
            List <Task> tQuotes = new List <Task>();

            tQuotes.Add(tEurusd);
            tQuotes.Add(tUsdjpy);
            return(tQuotes);
        }
Beispiel #2
0
        /// <summary>
        /// Конструктор стартового состояния окна
        /// </summary>
        /// <param name="x">размер по оси x</param>
        /// <param name="y">размер по оси y</param>

        public MainForm(int x, int y)
        {
            Gettext.LanguageCode = "ru";
            string pathDirectory = Application.StartupPath;                  // Путь к директории
            string pathFile      = pathDirectory + "\\" + "eurusd" + ".txt"; // Путь к файлу c котировками eurusd

            Methods Time = new Methods();

            // проверка интернет соединения ассинхронно
            tConnect = Task.Run(() =>
            {
                Internet inCon   = new Internet();
                InetConnect.Inet = inCon.TryCon("eurusd", sync, internetActionFinished);
            });

            switch (Time.TradeStop(DateTime.Now))
            {
            case "Sat": MessageBox.Show(Gettext._("Forex day off")); break;

            case "Sun": MessageBox.Show(Gettext._("Forex day off")); break;
            }

            this.InitializeComponent();
            // размеры контейнера
            startContainer.Size     = new Size(x, y - WSettings.Size.Height);
            startContainer.Location = new Point(0, 0);
            // проверка существования директории
            DirectoryWork.Set(pathDirectory);
            // проверка существования файла
            FileInspection.Set(pathFile);
            // настройка под все  экраны
            xS = x / 1920.0;
            // настройка под все  экраны
            yS = y / 1080.0;
            // задание размеров экрана
            this.Size = new Size(x, y);

            #region Переменные командной комбинации к Меню текущей форме
            // командная комбинация клавиш для откытия настроек окна
            windowToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.W;
            // командная комбинация клавиш для откытия настроек графика
            chartToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.C;
            // командная комбинация клавиш для откытия графика USDEUR
            eURUSDToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.U;
            // командная комбинация клавиш для откытия графика EURYPJ
            USDJPYToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.Y;
            #endregion

            // Грузящийся курсор
            Cursor.Current = Cursors.WaitCursor;
            tConnect.Wait();
            // Возвращение к нормальному состоянию
            Cursor.Current = Cursors.Default;

            // передача строки подключения
            Bd BasaDan = new Bd("Data Source = (LocalDB)\\MSSQLLocalDB; AttachDbFilename='" + Application.StartupPath + "\\Forex.mdf'; Integrated Security = True; Connect Timeout = 30");
            // проверка интернет соединения
            if (true == InetConnect.Inet)
            {
                tTask = LoadBdQuote(BasaDan);
                List <int>    timeL = new List <int>();
                List <double> sellL = new List <double>();
                List <double> buyL  = new List <double>();
                // получение событий парралельно
                ParserEventFabric Parse = new ParserEventFabric();
                BasaDan.LoadInBdEvent("https://myfirstphpapp-skro.rhcloud.com/get_Event.php", BasaDan.SelectLastIdEvent(), Parse);

                ParserEventGroupFabric Parse1 = new ParserEventGroupFabric();
                BasaDan.LoadInBdEventGroup("https://myfirstphpapp-skro.rhcloud.com/get_EventGroup.php", BasaDan.SelectLastIdEventGroup(), Parse1);

                BasaDan.Select("eurusd", ref timeL, ref sellL, ref buyL);
            }
            // выбор событий из БД по id
            //Events = BasaDan.SelectEvent(5000);
            // выбор событий по Id_Group
            // Events = BasaDan.SelectSameEvent(20);
            // выбор грядущих событий
            // выбор из группы события по id
            // Groups = BasaDan.SelectEventGroup(500);
            // выбор группы по name
            // Groups = BasaDan.SelectEventGroup("'Выступление представителя ФРС США Джеффри Лэкера'");
            int NowTime = Convert.ToInt32((DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds - 15) - 3600 * 1;
            Console.WriteLine(NowTime);
            FutureEvent = BasaDan.SelectEventTime(1495209600);
        }
Beispiel #3
0
        /// <summary>
        /// Cоздание окна валюты
        /// </summary>
        /// <param name=" Vvalue">Наименование валюты</param>
        public Windowd(string Vvalue)
        {
            // получение строки через конструктор
            value = Vvalue;
            Bd BasaDan = new Bd("Data Source = (LocalDB)\\MSSQLLocalDB; AttachDbFilename='" + Application.StartupPath + "\\Forex.mdf'; Integrated Security = True; Connect Timeout = 30");

            // запрос последнего времени из БД
            BasaDan.SelectLastIdEvent();
            // запрос данных из БД
            BasaDan.Select(value, ref timeL, ref sellL, ref buyL);
            // ненужные местоположения
            int ButtLocX   = 1101;
            int ButtLocY   = 35;
            int ButtonSize = 59;
            int shift      = 12;

            SpeedDraw.Speed = 1;
            System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
            // настройка под все  экраны
            double xS = x / 1920.0;
            // настройка под все  экраны
            double yS = y / 1080.0;

            this.InitializeComponent();

            this.FormClosing += new FormClosingEventHandler(OnClos);

            graphic        = new Chart();
            graphic.Parent = this;
            this.Text      = value;

            area.Name = "myGraph";
            // доработать интервал по координате X 1= 1 день
            area.AxisX.MajorGrid.Interval = 1;
            // размещение чарта
            graphic.Location  = new Point(0, 10);
            this.graphic.Size = new System.Drawing.Size(Convert.ToInt32(chatSizeX * xS * (WString.X / fX)), Convert.ToInt32(chatSizeY * yS * (WString.X / fX))); // размеры чарта
            // передача
            graphic.ChartAreas.Add(area);
            // замена присвоение точек через переопределение дисплея.
            #region Задание параметров кнопкам button9, button8, button10, button1, button7
            buttonBuy.Location       = Display.customizedPoint(1100, 27); // кнопка buy
            buttonSell.Location      = Display.customizedPoint(1274, 27); // кнопак  sell
            price.Location           = Display.customizedPoint(1216, 72); // кнопка price
            buttonPriceBuy.Location  = Display.customizedPoint(1100, 72); // кнопка value
            buttonPriceSell.Location = Display.customizedPoint(1157, 27); // кнопка value

            buttonBuy.rusLan                = "Покупка";
            buttonBuy.engLan                = "Buy";
            buttonSell.rusLan               = "Продажа";
            buttonSell.engLan               = "Sell";
            buttonPriceBuy.rusLan           = "Цена покупки";
            buttonPriceBuy.engLan           = "Value Buy";
            buttonPriceSell.rusLan          = "Цена продажи";
            buttonPriceSell.engLan          = "Value Sell";
            checkBoxLevelSupandResis.engLan = "Levels support and resistance";
            checkBoxSMA.engLan              = "SMA";
            checkBoxLineCoord.engLan        = "Line coordinates";
            checkBoxBinding.engLan          = "Binding graphics";
            checkBoxLevelSupandResis.rusLan = "Уровни сопротивления и поддержки";
            checkBoxSMA.rusLan              = "Скользящая кривая";
            checkBoxLineCoord.rusLan        = "Координатные линии";
            checkBoxBinding.rusLan          = "Привязка графика";

            tabControl.Location  = Display.customizedPoint(ButtLocX, ButtLocY + 122);
            numericUpDown1.Value = 10;

            double SizeDisplayX = xS * (WString.X / fX);
            double SizeDisplayY = yS * (WString.Y / fY);
            tabControl.Size = new Size(Convert.ToInt32(250 * SizeDisplayX), Convert.ToInt32(500 * SizeDisplayY));

            // Проверка существования
            if (tabControl.TabPages[0] != null)
            {
                tabControl.TabPages[0].Text = "Methods";
            }

            if (tabControl.TabPages[1].Text != null)
            {
                tabControl.TabPages[1].Text = "Tools";
            }

            buttonSell.Size      = new Size(Convert.ToInt32((ButtonSize + shift * 2 / 3.0) * SizeDisplayX), Convert.ToInt32(46 * SizeDisplayY));
            price.Size           = new Size(Convert.ToInt32((ButtonSize + 60 + shift * 2 / 3.0) * SizeDisplayX), Convert.ToInt32(46 * SizeDisplayY));
            buttonBuy.Size       = new Size(Convert.ToInt32((ButtonSize + shift) * SizeDisplayX), Convert.ToInt32(46 * SizeDisplayY));
            buttonPriceBuy.Size  = new Size(Convert.ToInt32((ButtonSize + 60 + shift) * SizeDisplayX), Convert.ToInt32(46 * SizeDisplayY));
            buttonPriceSell.Size = new Size(Convert.ToInt32((ButtonSize + 60 + shift * 2 / 3.0) * SizeDisplayX), Convert.ToInt32(46 * SizeDisplayY));
            numericUpDown1.Size  = new Size(Convert.ToInt32(117 * SizeDisplayX), Convert.ToInt32(20 * SizeDisplayY));
            #endregion
            // Чекбокс отвечающий за привязку графика к середине включен
            checkBoxBinding.Checked = true;
            // Вызов метода объявления линий
            ChartQ S = new ChartQ();
            graphic = S.Quote(graphic, value);

            #region вызов Методов локализации формы
            // локализация всплывающих подсказок
            tTip();
            // переводчик  кнопок
            Button();
            // переводчик меню
            #endregion
        }