﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Где-то косячок... =)</title>
  <id>~/topic/3895/gde-to-kosyachok___-)/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-19T19:33:04Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=3895" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/27039/</id>
    <title type="text">В общем разобрался. Пустяк, а столько времени потратил, чтобы найти проблему... После запуска автори...</title>
    <published>2013-08-15T19:47:44Z</published>
    <updated>2013-08-15T19:47:44Z</updated>
    <author>
      <name>Bond</name>
      <uri>https://stocksharp.com/users/26882/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">В общем разобрался. Пустяк, а столько времени потратил, чтобы найти проблему...&lt;br /&gt;После запуска авторизации в SafeConnection все прекрасно запускалось, только после Trader.Connect() все висло. В Исключении было, что не может найти терминал. Как выяснилось путь до терминала прописывался в MainWindow.xaml.cs в каждом уроке отдельно.&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

ConnectionInterFace.SafeConnection = new SafeConnection(new QuikTrader(QuikTerminal.GetDefaultPath()));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;В данном случае путь до терминала нужно указать явно&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

ConnectionInterFace.SafeConnection = new SafeConnection(new QuikTrader(pathFile));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;, где pathFile - путь до терминала.&lt;br /&gt;Вот и вся любовь![biggrin] &lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/27035/</id>
    <title type="text">Иван, вы не могли бы пояснить следующий код из урока: public BaseTrader Trader { get; private set; }...</title>
    <published>2013-08-15T12:59:17Z</published>
    <updated>2013-08-15T12:59:17Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.com/users/26984/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Bond &lt;a href="https://stocksharp.com/posts/m/27028/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Иван, вы не могли бы пояснить следующий код из урока:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

