﻿<?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">сохранялка истории для SampleSMA</title>
  <id>~/topic/913/sohranyalka-istorii-dlya-samplesma/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-20T22:10:47Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=913" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/1969/</id>
    <title type="text">хех :) ага, прикольный :) запутался в нем и его обработчиках, потому сейчас все просто и коряво. pri...</title>
    <published>2010-03-11T19:18:00Z</published>
    <updated>2010-03-11T19:18:00Z</updated>
    <author>
      <name>denis</name>
      <uri>https://stocksharp.ru/users/59/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;хех :) ага, прикольный :) запутался в нем и его обработчиках, потому
сейчас все просто и коряво.
private void load_config(string cpath)
{
//load system config - корявый метод. Только на чтение.
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(cpath);
XmlNodeList xmlNodes =
xmlDocument.GetElementsByTagName(&amp;quot;system&amp;quot;);
foreach (XmlNode node in xmlNodes)
{
XmlNodeReader xmlNodeReader = new XmlNodeReader(node);
xmlNodeReader.Read();
xmlNodeReader.Read();&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;           qpath = xmlNodeReader.ReadElementContentAsString();
            string description =
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;xmlNodeReader.ReadElementContentAsString();&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;           Console.WriteLine(&amp;quot;путь к квику: &amp;quot; + qpath);
            Console.WriteLine(description);
        }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;можно сделать для нескольких ботов в цикле. Только чтение потому что
записывать туда я не умею :) еще не разобрался
//load bot config
//тут перебор
xmlNodes = xmlDocument.GetElementsByTagName(&amp;quot;bot&amp;quot;);
foreach (XmlNode node in xmlNodes)
{
Console.WriteLine(&amp;quot;loading config for bot&amp;quot; +
node.Attributes[&amp;quot;id&amp;quot;].Value + &amp;quot;:&amp;quot;);
XmlNodeReader xmlNodeReader = new XmlNodeReader(node);
xmlNodeReader.Read();
xmlNodeReader.Read();&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;           fpath = xmlNodeReader.ReadElementContentAsString();
            string acc =
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;xmlNodeReader.ReadElementContentAsString();
//acc_forts =
xmlNodeReader.ReadElementContentAsString();
mysec = xmlNodeReader.ReadElementContentAsString();
string description =
xmlNodeReader.ReadElementContentAsString();&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;           Console.WriteLine(&amp;quot;путь к истории: &amp;quot; + fpath + &amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;аккунт: &amp;quot; + acc + &amp;quot; мой папир: &amp;quot; + mysec);
Console.WriteLine(description);
}
ну и далее гибкий выбор параметров для чтения с возможностью записи в
любой последовательности
//тут выборочный доступ
xmlNodes = xmlDocument.GetElementsByTagName(&amp;quot;rnd&amp;quot;);
foreach (XmlNode node in xmlNodes)
{
Console.WriteLine(&amp;quot;выборочный доступ: ид = &amp;quot; +
node.Attributes[&amp;quot;id&amp;quot;].Value);
Console.WriteLine(&amp;quot;аккаунт: &amp;quot; +
node.Attributes[&amp;quot;account_mmvb&amp;quot;].Value);
Console.WriteLine(&amp;quot;файл истории: &amp;quot; +
node.Attributes[&amp;quot;history&amp;quot;].Value);
//var t = node.Name;
this.Path.Text = qpath;
this.Account.Text =
node.Attributes[&amp;quot;account_mmvb&amp;quot;].Value;
}
а это кнопка сохранения
private void test_button_Click(object sender, RoutedEventArgs
e)
{
//save config
//с сохранением элементов вилы :) проще работать с
атрибутами
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(config);
XmlNodeList xmlNodes =
xmlDocument.GetElementsByTagName(&amp;quot;rnd&amp;quot;);
foreach (XmlNode node in xmlNodes)
{
Console.WriteLine(&amp;quot;существующий аккаунт: &amp;quot; +
node.Attributes[&amp;quot;account_mmvb&amp;quot;].Value);
string hpath = node.Attributes[&amp;quot;history&amp;quot;].Value;
Console.WriteLine(&amp;quot;файл истории: &amp;quot; + hpath);
//save bot history
if (_strategy != null &amp;amp;&amp;amp; hpath != null)
_strategy.LongSMA.Save(hpath);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;           node.Attributes[&amp;quot;account_mmvb&amp;quot;].Value =
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;this.Account.Text;
Console.WriteLine(&amp;quot;сохраняю аккаунт: &amp;quot; +
node.Attributes[&amp;quot;account_mmvb&amp;quot;].Value);
}
xmlDocument.Save(config);
}&lt;/p&gt;
&lt;p&gt;Автору на мыло отправлю архив.
примеры есть в &amp;quot;All-In-One Code Framework&amp;quot; на кодплекс :)&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/1968/</id>
    <title type="text">ага, ща только допишу конфиг в xml и потестирую. Оказывается xml такой прикольный язык, можно запиха...</title>
    <published>2010-03-11T14:59:00Z</published>
    <updated>2010-03-11T14:59:00Z</updated>
    <author>
      <name>denis</name>
      <uri>https://stocksharp.ru/users/59/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;ага, ща только допишу конфиг в xml и потестирую. Оказывается xml такой
прикольный язык, можно запихать любые данные с любыми тегами в один
файл, вот и будет конфигом для всяких настроек и переменных с
переносом через ночь :)&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/1967/</id>
    <title type="text">Это для того, чтобы не загружать каждый раз с финама? Интересно. А можете прислать полные исходники ...</title>
    <published>2010-03-11T14:51:00Z</published>
    <updated>2010-03-11T14:51:00Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</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/1966/</id>
    <title type="text">сегодня потестил - работает, это метод в классе SMA, дописал под методом Add() выкладываю на шару, м...</title>
    <published>2010-03-11T10:48:00Z</published>
    <updated>2010-03-11T10:48:00Z</updated>
    <author>
      <name>denis</name>
      <uri>https://stocksharp.ru/users/59/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;сегодня потестил - работает,
это метод в классе SMA, дописал под методом Add()
выкладываю на шару, может кому пригодится :)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   // формат финама
    // &amp;lt;DATE&amp;gt;,&amp;lt;TIME&amp;gt;,&amp;lt;OPEN&amp;gt;,&amp;lt;HIGH&amp;gt;,&amp;lt;LOW&amp;gt;,&amp;lt;CLOSE&amp;gt;,&amp;lt;VOL&amp;gt;
    //
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;20100301,103000,1587.00000,1599.89000,1587.00000,1599.70000,102816
public void Save(string fpath)
{
using (StreamWriter sw = File.CreateText(fpath))
{
for (int i = 0; i &amp;lt; _buffer.Count; i++)
{
sw.WriteLine(&amp;quot;{0}{1}{2},{3}{4}{5},{6},{7},{8},
{9},{10}&amp;quot;,
_buffer.Time.Year,
_buffer.Time.Month.ToString(&amp;quot;D2&amp;quot;),
_buffer.Time.Day.ToString(&amp;quot;D2&amp;quot;),
_buffer.Time.Hour.ToString(&amp;quot;D2&amp;quot;),
_buffer.Time.Minute.ToString(&amp;quot;D2&amp;quot;),_buffer.Time.Second.ToString(&amp;quot;D2&amp;quot;,
_buffer.OpenPrice,
_buffer.HighPrice, _buffer.LowPrice, _buffer.ClosePrice,
_buffer.TotalVolume);
}
}
}&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>