Exemplo n.º 1
0
 private void Log(string str)    // потоки
 {
     try
     {
         this.Dispatcher.Invoke(() =>
         {
             TextBoxLogsWindow.AppendText(DateTime.Now.ToString("HH:mm:ss.fff") + " " + str + Environment.NewLine);
             TextBoxLogsWindow.ScrollToLine(TextBoxLogsWindow.LineCount - 1);  // прокрутка scroll
         });
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
     }
 }
Exemplo n.º 2
0
        private void ButtonConnect_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                TextBoxLogsWindow.AppendText("Подключаемся к терминалу Quik..." + Environment.NewLine);
                _quik = new Quik(Quik.DefaultPort, new InMemoryStorage()); // инициализируем объект Quik с использованием локального расположения терминала (по умолчанию)
            }
            catch
            {
                TextBoxLogsWindow.AppendText("Ошибка инициализации объекта Quik..." + Environment.NewLine);
            }

            if (_quik != null)
            {
                TextBoxLogsWindow.AppendText("Экземпляр Quik создан." + Environment.NewLine);
                try
                {
                    TextBoxLogsWindow.AppendText("Получаем статус соединения с сервером...." + Environment.NewLine);
                    isServerConnected = _quik.Service.IsConnected().Result;
                    if (isServerConnected)
                    {
                        TextBoxLogsWindow.AppendText("Соединение с сервером установлено." + Environment.NewLine);
                        ButtonConnect.IsEnabled = false;
                        ButtonRun.IsEnabled     = true;
                    }
                    else
                    {
                        TextBoxLogsWindow.AppendText("Соединение с сервером НЕ установлено." + Environment.NewLine);
                        ButtonConnect.IsEnabled = false;
                        ButtonRun.IsEnabled     = true;
                    }
                }
                catch
                {
                    TextBoxLogsWindow.AppendText("Неудачная попытка получить статус соединения с сервером." + Environment.NewLine);
                }
            }
        }
Exemplo n.º 3
0
        void Run()
        {
            comment = TextBoxName.Text;
            stop    = Int32.Parse(TextBoxStopLoss.Text);
            take    = Int32.Parse(TextBoxTakeProfit.Text);
            delta   = Int32.Parse(TextBoxDelta.Text);
            try
            {
                secCode = TextBoxSecCode.Text;
                TextBoxLogsWindow.AppendText("Определяем код класса инструмента " + secCode + ", по списку классов..." + Environment.NewLine);
                try
                {
                    classCode = _quik.Class.GetSecurityClass("SPBFUT,TQBR,TQBS,TQNL,TQLV,TQNE,TQOB,QJSIM", secCode).Result;
                }
                catch
                {
                    TextBoxLogsWindow.AppendText("Ошибка определения класса инструмента. Убедитесь, что тикер указан правильно" + Environment.NewLine);
                }

                if (classCode != null && classCode != "")
                {
                    TextBoxLogsWindow.AppendText("Определяем код клиента..." + Environment.NewLine);
                    clientCode = _quik.Class.GetClientCode().Result;
                    TextBoxLogsWindow.AppendText("Создаем экземпляр инструмента " + secCode + "|" + classCode + "..." + Environment.NewLine);
                    _tool = new Tool(_quik, secCode, classCode);
                    if (_tool != null && _tool.Name != null && _tool.Name != "")
                    {
                        TextBoxLogsWindow.AppendText("Инструмент " + _tool.Name + " создан." + Environment.NewLine);
                    }

                    ButtonRun.IsEnabled          = false;
                    ButtonTrailingStop.IsEnabled = true;
                    ButtonAuto.IsEnabled         = true;
                    ButtonTest.IsEnabled         = true;

                    TextBoxLogsWindow.AppendText("Подписываемся на колбэк 'OnOrder'..." + Environment.NewLine);
                    _quik.Events.OnOrder += Events_OnOrder;

                    TextBoxLogsWindow.AppendText("Подписываемся на колбэк 'OnStopOrder'..." + Environment.NewLine);
                    _quik.Events.OnStopOrder += Events_OnStopOrder;

                    TextBoxLogsWindow.AppendText("Подписываемся на колбэк 'OnParam'..." + Environment.NewLine);
                    _quik.Events.OnParam += Events_OnParam;

                    TextBoxLogsWindow.AppendText("Подписываемся на колбэк 'OnTransReply'..." + Environment.NewLine);
                    _quik.Events.OnTransReply += Events_OnTransReply;

                    /*
                     * TextBoxLogsWindow.AppendText("Подписываемся на колбэк 'OnTrade'..." + Environment.NewLine);
                     * _quik.Events.OnTrade += Events_OnTrade;
                     */
                    TextBoxSecCode.IsEnabled    = false;
                    TextBoxName.IsEnabled       = false;
                    TextBoxStopLoss.IsEnabled   = false;
                    TextBoxTakeProfit.IsEnabled = false;
                    TextBoxDelta.IsEnabled      = false;
                }
            }
            catch
            {
                TextBoxLogsWindow.AppendText("Ошибка получения данных по инструменту." + Environment.NewLine);
            }
        }