﻿<?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">Почему double, а не decimal?</title>
  <id>~/topic/1201/pochemu-double-a-ne-decimal/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-03T18:31:01Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=1201" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/22300/</id>
    <title type="text">А ведь ни цены, ни объём не могут быть отрицательными. Почему бы не использовать для цен тот же самы...</title>
    <published>2012-11-07T05:25:13Z</published>
    <updated>2012-11-07T05:25:13Z</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;Геннадий Ванин (Gennady Vanin) &lt;a href="https://stocksharp.com/posts/m/22297/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Alexander Mukhanchikov &lt;a href="https://stocksharp.com/posts/m/6685/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;А ведь ни цены, ни объём не могут быть отрицательными.&lt;br /&gt;Почему бы не использовать для цен тот же самый Decimal, а для объёмов ulong?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Зато их разница - может&lt;br /&gt;Текущая чистая позиция  - разница объёмов, может быть отрицательная&lt;br /&gt;&amp;quot;% изменения от закрытия&amp;quot;&lt;br /&gt;Вход. чист. поз.&lt;br /&gt;&lt;br /&gt;Разница цены последней к оценке предыдущей сессиии&lt;br /&gt;Разница цены последней к предыдущей сессиии&lt;br /&gt;и т.д. &lt;br /&gt;&lt;br /&gt;Половина парметров, которыми я пользуюсь из КВИК, могут быть отрицательными&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;И? Мы и используем decimal поэтому.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/22297/</id>
    <title type="text">А ведь ни цены, ни объём не могут быть отрицательными. Почему бы не использовать для цен тот же самы...</title>
    <published>2012-11-06T20:56:37Z</published>
    <updated>2012-11-06T21:19:06Z</updated>
    <author>
      <name>Геннадий Ванин (Gennady Vanin)</name>
      <uri>https://stocksharp.com/users/6413/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Alexander Mukhanchikov &lt;a href="https://stocksharp.com/posts/m/6685/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;А ведь ни цены, ни объём не могут быть отрицательными.&lt;br /&gt;Почему бы не использовать для цен тот же самый Decimal, а для объёмов ulong?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Зато их разница - может&lt;br /&gt;Текущая чистая позиция  - разница объёмов, может быть отрицательная&lt;br /&gt;&amp;quot;% изменения от закрытия&amp;quot;&lt;br /&gt;Вход. чист. поз.&lt;br /&gt;&lt;br /&gt;Разница цены последней к оценке предыдущей сессиии&lt;br /&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/7825/</id>
    <title type="text">И при чем тут деление? Не понимаю :) Подозреваю, что кусов кода и текст ошибки не связаны между собо...</title>
    <published>2011-05-02T13:27:21Z</published>
    <updated>2011-05-02T13:27:21Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.com/users/6182/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/7818/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7815/" 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;Подозреваю, что кусов кода и текст ошибки не связаны между собой.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Я тоже это подозреваю.&lt;br /&gt;Потому что программа просто заканчивается.&lt;br /&gt;Никаких привычных исключений в дебагере не появляется.&lt;br /&gt;&lt;br /&gt;Исключение, которое я написал, появляется в Output окне.&lt;br /&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/7818/</id>
    <title type="text">И при чем тут деление? Не понимаю :) Подозреваю, что кусов кода и текст ошибки не связаны между собо...</title>
    <published>2011-05-02T09:22:35Z</published>
    <updated>2011-05-02T09:22:35Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7815/" 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/7815/</id>
    <title type="text">Михаил, может сталкивались со следующим? При выполнении участка кода: ring _query = &amp;quot;SELECT HistoryI...</title>
    <published>2011-05-02T08:32:14Z</published>
    <updated>2011-05-02T08:43:24Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.com/users/6182/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Михаил, может сталкивались со следующим? &lt;br /&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;br /&gt;ring _query = &amp;quot;SELECT HistoryId, Money, Paper FROM {0} WHERE Date = (SELECT MAX(DATE) FROM {0} )&amp;quot;;&lt;br /&gt;_query = String.Format(_query, sqlTableName);&lt;br /&gt; SqlCommand _sqlCommand = new SqlCommand(_query, _sqlConn);&lt;br /&gt;&lt;br /&gt;using (SqlDataReader _dataReader = _sqlCommand.ExecuteReader())                    &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;while (_dataReader.Read())&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;HistoryId = _dataReader.GetInt64(0);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;Money = _dataReader.GetDecimal(1);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;Paper = _dataReader.GetInt32(2);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&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;br /&gt;A first chance exception of type &amp;#39;System.DivideByZeroException&amp;#39; occurred in mscorlib.dll&lt;br /&gt;System.Transactions Critical: 0 : &amp;lt;TraceRecord xmlns=&amp;quot;http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord&amp;quot; Severity=&amp;quot;Critical&amp;quot;&amp;gt;&amp;lt;TraceIdentifier&amp;gt;http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled&amp;lt;/TraceIdentifier&amp;gt;&amp;lt;Description&amp;gt;Unhandled exception&amp;lt;/Description&amp;gt;&amp;lt;AppDomain&amp;gt;Mts.vshost.exe&amp;lt;/AppDomain&amp;gt;&amp;lt;Exception&amp;gt;&amp;lt;ExceptionType&amp;gt;System.DivideByZeroException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;lt;/ExceptionType&amp;gt;&amp;lt;Message&amp;gt;Attempted to divide by zero.&amp;lt;/Message&amp;gt;&amp;lt;StackTrace&amp;gt;   at System.Decimal.FCallDivide(Decimal&amp;amp;amp;amp; d1, Decimal&amp;amp;amp;amp; d2)&lt;br /&gt;   at System.Decimal.op_Division(Decimal d1, Decimal d2)&lt;br /&gt;   at Goricap.Mts.BuySell.&amp;amp;amp;lt;initProfitTimer&amp;amp;amp;gt;b__c(Object data) in G:\C\Development\MTS_Decimal\Programm\BuySellClass.cs:line 333&lt;br /&gt;   at System.Threading._TimerCallback.TimerCallback_Context(Object state)&lt;br /&gt;   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)&lt;br /&gt;   at System.Threading._TimerCallback.PerformTimerCallback(Object state)&amp;lt;/StackTrace&amp;gt;&amp;lt;ExceptionString&amp;gt;System.DivideByZeroException: Attempted to divide by zero.&lt;br /&gt;   at System.Decimal.FCallDivide(Decimal&amp;amp;amp;amp; d1, Decimal&amp;amp;amp;amp; d2)&lt;br /&gt;   at System.Decimal.op_Division(Decimal d1, Decimal d2)&lt;br /&gt;   at Goricap.Mts.BuySell.&amp;amp;amp;lt;initProfitTimer&amp;amp;amp;gt;b__c(Object data) in G:\C\Development\MTS_Decimal\Programm\BuySellClass.cs:line 333&lt;br /&gt;   at System.Threading._TimerCallback.TimerCallback_Context(Object state)&lt;br /&gt;   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)&lt;br /&gt;   at System.Threading._TimerCallback.PerformTimerCallback(Object state)&amp;lt;/ExceptionString&amp;gt;&amp;lt;/Exception&amp;gt;&amp;lt;/TraceRecord&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Исключения появляется при исполнении &lt;br /&gt;using (SqlDataReader _dataReader = _sqlCommand.ExecuteReader()) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Раньше было Double, все работало. Ошибка появилась после перехода на Decimal.&lt;br /&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/7808/</id>
    <title type="text"> Если говорить о тех анализе, я его вообще считаю профанацией. А это, мне кажется, надо сделать слог...</title>
    <published>2011-05-01T15:54:29Z</published>
    <updated>2011-05-01T15:54:29Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7806/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/7804/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Если говорить о тех анализе, я его вообще считаю профанацией.[laugh]&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;А это, мне кажется, надо сделать слоганом S# :)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Это мое личное мнение. А так, на S# чего только не делалось (не мной). В том числе и тех анализ.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7807/</id>
    <title type="text"> Так сделано сейчас в HistoryEmulationTrader. Вы еще что-то на части разбиваете? Для бектестинга не ...</title>
    <published>2011-05-01T15:53:33Z</published>
    <updated>2011-05-01T15:53:33Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7805/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/7804/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Так сделано сейчас в HistoryEmulationTrader. Вы еще что-то на части разбиваете?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Для бектестинга не использую S#.  Все свое :)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Значит нужно сделать переход на S# и решить проблему с потреблением памяти.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7806/</id>
    <title type="text"> Если говорить о тех анализе, я его вообще считаю профанацией. А это, мне кажется, надо сделать слог...</title>
    <published>2011-05-01T15:30:07Z</published>
    <updated>2011-05-01T15:30:07Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.com/users/6182/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/7804/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Если говорить о тех анализе, я его вообще считаю профанацией.[laugh]&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;А это, мне кажется, надо сделать слоганом S# :)&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7805/</id>
    <title type="text"> Так сделано сейчас в HistoryEmulationTrader. Вы еще что-то на части разбиваете? Для бектестинга не ...</title>
    <published>2011-05-01T15:25:48Z</published>
    <updated>2011-05-01T15:27:53Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.com/users/6182/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/7804/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Так сделано сейчас в HistoryEmulationTrader. Вы еще что-то на части разбиваете?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Для бектестинга не использую S#.  Все свое :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.com/posts/m/7804/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;А вы пробовали в конце сессии писать результирующие данные, чтобы на следующий день не делать пересчет для 6 гигов тиков?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Это надо сделать самый первый раз при запуске одной стратегии.&lt;br /&gt;Потом эти данные считаются и записываются онлайн. И стока памяти не надо.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7803/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Давайте разбираться с конкретикой. На какой версии пробовали, сколько занимало, какой период выбирали, сколько тестировалось стратегий и инструментов.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Я не использую S# для бектестинга )&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7803/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Вам то удалось самому найти такой алго?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Торговый робот работает с нового года.&lt;br /&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/7804/</id>
    <title type="text">Все верно пишите. Только как раз не хотелось заниматься разбитием процесса на части (загрузки и выгр...</title>
    <published>2011-05-01T14:11:26Z</published>
    <updated>2011-05-01T14:11:26Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7803/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Все верно пишите.&lt;br /&gt;Только как раз не хотелось заниматься разбитием процесса на части (загрузки и выгрузки частями).&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Так сделано сейчас в HistoryEmulationTrader. Вы еще что-то на части разбиваете?&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7803/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Если касательно торгового робота (где я использую S#), то 5.6 гигов необходимо один раз, при первом старте стратегии, что бы просчитать все данные которые, были с начала истории по текущий момент.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;А вы пробовали в конце сессии писать результирующие данные, чтобы на следующий день не делать пересчет для 6 гигов тиков?&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7803/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Если касательно бэктестинга, то там я S# не использую. Но там много памяти надо постоянно :)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Давайте разбираться с конкретикой. На какой версии пробовали, сколько занимало, какой период выбирали, сколько тестировалось стратегий и инструментов.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7803/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Считаю, что если алгоритм с небольшим количеством параметров (у меня ~7) дает хорошие результаты на 10 годах истории, то с большой вероятностью он будет хорошим и в ближайшие пол года. То есть подгонка в некоторых случаях имеет право на жизнь.&lt;br /&gt;Вы не согласны?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Если говорить о тех анализе, я его вообще считаю профанацией.[laugh] А если ближе к деталям, то у нас рынок меняется каждые 2 года и кризисы каждые 5 лет[smile] . С этими факторами российского стиля жизни сложно найти инструменту, который бы был стабилет на стратегии в течении 10 лет. Так что да, я не верю, что алго даст профит хотя бы на ближайшие пол года. Я думаю это плохое тестирование, которые в реальности не показало бы на прошедших 10 годах тот показатель, что был получен на истории.&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/7803/</id>
    <title type="text">Все верно пишите. Только как раз не хотелось заниматься разбитием процесса на части (загрузки и выгр...</title>
    <published>2011-05-01T13:58:39Z</published>
    <updated>2011-05-01T13:58:39Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.com/users/6182/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Все верно пишите.&lt;br /&gt;Только как раз не хотелось заниматься разбитием процесса на части (загрузки и выгрузки частями).&lt;br /&gt;&lt;br /&gt;Если касательно торгового робота (где я использую S#), то 5.6 гигов необходимо один раз, при первом старте стратегии, что бы просчитать все данные которые, были с начала истории по текущий момент.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Если касательно бэктестинга, то там я S# не использую. Но там много памяти надо постоянно :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Считаю, что если алгоритм с небольшим количеством параметров (у меня ~7) дает хорошие результаты на 10 годах истории, то с большой вероятностью он будет хорошим и в ближайшие пол года. То есть подгонка в некоторых случаях имеет право на жизнь.&lt;br /&gt;Вы не согласны?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7800/</id>
    <title type="text">Перевел на decimal. Потребление ОЗУ увеличилось с 5.6Гб до 6.6Гб. Пока что влажу в лимит. Все правил...</title>
    <published>2011-05-01T13:33:11Z</published>
    <updated>2011-05-01T13:33:11Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7793/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Перевел на decimal.&lt;br /&gt;Потребление ОЗУ увеличилось с 5.6Гб до 6.6Гб.&lt;br /&gt;Пока что влажу в лимит.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Все правильно, размер Trade увеличился на 1.18. Меня пугает размер 5.6. Это получается что-то порядка 136 282 616 тиков. Уверены, что такой сайз нужен в памяти? Больше выделение объемов памяти плохо сказывается на производительности GC. Плюс не совсем понятно, зачем такой объем держать. Чтобы оптимизировать стратегию необходимо небольшой участок данных. Далее, найденные значения применяются ко всему периоду, который подгружается частями и выгружается. Держать больший период в памяти имеет смысл, если на нем идет частая проверка данных. Если это как раз оптимизация - то это уже плохо с точки зрения поиска на истории, так как идет подгонка параметров.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7798/</id>
    <title type="text">Алгоритм приблизительно такой: пробегаем по всем историческим данным и находим несколько производных...</title>
    <published>2011-05-01T08:16:14Z</published>
    <updated>2011-05-01T08:16:14Z</updated>
    <author>
      <name>anothar</name>
      <uri>https://stocksharp.com/users/6089/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7797/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Алгоритм приблизительно такой:&lt;br /&gt;пробегаем по всем историческим данным и находим несколько производных значений от цены и объема, например, для каждой секунды.&lt;br /&gt;Конечно, можно сделать разбиение на части и уложится даже в 10Мб.&lt;br /&gt;&lt;br /&gt;Но зачем усложнять жизнь, если все можно одним куском в память запихнуть?&lt;br /&gt;&lt;br /&gt;В случаи не бектестинга, а робота, это надо сделать только один раз.&lt;br /&gt;Просчитать все данные. После этого прога работает в 32 битном режиме и 7 гиов&lt;br /&gt;ей не надо.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Если у Вас несколько таких роботов будет, то сколько памяти потребуется? И нет тут никакого особого усложнения жизни - сделаете еще одного робота, и придется все равно ее себе &amp;quot;усложнять&amp;quot;. И дело не в double-decimal, а в проектировании программы: если так делать, то Вам вскорости никакой памяти не хватит.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7797/</id>
    <title type="text">Алгоритм приблизительно такой: пробегаем по всем историческим данным и находим несколько производных...</title>
    <published>2011-05-01T05:49:03Z</published>
    <updated>2011-05-01T05:49:03Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.com/users/6182/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Алгоритм приблизительно такой:&lt;br /&gt;пробегаем по всем историческим данным и находим несколько производных значений от цены и объема, например, для каждой секунды.&lt;br /&gt;Конечно, можно сделать разбиение на части и уложится даже в 10Мб.&lt;br /&gt;&lt;br /&gt;Но зачем усложнять жизнь, если все можно одним куском в память запихнуть?&lt;br /&gt;&lt;br /&gt;В случаи не бектестинга, а робота, это надо сделать только один раз.&lt;br /&gt;Просчитать все данные. После этого прога работает в 32 битном режиме и 7 гиов&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/7794/</id>
    <title type="text">Данные для тестирования беру из SQL. Наверно, для понимания моей ситуации стоит отметить, перед перв...</title>
    <published>2011-04-30T16:18:07Z</published>
    <updated>2011-04-30T16:18:07Z</updated>
    <author>
      <name>anothar</name>
      <uri>https://stocksharp.com/users/6089/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7788/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Данные для тестирования беру из SQL.&lt;br /&gt;Наверно, для понимания моей ситуации стоит отметить, перед первым&lt;br /&gt;запуском одной стратегии мне необходимо обсчитать все вспомогательные данные&lt;br /&gt;за всю историю. При следующих запусках этого не нужно делать.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;B для этого Вам нужно забивать 7 гигов памяти? А не проще ли сохранять значения в sql или подгружать данные не все разом а постепенно пакетно? А вообще мне очень интересно как Вы умудряетесь забить 5-7 гигов памяти, ведь наверняка активно пользуете намного меньше.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7793/</id>
    <title type="text">Перевел на decimal. Потребление ОЗУ увеличилось с 5.6Гб до 6.6Гб. Пока что влажу в лимит. Эх, все же...</title>
    <published>2011-04-30T15:33:11Z</published>
    <updated>2011-04-30T15:33:11Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.com/users/6182/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Перевел на decimal.&lt;br /&gt;Потребление ОЗУ увеличилось с 5.6Гб до 6.6Гб.&lt;br /&gt;Пока что влажу в лимит.&lt;br /&gt;&lt;br /&gt;Эх, все же придется задуматься об оптимизации алгоритмов.&lt;br /&gt; &lt;br /&gt;Также замечу, что некоторые методы Math и DateTime не принимают Decimal.&lt;br /&gt;Лишнее преобразование в Double :)&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/7789/</id>
    <title type="text">Вот кстати сегодня тоже обнаружил что мой робот кушает 470мб оперативки. Это работа с 4мя квиками (г...</title>
    <published>2011-04-29T20:29:21Z</published>
    <updated>2011-04-29T20:29:21Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Вот кстати сегодня тоже обнаружил что мой робот кушает 470мб оперативки.&lt;br /&gt;Это работа с 4мя квиками (где берутся ленты и стаканы из каждого квика), и по 3 стратегии на каждом квике.&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/7788/</id>
    <title type="text">Данные для тестирования беру из SQL. Результаты тестирования сохраняю в SQL. SQL кушает порядка гига...</title>
    <published>2011-04-29T19:18:01Z</published>
    <updated>2011-04-29T19:18:01Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.com/users/6182/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Данные для тестирования беру из SQL.&lt;br /&gt;Результаты тестирования сохраняю в SQL.&lt;br /&gt;SQL кушает порядка  гигабайта.&lt;br /&gt;&lt;br /&gt;Насчет того, насколько увеличилось потребление памяти &lt;br /&gt;при переходе на decimal сейчас сказать не могу. Все еще &lt;br /&gt;в процессе переделывания на новый лад. Как сделаю, напишу.&lt;br /&gt;Перенос всей программы на decimal то еще увлекательное мероприятие :)&lt;br /&gt;&lt;br /&gt;Но чисто теоретически, double занимает 8байт, decimal 16 байт.&lt;br /&gt;71млн значений цены для сбера занимали ~500Мб, теперь должны занимать ~1000Мб.&lt;br /&gt;Производных данных от цены меньше, но надо будет посмотреть сколько это все вместе&lt;br /&gt;будет теперь занимать.&lt;br /&gt;&lt;br /&gt;Наверно, для понимания моей ситуации стоит отметить, перед первым&lt;br /&gt;запуском одной стратегии мне необходимо обсчитать все вспомогательные данные&lt;br /&gt;за всю историю. При следующих запусках этого не нужно делать.&lt;br /&gt;&lt;br /&gt;Пока все это писал, понял, что Вы скорей всего не поймете &lt;br /&gt;моей ситуации, так как для этого надо более детально описывать&lt;br /&gt;структуру моего торгового робота.&lt;br /&gt;&lt;br /&gt;Проехали :)&lt;br /&gt;&lt;br /&gt;Основная мысль, что переход на decimal для меня тот еще геморой.&lt;br /&gt;А с другой стороны все устраивало на double.&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/7787/</id>
    <title type="text">Поздно конечно пить боржомии... Напишу основной минус, который вижу для себя. Размер необходимой пам...</title>
    <published>2011-04-29T18:50:48Z</published>
    <updated>2011-04-29T18:50:48Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.com/posts/m/7784/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Поздно конечно пить боржомии...&lt;br /&gt;Напишу основной минус, который вижу для себя.&lt;br /&gt;Размер необходимой памяти  для дабл в два раз больше.&lt;br /&gt;И для хранения в SQL и для ОЗУ.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;При тестировании на истории Sql не используется. Насчет занимаемой памяти я так и не понял, возросло с переходом на decimal или не возросло.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/7784/</id>
    <title type="text">Поздно конечно пить боржомии... Напишу основной минус, который вижу для себя. Размер необходимой пам...</title>
    <published>2011-04-29T14:45:27Z</published>
    <updated>2011-04-29T14:45:27Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.com/users/6182/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Поздно конечно пить боржомии...&lt;br /&gt;Напишу основной минус, который вижу для себя.&lt;br /&gt;Размер необходимой памяти  для дабл в два раз больше.&lt;br /&gt;И для хранения в SQL и для ОЗУ.&lt;br /&gt;&lt;br /&gt;Если с SQL не так все критично, можно докупить диски,&lt;br /&gt;то с памятью конечно больше неприятностей.&lt;br /&gt;&lt;br /&gt;На текущий момент бэктестинг еле влезает в 8Гб ОЗУ.&lt;br /&gt;Больше ОЗУ добавить низя. Нужен новый сервер.&lt;br /&gt;Правда там же крутится SQL.&lt;br /&gt;&lt;br /&gt;Крайне неохото разбивать процесс на этапы, что бы &lt;br /&gt;оставаться на том же железе. Пока еще не перевел &lt;br /&gt;все на decimal. Очень надеюсь, что все влезет.&lt;br /&gt;&lt;br /&gt;Вначале пути тоже выбирал double или decimal.&lt;br /&gt;Выбрал double исключительно из-за ОЗУ.&lt;br /&gt;&lt;br /&gt;Это все так... Лирика.&lt;br /&gt;Больше некому поплакаться, не поймут. [rolleyes] </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>