public BaseTrader Trader { get; private set; }

        /// &amp;lt;summary&amp;gt;
        /// Событие появления нового исключения
        /// &amp;lt;/summary&amp;gt;
        public event Action&amp;lt;Exception&amp;gt; NewException = delegate { };

        /// &amp;lt;summary&amp;gt;
        /// Конструктор. Создать безопасное подключение
        /// &amp;lt;/summary&amp;gt;
        /// &amp;lt;param name=&amp;quot;trader&amp;quot;&amp;gt;Коннектор к торговой платформе&amp;lt;/param&amp;gt;
        public SafeConnection(BaseTrader trader)
        {
            Trader = trader;
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Как Trader узнает где расположен терминал Квик?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;В данном коде используется базовый класс BaseTrader, т.е ему не важно какой коннектор ему был передан (Quik, Plaza, или что-то другое)&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Bond &lt;a href="https://stocksharp.com/posts/m/27028/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Почему-то при авторизации(там мы явно указываем путь до терминала) при выполнении Trader.Connect() он забывает, где терминал и выдает Исключение &amp;quot;Не могу найти терминал&amp;quot;. Почему без авторизации он не выдает Исключение? Получается при запущенном терминале он знает где тот расположен.&lt;br /&gt;Указал явно как в предложенном вами примере путь до терминала в ConnectSafe():&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
						Trader = new QuikTrader(Path.Text);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Уже видно, что подключается, но все равно срабатывает Исключение &amp;quot;Не верное значение в ComponentModel&amp;quot;(лексика исключения примерная).&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Думаю проблема в пути или параметрах авторизации.&lt;br /&gt;Указывать полный путь до программы, включая исполняемый файл. &lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/27028/</id>
    <title type="text">Иван, вы не могли бы пояснить следующий код из урока: public BaseTrader Trader { get; private set; }...</title>
    <published>2013-08-15T06:03:03Z</published>
    <updated>2013-08-15T10:48:02Z</updated>
    <author>
      <name>Bond</name>
      <uri>https://stocksharp.com/users/26882/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Иван, вы не могли бы пояснить следующий код из урока:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

public BaseTrader Trader { get; private set; }

        /// &amp;lt;summary&amp;gt;
        /// Событие появления нового исключения
        /// &amp;lt;/summary&amp;gt;
        public event Action&amp;lt;Exception&amp;gt; NewException = delegate { };

        /// &amp;lt;summary&amp;gt;
        /// Конструктор. Создать безопасное подключение
        /// &amp;lt;/summary&amp;gt;
        /// &amp;lt;param name=&amp;quot;trader&amp;quot;&amp;gt;Коннектор к торговой платформе&amp;lt;/param&amp;gt;
        public SafeConnection(BaseTrader trader)
        {
            Trader = trader;
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Как Trader узнает где расположен терминал Квик?&lt;br /&gt;Почему-то при авторизации(там мы явно указываем путь до терминала) при выполнении Trader.Connect() он забывает, где терминал и выдает Исключение &amp;quot;Не могу найти терминал&amp;quot;. Почему без авторизации он не выдает Исключение? Получается при запущенном терминале он знает где тот расположен.&lt;br /&gt;Указал явно как в предложенном вами примере путь до терминала в ConnectSafe():&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
						Trader = new QuikTrader(Path.Text);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Уже видно, что подключается, но все равно срабатывает Исключение &amp;quot;Не верное значение в ComponentModel&amp;quot;(лексика исключения примерная).</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26996/</id>
    <title type="text"> Вот и мне кажется, что должно работать. Автоматизация процесса для того и нужна, чтобы не делать ли...</title>
    <published>2013-08-12T10:30:08Z</published>
    <updated>2013-08-12T10:30:08Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.com/users/26984/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Bond &lt;a href="https://stocksharp.com/posts/m/26986/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Вот и мне кажется, что должно работать. Автоматизация процесса для того и нужна, чтобы не делать лишних действий, не создавать новых кнопок. Тогда почему срабатывает событие Isconneted, если еще не все данные стали поступать? Какое дополнительное условие или событие реализовать, чтобы узнать что мы полностью подключились и можем передавать данные дальше?&lt;br /&gt;П.С. Я пробовал ставить задержки после авторизации терминала, чтобы Квик успел все подгрузить. Почему-то не помогло.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Вот &lt;a target="_blank" rel="nofollow" href="https://stocksharp.com/away/?u=AQAAAAAAAADPSDpWMWjYmE3Esu0urmEdH6G8OuBGH0sETZvrRNDXJA" title="http://yadi.sk/d/jlZqKjhs7p2Gy"&gt;проект&lt;/a&gt;, где при нажатии на кнопку &amp;quot;подключиться&amp;quot; проверяется запущен-ли терминал, если запущен, то подключается, если не запущен, то запускает, авторизуется и подключается к терминалу.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26986/</id>
    <title type="text">Думаю, на момент создания коннектора, терминал еще не получил все данные с сервера. Нужно четко разд...</title>
    <published>2013-08-11T07:44:52Z</published>
    <updated>2013-08-11T07:44:52Z</updated>
    <author>
      <name>Bond</name>
      <uri>https://stocksharp.com/users/26882/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;Думаю, на момент создания коннектора, терминал еще не получил все данные с сервера. Нужно четко разделить этапы запуска терминала и этап создания коннектора и т.д., можно сделать две кнопки, на запуск (и авторизацию) и подключение к терминалу. Убедиться, что при автоматическом запуске программы, все нужные таблицы создаются.&lt;br /&gt;Ну а вообще, ничего хитрого здесь нет, все должно работать.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Вот и мне кажется, что должно работать. Автоматизация процесса для того и нужна, чтобы не делать лишних действий, не создавать новых кнопок. Тогда почему срабатывает событие Isconneted, если еще не все данные стали поступать? Какое дополнительное условие или событие реализовать, чтобы узнать что мы полностью подключились и можем передавать данные дальше?&lt;br /&gt;П.С. Я пробовал ставить задержки после авторизации терминала, чтобы Квик успел все подгрузить. Почему-то не помогло.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26985/</id>
    <title type="text">Изменяющиеся цвета кнопок при подключении я сделал. Понравилось. Захотелось, чтобы при нажатии &amp;quot;Conn...</title>
    <published>2013-08-11T05:29:03Z</published>
    <updated>2013-08-11T05:29:03Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.com/users/26984/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Bond &lt;a href="https://stocksharp.com/posts/m/26980/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Изменяющиеся цвета кнопок при подключении я сделал. Понравилось. Захотелось, чтобы при нажатии &amp;quot;Connect&amp;quot; запускался терминал и авторизовывался, если он не запущен. Да так, чтобы логин и пароль были записаны в отдельном фале, а не в коде(пока юзаю Junior для отладки). Сделал. Но вот косяк. Терминал запускается, а передавать значения в StockSharp.WpfConnectionInterface.dll не хочет. Если запускать код на включенном терминале, то все работает. Думал задержки маленькие поставить - не помогают. Нужен взгляд профессионала!)&lt;br /&gt;...&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Думаю, на момент создания коннектора, терминал еще не получил все данные с сервера. Нужно четко разделить этапы запуска терминала и этап создания коннектора и т.д., можно сделать две кнопки, на запуск (и авторизацию) и подключение к терминалу. Убедиться, что при автоматическом запуске программы, все нужные таблицы создаются.&lt;br /&gt;Ну а вообще, ничего хитрого здесь нет, все должно работать.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26980/</id>
    <title type="text">Изменяющиеся цвета кнопок при подключении я сделал. Понравилось. Захотелось, чтобы при нажатии &amp;quot;Conn...</title>
    <published>2013-08-10T19:28:57Z</published>
    <updated>2013-08-10T19:46:25Z</updated>
    <author>
      <name>Bond</name>
      <uri>https://stocksharp.com/users/26882/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Изменяющиеся цвета кнопок при подключении я сделал. Понравилось. Захотелось, чтобы при нажатии &amp;quot;Connect&amp;quot; запускался терминал и авторизовывался, если он не запущен. Да так, чтобы логин и пароль были записаны в отдельном фале, а не в коде(пока юзаю Junior для отладки). Сделал. Но вот косяк. Терминал запускается, а передавать значения в StockSharp.WpfConnectionInterface.dll не хочет. Если запускать код на включенном терминале, то все работает. Думал задержки маленькие поставить - не помогают. Нужен взгляд профессионала!)&lt;br /&gt;&lt;br /&gt;Как работает запуск и авторизация:&lt;br /&gt;По адресу C:\Key_Junior\Key_Junior.txt храню файл Key_Junior.txt(кодировка файла UTF-8 вроде), в котором текст следующего содержания:&lt;br /&gt;C:\Program Files\QUIK-Junior\info.exe&lt;br /&gt;61488&lt;br /&gt;ХХХХХХХХХХ&lt;br /&gt;, где первая строка адрес нужного Квика, вторая и третья логин и пароль.&lt;br /&gt;метод считывает каждую строку и запоминает нужные данные. А потом на их основе запускает терминал.&lt;br /&gt;&lt;br /&gt;Прилагаю архивчик, в нем:&lt;br /&gt;Из StockSharp.WpfConnectionInterface - InterFace.xaml, InterFace.xaml.cs;&lt;br /&gt;Из StockSharp.TraderConnection - SafeConnection.cs;&lt;br /&gt;Текстовый файл - Key_Junior.txt.&lt;br /&gt;&lt;br /&gt;По отдельности работает. Вместе, на моменте передачи данных из потока(уже появляется надпись &amp;quot;Disconnect&amp;quot;) зависает.&lt;br /&gt;&lt;br /&gt;П.С. Может это все как-то более рационально можно реализовать?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>