﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">HydraServer - получение списка инструментов</title>
  <id>~/topic/8442/hydraserver---poluchenie-spiska-instrumentov/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-14T18:34:16Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=8442" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/40560/</id>
    <title type="text">Да, спасибо, обновление API помогло. Теперь действительно 4 параметра и пример из справки компилируе...</title>
    <published>2017-08-01T14:11:42Z</published>
    <updated>2017-08-01T14:11:42Z</updated>
    <author>
      <name>Simen</name>
      <uri>https://stocksharp.ru/users/96216/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Да, спасибо, обновление API помогло.
Теперь действительно 4 параметра и пример из справки компилируется и работает!&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40547/</id>
    <title type="text">На версии 4.3.25 у меня все работает как описано в документации. Полный код using System; using Syst...</title>
    <published>2017-07-31T16:30:31Z</published>
    <updated>2017-07-31T16:30:31Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.ru/users/6502/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;На версии 4.3.25 у меня все работает как описано в документации. Полный код&lt;/p&gt;
&lt;details&gt;&lt;summary&gt;using System;
using System.Security;
using Ecng.Common;
using StockSharp.Algo.History.Hydra;
using StockSharp.Algo.Storages;
using StockSharp.BusinessEntities;&lt;/summary&gt;
&lt;p&gt;namespace GttSecurity
{
class Program
{
static void Main(string[] args)
{
var storageRegistry = new StorageRegistry();
var client = new RemoteStorageClient(new InMemoryExchangeInfoProvider(), new Uri(&amp;quot;net.tcp://localhost:8000&amp;quot;))
{
Credentials = { AutoLogon = true, Email = &amp;quot;hydra_user&amp;quot;, Password = &amp;quot;qwerty&amp;quot;.To&lt;SecureString&gt;() },
};&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;        //Get all Securities
        client.Refresh(storageRegistry.GetSecurityStorage(), new Security(), s =&amp;gt; { }, () =&amp;gt; false);
        var allSecurity = storageRegistry.GetSecurityStorage().Lookup(new Security());

        foreach (var secc in allSecurity)
        {
            Console.Write(secc + &amp;quot;; &amp;quot;);
        }
        Console.WriteLine();
        Console.ReadLine();
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;/details&gt;
&lt;ol&gt;
&lt;li&gt;В первый раз он получает инструменты достаточно долго, если у вас много инструментов то может занять минут 5 или больше. При последующих подключениях практически сразу. Если у вас в гидре &lt;strong&gt;периодически&lt;/strong&gt;появляется сообщение&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;HydraServer	07/31/2017 23:19:34 +10:00	Info	Сессия 484f979e-6806-4d6e-84d5-52f1da98ba10. Получение инструментов.
Все хорошо, просто подождите еще минут 5, вы на правильном пути.
2) Возможно у вас старая версия API или Гидры.
3) Вы не настроили Гидру. В примере документации подключение к локальному юзеру. Как настроить описано тут &lt;a href="http://doc.stocksharp.ru/html/7d845e99-6bde-437e-b7f4-059be0438894.htm"&gt;http://doc.stocksharp.ru/html/7d845e99-6bde-437e-b7f4-059be0438894.htm&lt;/a&gt;
У меня 4 параметра тоже, от куда вы взяли 5...&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40544/</id>
    <title type="text">В документации 4 параметра, так как в последнем релизе их 4. Обновите API. </title>
    <published>2017-07-31T12:41:33Z</published>
    <updated>2017-07-31T12:41:33Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;В документации 4 параметра, так как в последнем релизе их 4. Обновите API.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40521/</id>
    <title type="text">Да, занимаемся. </title>
    <published>2017-07-28T12:17:54Z</published>
    <updated>2017-07-28T12:17:54Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Да, занимаемся.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40520/</id>
    <title type="text">Добрый день! Решением моего вопроса кто-нибудь занимается? </title>
    <published>2017-07-28T10:44:14Z</published>
    <updated>2017-07-28T10:44:14Z</updated>
    <author>
      <name>Simen</name>
      <uri>https://stocksharp.ru/users/96216/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день!
Решением моего вопроса кто-нибудь занимается?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40507/</id>
    <title type="text">Разумеется выводится, я специально сделал этот вывод, чтобы показать, что инструмент существует. НО!...</title>
    <published>2017-07-26T13:05:13Z</published>
    <updated>2017-07-26T13:05:13Z</updated>
    <author>
      <name>Simen</name>
      <uri>https://stocksharp.ru/users/96216/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Разумеется выводится, я специально сделал этот вывод, чтобы показать, что инструмент существует.
НО! Это вывод через переменную типа RemoteStorageClient, которая предназначена только для коннекта и с которой нельзя дальше работать.
А вот через переменную типа StorageRegistry ничего не выводится. Хотя именно она предназначена для дальнейшей работы с данными.&lt;/p&gt;
&lt;p&gt;Пожалуйста покажите, как мне получить список инструментов через StorageRegistry.
Как мне их поместить в переменную allSecurity?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40505/</id>
    <title type="text">У вас выводится 1 инструмент. </title>
    <published>2017-07-26T12:39:36Z</published>
    <updated>2017-07-26T12:39:36Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;У вас выводится 1 инструмент.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40503/</id>
    <title type="text">Спасибо, но, к сожалению, все равно не работает. Вот полный код программы: using System; using Stock...</title>
    <published>2017-07-25T19:47:44Z</published>
    <updated>2017-07-25T19:47:44Z</updated>
    <author>
      <name>Simen</name>
      <uri>https://stocksharp.ru/users/96216/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Спасибо, но, к сожалению, все равно не работает.
Вот полный код программы:&lt;/p&gt;
&lt;details&gt;&lt;summary&gt;using System;
using StockSharp.BusinessEntities;
using Ecng.Common;
using StockSharp.Algo.History.Hydra;
using StockSharp.Algo.Storages;
using System.Security;
using StockSharp.Messages;
using System.Collections.Generic;&lt;/summary&gt;
&lt;p&gt;namespace ConsoleWorkWithHydra
{
class Program
{
static void Main(string[] args)
{
//Подключение к Гидре
var client = new RemoteStorageClient(new Uri(&amp;quot;net.tcp://localhost:8000&amp;quot;))
{
Credentials = { AutoLogon = true, Email = &amp;quot;hydra_user&amp;quot;, Password = &amp;quot;qwerty&amp;quot;.To&lt;SecureString&gt;() },
};&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;        //получение всех инструментов
        var imnis = new InMemoryNativeIdStorage();
        var storageRegistry = new StorageRegistry();
        client.Refresh(
            storageRegistry.GetSecurityStorage(),
            imnis,
            new Security(),
            s =&amp;gt; Console.WriteLine(s.Id),
            () =&amp;gt; false);
        var allSecurity = storageRegistry.GetSecurityStorage().Lookup(new Security());


        //проверка, что инструменты все-таки есть
        Console.WriteLine(&amp;quot;============================&amp;quot;);
        var securityIds = new List&amp;lt;SecurityId&amp;gt;(client.AvailableSecurities);
        foreach (var item in securityIds)
        {
            Console.WriteLine(item.SecurityCode + &amp;quot;@&amp;quot; + item.BoardCode);
        }

        Console.ReadKey();

    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;/details&gt;
&lt;p&gt;До черты должен выводиться список всех инструментов, но он пуст.
А после черты- проверка, что инструменты все-таки присутствуют в хранилище.
У меня результат выглядит как на картинке.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40501/</id>
    <title type="text">var imnis = new InMemoryNativeIdStorage(); //не понимаю, что это такое, но переменную данного типа н...</title>
    <published>2017-07-25T15:53:02Z</published>
    <updated>2017-07-25T15:53:02Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;pre&gt;&lt;code&gt;var imnis = new InMemoryNativeIdStorage(); //не понимаю, что это такое, но переменную данного типа надо передать, чтобы программа скомпилировалась
var storageRegistry = new StorageRegistry();
client.Refresh(
storageRegistry.GetSecurityStorage(),
imnis,
new Security(),
s =&amp;gt; Console.WriteLine(s.Id),
() =&amp;gt; false);
var allSecurity = storageRegistry.GetSecurityStorage().Lookup(new Security());
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40500/</id>
    <title type="text">Я не понимаю, что это значит и как его отслеживать. Можно работающий пример? </title>
    <published>2017-07-25T13:25:24Z</published>
    <updated>2017-07-25T13:25:24Z</updated>
    <author>
      <name>Simen</name>
      <uri>https://stocksharp.ru/users/96216/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Я не понимаю, что это значит и как его отслеживать.
Можно работающий пример?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40499/</id>
    <title type="text">Отслеживайте обработчик s =&amp;gt; </title>
    <published>2017-07-25T13:15:19Z</published>
    <updated>2017-07-25T13:15:19Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Отслеживайте обработчик s =&amp;gt; &lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40498/</id>
    <title type="text">В логе Гидры ошибок нет: Создание для юзера..., Поиск инструментов, Получение инструментов. </title>
    <published>2017-07-25T12:21:30Z</published>
    <updated>2017-07-25T12:22:23Z</updated>
    <author>
      <name>Simen</name>
      <uri>https://stocksharp.ru/users/96216/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;В логе Гидры ошибок нет:&lt;/p&gt;
&lt;p&gt;Создание для юзера...,
Поиск инструментов,
Получение инструментов.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40496/</id>
    <title type="text">В Гидре при этом что-то пишется в лог? Есть ли ошибки на клиентской стороне? </title>
    <published>2017-07-25T11:48:37Z</published>
    <updated>2017-07-25T11:48:37Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;В Гидре при этом что-то пишется в лог? Есть ли ошибки на клиентской стороне?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40487/</id>
    <title type="text">Добрый день! Не получается получить список инструментов из Гидры через HydraServer. Пример, взятый и...</title>
    <published>2017-07-24T19:54:03Z</published>
    <updated>2017-07-24T19:54:03Z</updated>
    <author>
      <name>Simen</name>
      <uri>https://stocksharp.ru/users/96216/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день!&lt;/p&gt;
&lt;p&gt;Не получается получить список инструментов из Гидры через HydraServer.
Пример, взятый из официальной документации (&lt;a href="http://doc.stocksharp.ru/html/f143c9e7-d5a6-4464-9b01-18117183cc7a.htm"&gt;http://doc.stocksharp.ru/html/f143c9e7-d5a6-4464-9b01-18117183cc7a.htm&lt;/a&gt;) &lt;strong&gt;не работает&lt;/strong&gt;.
Вот он:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
var storageRegistry = new StorageRegistry();
client.Refresh(storageRegistry.GetSecurityStorage(), new Security(), s =&amp;gt; { }, () =&amp;gt; false);
var allSecurity = storageRegistry.GetSecurityStorage().Lookup(new Security());

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;А именно: в примере не совпадает количество параметров, которое реальное требуется в &lt;strong&gt;client.Refresh&lt;/strong&gt;. В примере их 4, а нужно 5.&lt;/p&gt;
&lt;p&gt;Пробую свой код, вот такой:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
            var imnis = new InMemoryNativeIdStorage(); //не понимаю, что это такое, но переменную данного типа надо передать, чтобы программа скомпилировалась
            var storageRegistry = new StorageRegistry();
            client.Refresh(
                storageRegistry.GetSecurityStorage(),
                imnis,
                new Security(),
                s =&amp;gt; { },
                () =&amp;gt; false);
            var allSecurity = storageRegistry.GetSecurityStorage().Lookup(new Security());

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Этот код тоже не работает - в allSecurity ничего не передается (0 элементов),
хотя в &lt;strong&gt;client.AvailableSecurities&lt;/strong&gt; есть элементы, и я могу их получить так
var securityIds = new List&lt;SecurityId&gt;(client.AvailableSecurities);&lt;/p&gt;
&lt;p&gt;Подскажите пожалуйста, как все-таки получить все инструменты из Гидры?
Спасибо!&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>