﻿<?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/2564/format-dannyh-dlya-gidry/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-06T11:07:26Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2564" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/25694/</id>
    <title type="text">А конвертировать конвертером то не пробовали? Можно же сделать бекап и конвертнуть, а потом в гидре ...</title>
    <published>2013-04-30T21:08:34Z</published>
    <updated>2013-04-30T21:08:34Z</updated>
    <author>
      <name>chudokos</name>
      <uri>https://stocksharp.com/users/28654/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;anothar &lt;a href="https://stocksharp.com/posts/m/20353/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;А конвертировать конвертером то не пробовали? Можно же сделать бекап и конвертнуть, а потом в гидре посмотреть -нормально ли отражаются данные.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Вы бы могли, пожалуйста, еще раз выложить HydraCoverter, ссылка на dropbox уже не работает... Или может кто-то другой поделится.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/17978/</id>
    <title type="text">В версии S# 4.0 формат данных был 1.XXX. В версии S# 4.1 было два формата, 2.0 и 3.0. Ниже два скрип...</title>
    <published>2012-04-03T12:31:46Z</published>
    <updated>2012-11-13T10:21:34Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">В версии S# 4.0 формат данных был 1.XXX. В версии S# 4.1 было два формата, 2.0 и 3.0. Ниже два скрипта. Первый переводит 1.XXX в 2.0. Второй переводит из 2.0 в 3.0. Кто использует Гидру 4.0, нужно использовать оба скрипта, и прогнать их друг за другом. Кто уже использовал 4.1, то прогнать только второй. Пути, естественно, заменить в коде.&lt;br /&gt;&lt;br /&gt;Конвертация в формат 2.0:&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;
foreach (var secDir in Directory.EnumerateDirectories(@&amp;quot;d:\SS\D\HydraRi3&amp;quot;))
{
	if (Directory.EnumerateFiles(secDir).Any())
		continue;
				
	var dateDirs = Directory.GetDirectories(secDir);

	var prefixes = new[] { &amp;quot;trades&amp;quot;, &amp;quot;quotes&amp;quot; };
	foreach (var prefix in prefixes)
	{
				
		var metaInfo = new Dictionary&amp;lt;DateTime, IDictionary&amp;lt;string, object&amp;gt;&amp;gt;();



		foreach (var dir in dateDirs)
		{
			var date = Path.GetFileName(dir).ToDateTime(&amp;quot;yyyy_MM_dd&amp;quot;);

			var files = Directory.GetFiles(dir);


			var meta = files.FirstOrDefault(f =&amp;gt; Path.GetFileName(f) == prefix+&amp;quot;.xml&amp;quot;);
			var data = files.FirstOrDefault(f =&amp;gt; Path.GetFileName(f) == prefix+&amp;quot;.bin&amp;quot;);
			if (null != meta)
			{
				CultureInfo.InvariantCulture.DoInCulture(() =&amp;gt; metaInfo.Add(date, new XmlSerializer&amp;lt;IDictionary&amp;lt;string, object&amp;gt;&amp;gt;().Deserialize(meta)));

				File.Move(data, Path.Combine(secDir, prefix + &amp;quot;_&amp;quot; + Path.GetFileName(dir) + &amp;quot;.bin&amp;quot;));
			}
		}
		CultureInfo.InvariantCulture.DoInCulture(() =&amp;gt; new XmlSerializer&amp;lt;IDictionary&amp;lt;DateTime, IDictionary&amp;lt;string, object&amp;gt;&amp;gt;&amp;gt;().Serialize(metaInfo, Path.Combine(secDir, prefix+&amp;quot;.xml&amp;quot;)));
	}

	foreach (var dir in dateDirs)
	{
		Directory.Delete(dir, true);
	}

	Console.WriteLine(Path.GetFileName(secDir));
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Конвертация в формат 3.0:&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;
var input = @&amp;quot;d:\SS\D\HydraRi3&amp;quot;;
var output = @&amp;quot;d:\SS\D\HydraRi5.1&amp;quot;;

foreach (var secDir in Directory.EnumerateDirectories(input))
{
	var prefixes = new[] { &amp;quot;quotes&amp;quot;, &amp;quot;trades&amp;quot;, &amp;quot;orderLog&amp;quot; };
	var secId = Path.GetFileName(secDir);
	Directory.CreateDirectory(Path.Combine(output,secId));
	foreach (var prefix in prefixes)
	{
		var metafile = secDir + &amp;quot;\\&amp;quot; + prefix + &amp;quot;.xml&amp;quot;;
		if (File.Exists(metafile))
		{
			IDictionary&amp;lt;DateTime, IDictionary&amp;lt;string, object&amp;gt;&amp;gt; data=null; 
			CultureInfo.InvariantCulture.DoInCulture(() =&amp;gt; data = new XmlSerializer&amp;lt;IDictionary&amp;lt;DateTime, IDictionary&amp;lt;string, object&amp;gt;&amp;gt;&amp;gt;().Deserialize(metafile));
			//Directory.EnumerateFiles(secDir);
			foreach (var date in data.Keys)
			{
				var fileName = &amp;quot;{0}_{1}.bin&amp;quot;.Put(prefix, date.ToString(&amp;quot;yyyy_MM_dd&amp;quot;));
				fileName = Path.Combine(secDir,fileName);
				if (File.Exists(fileName))
				{
					var outSecDir = Path.Combine(output, secId, date.ToString(&amp;quot;yyyy_MM_dd&amp;quot;));
					Directory.CreateDirectory(outSecDir);

					var outFile = Path.Combine(outSecDir, prefix + &amp;quot;.bin&amp;quot;);
					using (var s = new FileStream(outFile, FileMode.Create, FileAccess.Write))
					{
						var dict = data[date];

						s.WriteByte(3); s.WriteByte(0);
						s.Write((int)dict[&amp;quot;count&amp;quot;]);
						s.Write((decimal)dict[&amp;quot;minStepSize&amp;quot;]);
						s.Write((decimal)0);
						s.Write(new DateTime(dict[&amp;quot;firstTime&amp;quot;].To&amp;lt;long&amp;gt;()));
						s.Write(new DateTime(dict[&amp;quot;prevTime&amp;quot;].To&amp;lt;long&amp;gt;()));

						if (prefix.Equals(&amp;quot;trades&amp;quot;))
						{
							s.Write((long)dict[&amp;quot;firstId&amp;quot;]);
							s.Write((long)dict[&amp;quot;prevId&amp;quot;]);
							s.Write((decimal)dict[&amp;quot;firstPrice&amp;quot;]);
							s.Write((decimal)dict[&amp;quot;prevPrice&amp;quot;]); 
						}
						else if (prefix.Equals(&amp;quot;quotes&amp;quot;))
						{
							s.Write((decimal)dict[&amp;quot;firstPrice&amp;quot;]);
							s.Write((decimal)dict[&amp;quot;prevPrice&amp;quot;]); 									
						}
						else if (prefix.Equals(&amp;quot;orderLog&amp;quot;))
						{
							s.Write((long)dict[&amp;quot;firstOrderId&amp;quot;]);
							s.Write((long)dict[&amp;quot;firstTradeId&amp;quot;]);
							s.Write((long)dict[&amp;quot;prevOrderId&amp;quot;]);
							s.Write((long)dict[&amp;quot;prevTradeId&amp;quot;]);
							s.Write((decimal)dict[&amp;quot;firstPrice&amp;quot;]);
							s.Write((decimal)dict[&amp;quot;prevPrice&amp;quot;]);
						}

						s.WriteRaw(File.ReadAllBytes(fileName));
					}
				}
			}
		}
	}
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/20353/</id>
    <title type="text">А конвертировать конвертером то не пробовали? Можно же сделать бекап и конвертнуть, а потом в гидре ...</title>
    <published>2012-07-14T09:45:54Z</published>
    <updated>2012-07-14T09:45:54Z</updated>
    <author>
      <name>anothar</name>
      <uri>https://stocksharp.com/users/6089/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">А конвертировать конвертером то не пробовали? Можно же сделать бекап и конвертнуть, а потом в гидре посмотреть -нормально ли отражаются данные.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/20345/</id>
    <title type="text">не могу конвертнуть! вот какой это формат? ниже в атаче прикрепил файл стакана UPDATE файл не прикре...</title>
    <published>2012-07-13T12:26:32Z</published>
    <updated>2012-07-13T12:30:37Z</updated>
    <author>
      <name>fish</name>
      <uri>https://stocksharp.com/users/241/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">не могу конвертнуть! вот какой это формат? ниже в атаче прикрепил файл стакана&lt;br /&gt;&lt;br /&gt;UPDATE файл не прикрепляется)))</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/20343/</id>
    <title type="text">По-моему проще сконвертировать и не мучаться со старыми версиями.</title>
    <published>2012-07-13T10:41:45Z</published>
    <updated>2012-07-13T10:41:45Z</updated>
    <author>
      <name>anothar</name>
      <uri>https://stocksharp.com/users/6089/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">По-моему проще сконвертировать и не мучаться со старыми версиями.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/20342/</id>
    <title type="text">а преемственность между стаканами не сохранилась? т.е. могу ли я тестировать на версии 1 формата ста...</title>
    <published>2012-07-13T10:37:05Z</published>
    <updated>2012-07-13T10:37:05Z</updated>
    <author>
      <name>fish</name>
      <uri>https://stocksharp.com/users/241/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">а преемственность между стаканами не сохранилась? т.е. могу ли я тестировать на версии 1 формата стаканов, на новой версии библиотеки 4.1.2?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/18411/</id>
    <title type="text">Конвертер из 2.0 в 3.0 с исходниками. HydraConverter</title>
    <published>2012-04-19T14:46:36Z</published>
    <updated>2012-04-19T14:46:36Z</updated>
    <author>
      <name>anothar</name>
      <uri>https://stocksharp.com/users/6089/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Конвертер из 2.0 в 3.0 с исходниками.&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="https://stocksharp.com/away/?u=AQAAAAAAAAAOMNrOLAuSOVIAHGXChwyzFPBIf-RT0Yb_eNgJ_h3pMTw54-iqv81Jypr_gxA4fkW3egjOS-DI9QAvojJoB471" title="http://dl.dropbox.com/u/14910478/HydraConverter.rar"&gt;HydraConverter&lt;/a&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/18389/</id>
    <title type="text">Кому нужен конвертер с гуи-обращайтесь, куда-нить выложу. Можно прям тут к сообщению приложить :)</title>
    <published>2012-04-19T05:33:53Z</published>
    <updated>2012-04-19T05:33:53Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;anothar &lt;a href="https://stocksharp.com/posts/m/18386/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Кому нужен конвертер с гуи-обращайтесь, куда-нить выложу.&lt;/div&gt;&lt;/div&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/18386/</id>
    <title type="text">Кому нужен конвертер с гуи-обращайтесь, куда-нить выложу.</title>
    <published>2012-04-19T02:32:38Z</published>
    <updated>2012-04-19T02:32:38Z</updated>
    <author>
      <name>anothar</name>
      <uri>https://stocksharp.com/users/6089/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Кому нужен конвертер с гуи-обращайтесь, куда-нить выложу.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/18066/</id>
    <title type="text">Новый формат в действии: http://gyazo.com/af593fd747d9e5b81a33db1703b06895.png Слева (data2) старый ...</title>
    <published>2012-04-05T13:43:04Z</published>
    <updated>2012-04-06T09:20:57Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Новый формат в действии:&lt;br /&gt;&lt;br /&gt;&lt;a href='http://gyazo.com/af593fd747d9e5b81a33db1703b06895.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://gyazo.com/af593fd747d9e5b81a33db1703b06895.png" style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Слева (data2) старый формат. Справа (data) - новый формат. Тики по РТС + ММВБ. С начала по текущий день.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>