﻿<?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">Индикатор - рефакторинг</title>
  <id>~/topic/1669/indikator---refaktoring/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-07T02:26:47Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=1669" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/8971/</id>
    <title type="text">Добрый день, коллеги. Завтра ухожу в отпуск. Не смогу сделать рефакторинг. Надеюсь то что я написал ...</title>
    <published>2011-06-16T11:29:59Z</published>
    <updated>2016-08-15T23:59:59Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день, коллеги.&lt;/p&gt;
&lt;p&gt;Завтра ухожу в отпуск. Не смогу сделать рефакторинг.
Надеюсь то что я написал не очень будет трудно кому нибудь переделывать.&lt;/p&gt;
&lt;p&gt;Небольшой отчет.
Сделал 12 индикаторов:
Peak, PeakBar, QStick, TRIX, Trough, TroughBar, UltimateOsc, VHF, Vidya, VMA, Volatility, WilliamsR&lt;/p&gt;
&lt;p&gt;Тесты проходят следующие индикаторы:
QStick, UltimateOsc, VHF, VMA, WilliamsR&lt;/p&gt;
&lt;p&gt;По следующим индикаторам нет тестов, потому что нет данных на чем их тестить:
PeakBar, TroughBar, Vidya&lt;/p&gt;
&lt;p&gt;По индикаторам Peak и Trough я писал раньше. Вопрос все еще открыт.
&lt;a href="http://stocksharp.com/posts/m/8891/"&gt;http://stocksharp.com/posts/m/8891/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Индикатор Volatility:
у нас и у Ами разное понимание, когда начинать рассчитывать индикатор.
Для иллюстрации прикладываю сводную таблицу, в которой показывается, что в Ами
расчет индикатора начинается позже. Подозреваю, что у нас верный подход, а в Ами нет.&lt;/p&gt;
&lt;p&gt;Индикатор TRIX.
Аналогично, в Ами начинают расчет не тогда, когда в моем индикаторе.
Либо я ошибаюсь в понимании реализации, либо в Ами.
В этом индикаторе используется тройная скользящая средняя:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  
 public void Add(decimal newValue)
{
	ema1.Add(newValue);

	if (ema1.IsFormed == true)
	{
		ema2.Add(ema1.Value);

		if (ema2.IsFormed == true)
		{
			ema3.Add(ema2.Value);

			if (ema3.IsFormed == true)
			{
				roc.Add(ema3.Value);

				if (roc.IsFormed == true)
				{
					Value = roc.Value;
					RaiseChangedEvent();
				}                    
			}        
		}       
	}        
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;В Ами этот индиктор начинают рассчитывать начиная с 21 значения (при параметре 20).
Тогда как в вышеописанной реализации индикатор начинает рассчитываться с 78 значения.
Опять же, считаю, что у меня верно. Но нужен взгляд со стороны на этот вопрос.&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/9435/</id>
    <title type="text">Цвет линии это все таки больше ко вью относится в терминах mvc, поэтому логично, что в самом индикат...</title>
    <published>2011-07-11T13:36:30Z</published>
    <updated>2011-07-11T13:36:30Z</updated>
    <author>
      <name>Евгений</name>
      <uri>https://stocksharp.ru/users/6070/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Цвет линии это все таки больше ко вью относится в терминах mvc, поэтому логично, что в самом индикаторе, который выступает в качестве модели, цвета быть не должно.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&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/9434/</id>
    <title type="text">Mikhail Sukhov: sergey.masyura: Я, кстати, сейчас занимаюсь рисованием индюков.. Графики зачетные, э...</title>
    <published>2011-07-11T13:30:07Z</published>
    <updated>2011-07-11T13:30:07Z</updated>
    <author>
      <name>Евгений</name>
      <uri>https://stocksharp.ru/users/6070/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9415)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9414)" rel="nofollow" target="_blank"&gt;sergey.masyura&lt;/a&gt;:&lt;/strong&gt;
Я, кстати, сейчас занимаюсь рисованием индюков..&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&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/9415/</id>
    <title type="text">sergey.masyura: Я, кстати, сейчас занимаюсь рисованием индюков.. </title>
    <published>2011-07-10T20:09:46Z</published>
    <updated>2011-07-10T20:09:46Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9414)" rel="nofollow" target="_blank"&gt;sergey.masyura&lt;/a&gt;:&lt;/strong&gt;
Я, кстати, сейчас занимаюсь рисованием индюков..&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/9414/</id>
    <title type="text">Евгений: Mikhail Sukhov: Евгений: Базовые может выделить в папку? А остальные пусть в куче, по алфав...</title>
    <published>2011-07-10T19:13:50Z</published>
    <updated>2011-07-10T19:13:50Z</updated>
    <author>
      <name>Sergey Masyura</name>
      <uri>https://stocksharp.ru/users/701/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9407)" rel="nofollow" target="_blank"&gt;Евгений&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9262)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9251)" rel="nofollow" target="_blank"&gt;Евгений&lt;/a&gt;:&lt;/strong&gt;
Базовые может выделить в папку? А остальные пусть в куче, по алфавитке искать конечно проще...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Я хочу переменную IIndicator создать в классе. Как мне догадаться, что нужен другой namespace?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Да, наверное, никак, кроме по документации только что. Но в любом случае ориентация идет на специалистов по рынку, поэтому по категориям все-таки надо разнести.&lt;/p&gt;
&lt;p&gt;У меня возникли следующие вопросы:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Можно добавить папку  BillWilliams, куда поместить соответствующие индикаторы&lt;/li&gt;
&lt;li&gt;Как предложение всем разработчикам: сделать конструкторы с параметрами по умолчанию для тех индикаторов, где это необходимо (период, может быть цвет линии на будущее и др.)&lt;/li&gt;
&lt;li&gt;Не могу разобраться как реализовать запаздывание для линии Chinkou Span (&lt;a href="http://www.dealingcity.ru/content/enc/enc.php?ID=24806" rel="nofollow" target="_blank"&gt;http://www.dealingcity.ru/content/enc/enc.php?ID=24806&lt;/a&gt;).
Эта линия строиться по цене закрытия, смещенной на M периодов назад. Как предложение, может для индикатора нужно не только Value, но и время свечи.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Если есть хотя бы несколько индикаторов williams, то вполне можно вынести.&lt;/li&gt;
&lt;li&gt;Цвет линии это все таки больше ко вью относится в терминах mvc, поэтому логично, что в самом индикаторе, который выступает в качестве модели, цвета быть не должно. Я, кстати, сейчас занимаюсь рисованием индюков..&lt;/li&gt;
&lt;li&gt;Да, у нас уже были по поводу добавления времени, но однозначно на данный момент их сложно сформулировать.&lt;/li&gt;
&lt;/ol&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9407/</id>
    <title type="text">Mikhail Sukhov: Евгений: Базовые может выделить в папку? А остальные пусть в куче, по алфавитке иска...</title>
    <published>2011-07-10T15:42:37Z</published>
    <updated>2011-07-10T15:43:43Z</updated>
    <author>
      <name>Евгений</name>
      <uri>https://stocksharp.ru/users/6070/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9262)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9251)" rel="nofollow" target="_blank"&gt;Евгений&lt;/a&gt;:&lt;/strong&gt;
Базовые может выделить в папку? А остальные пусть в куче, по алфавитке искать конечно проще...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Я хочу переменную IIndicator создать в классе. Как мне догадаться, что нужен другой namespace?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Да, наверное, никак, кроме по документации только что. Но в любом случае ориентация идет на специалистов по рынку, поэтому по категориям все-таки надо разнести.&lt;/p&gt;
&lt;p&gt;У меня возникли следующие вопросы:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Можно добавить папку  BillWilliams, куда поместить соответствующие индикаторы&lt;/li&gt;
&lt;li&gt;Как предложение всем разработчикам: сделать конструкторы с параметрами по умолчанию для тех индикаторов, где это необходимо (период, может быть цвет линии на будущее и др.)&lt;/li&gt;
&lt;li&gt;Не могу разобраться как реализовать запаздывание для линии Chinkou Span (&lt;a href="http://www.dealingcity.ru/content/enc/enc.php?ID=24806" rel="nofollow" target="_blank"&gt;http://www.dealingcity.ru/content/enc/enc.php?ID=24806&lt;/a&gt;).
Эта линия строиться по цене закрытия, смещенной на M периодов назад. Как предложение, может для индикатора нужно не только Value, но и время свечи.&lt;/li&gt;
&lt;/ol&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9307/</id>
    <title type="text">Михаил, считаете нужно продолжать разносить индикаторы по категориям-нэймспейсам? Добил последний св...</title>
    <published>2011-07-05T17:06:27Z</published>
    <updated>2011-07-05T17:06:27Z</updated>
    <author>
      <name>artemox</name>
      <uri>https://stocksharp.ru/users/490/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Михаил, считаете нужно продолжать разносить индикаторы по категориям-нэймспейсам?&lt;/p&gt;
&lt;p&gt;Добил последний свой индикатор DPO, но сейчас он в Misc.
Что дальше с ним делать?&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/9262/</id>
    <title type="text">Евгений: Базовые может выделить в папку? А остальные пусть в куче, по алфавитке искать конечно проще...</title>
    <published>2011-07-01T15:36:38Z</published>
    <updated>2011-07-01T15:36:38Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9251)" rel="nofollow" target="_blank"&gt;Евгений&lt;/a&gt;:&lt;/strong&gt;
Базовые может выделить в папку? А остальные пусть в куче, по алфавитке искать конечно проще...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Я хочу переменную IIndicator создать в классе. Как мне догадаться, что нужен другой namespace?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9251/</id>
    <title type="text">sergey.masyura: artemox: Поддержу InsiderHSE, тоже возникали подобные мысли. Например чтобы перенест...</title>
    <published>2011-07-01T13:41:27Z</published>
    <updated>2011-07-01T13:41:27Z</updated>
    <author>
      <name>Евгений</name>
      <uri>https://stocksharp.ru/users/6070/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9244)" rel="nofollow" target="_blank"&gt;sergey.masyura&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9229)" rel="nofollow" target="_blank"&gt;artemox&lt;/a&gt;:&lt;/strong&gt;
Поддержу InsiderHSE, тоже возникали подобные мысли.&lt;/p&gt;
&lt;p&gt;Например чтобы перенести свои индикаторы в осциляторы пришлось нагуглить их принадлежность.
И даже если у разработчика будет хелп с классификацией индикаторов, прозрачности такая разбивка не добавляет.&lt;/p&gt;
&lt;p&gt;ПС.
Жара не идет проекту на пользу :)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Согласен. Думаю стоит свалить все в кучу - смотрится гармоничнее. Только не очень хорошо все это смотрится вперемешку с базовыми классами.&lt;/p&gt;
&lt;/blockquote&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/9244/</id>
    <title type="text">artemox: Поддержу InsiderHSE, тоже возникали подобные мысли. Например чтобы перенести свои индикатор...</title>
    <published>2011-07-01T08:01:48Z</published>
    <updated>2011-07-01T08:01:48Z</updated>
    <author>
      <name>Sergey Masyura</name>
      <uri>https://stocksharp.ru/users/701/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9229)" rel="nofollow" target="_blank"&gt;artemox&lt;/a&gt;:&lt;/strong&gt;
Поддержу InsiderHSE, тоже возникали подобные мысли.&lt;/p&gt;
&lt;p&gt;Например чтобы перенести свои индикаторы в осциляторы пришлось нагуглить их принадлежность.
И даже если у разработчика будет хелп с классификацией индикаторов, прозрачности такая разбивка не добавляет.&lt;/p&gt;
&lt;p&gt;ПС.
Жара не идет проекту на пользу :)&lt;/p&gt;
&lt;/blockquote&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/9229/</id>
    <title type="text">Поддержу InsiderHSE, тоже возникали подобные мысли. Например чтобы перенести свои индикаторы в осцил...</title>
    <published>2011-06-30T18:29:06Z</published>
    <updated>2011-06-30T18:29:06Z</updated>
    <author>
      <name>artemox</name>
      <uri>https://stocksharp.ru/users/490/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Поддержу InsiderHSE, тоже возникали подобные мысли.&lt;/p&gt;
&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/9219/</id>
    <title type="text">Mikhail Sukhov: Сделал IndicatorManager - автоматически из источника данных (я думаю, популярное это...</title>
    <published>2011-06-30T10:08:57Z</published>
    <updated>2011-06-30T10:08:57Z</updated>
    <author>
      <name>InsiderHSE</name>
      <uri>https://stocksharp.ru/users/6099/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9166)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;
Сделал IndicatorManager - автоматически из источника данных (я думаю, популярное это менеджер свечек) формирует данными новые значения для индюков.&lt;/p&gt;
&lt;p&gt;Просьба к авторам индюков. Расскидайте по папкам свои классы. Чтобы все были сгруппированы по типам индикаторов.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;На мой взгляд, разбивать индикаторы по типам не нужно. От этого минусов больше, чем плюсов. Например, LinearRegressionSlope относится к трендовым, так как показывает наклон, а StandardError вроде как к волатильности, но специфической, тесно связан с LinearRegressionSlope и разработчик/пользователь по всей вероятности будет ожидать увидеть их в одной папке. Кроме того, индикатор RSquared, хотя формально можно отнести к волатильности, но используется в основном для оценки качества регресии, поэтому такая его классификация неочевидна.
Более того, когда разработчик хочет использовать какой-либо индикатор, он обычно знает его название, и найти его в общей папке труда не составит. Но если папок несколько, то ему придется еще думать, к какому типу индикатор относится. Учитывая, что однозначной классификации быть не может, это уже нетривиальная задача =).&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9166/</id>
    <title type="text">Сделал IndicatorManager - автоматически из источника данных (я думаю, популярное это менеджер свечек...</title>
    <published>2011-06-27T13:59:13Z</published>
    <updated>2011-06-27T13:59:13Z</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;Сделал IndicatorManager - автоматически из источника данных (я думаю, популярное это менеджер свечек) формирует данными новые значения для индюков.&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/9097/</id>
    <title type="text">artemox: Кстати теперь можно использовать TestRunner вот так: [TestMethod] public void Momentum() { ...</title>
    <published>2011-06-22T20:50:46Z</published>
    <updated>2011-06-22T20:50:46Z</updated>
    <author>
      <name>InsiderHSE</name>
      <uri>https://stocksharp.ru/users/6099/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9082)" rel="nofollow" target="_blank"&gt;artemox&lt;/a&gt;:&lt;/strong&gt;
Кстати теперь можно использовать TestRunner вот так:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;    [TestMethod]
    public void Momentum()
    {
        TestRunner.ByClosePrice(new Momentum(20));
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;При этом само определяется имя тестового файла (файл должен совпадать с наименованием класса индикатора)
Погрешность по умолчанию 0.000001m.
Все можно задавать индивидуально в параметрах вызова.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Проверка Assert.IsTrue(Math.Max(indicator.Value, item.Value) / Math.Min(indicator.Value, item.Value) - 1 &amp;lt; epsilon)
работает только в области положительных значений. Если, например, реальное значение индикатора равно -1, а получилось -2, то такая ситуация пройдет тест. Исправил на Assert.IsTrue(Math.Abs(indicator.Value / item.Value - 1) &amp;lt; epsilon).&lt;/p&gt;
&lt;p&gt;Также в случае ошибки деления на ноль, необходимо также удостовериться, что рассчитанное значение индикатора не отличается от нуля больше чем на эпсилон. Assert.IsTrue(Math.Abs(indicator.Value) &amp;lt; epsilon)&lt;/p&gt;
&lt;p&gt;Также добавил возможность выбора, какой именно item.Value из файла нужно брать, и вывел разделитель как параметр.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9082/</id>
    <title type="text">Кстати теперь можно использовать TestRunner вот так: [TestMethod] public void Momentum() { TestRunne...</title>
    <published>2011-06-22T17:08:03Z</published>
    <updated>2011-06-22T17:08:03Z</updated>
    <author>
      <name>artemox</name>
      <uri>https://stocksharp.ru/users/490/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Кстати теперь можно использовать TestRunner вот так:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;    [TestMethod]
    public void Momentum()
    {
        TestRunner.ByClosePrice(new Momentum(20));
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;При этом само определяется имя тестового файла (файл должен совпадать с наименованием класса индикатора)
Погрешность по умолчанию 0.000001m.
Все можно задавать индивидуально в параметрах вызова.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9079/</id>
    <title type="text">Mikhail Sukhov: esper: Да в общем то ничем, разве что у всех индикаторов будет одинаковый интерфейс ...</title>
    <published>2011-06-22T16:43:27Z</published>
    <updated>2011-06-22T16:43:27Z</updated>
    <author>
      <name>artemox</name>
      <uri>https://stocksharp.ru/users/490/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9063)" rel="nofollow" target="_blank"&gt;Mikhail Sukhov&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9061)" rel="nofollow" target="_blank"&gt;esper&lt;/a&gt;:&lt;/strong&gt;
Да в общем то ничем, разве что у всех индикаторов будет одинаковый интерфейс&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Он и так будет. Values никто прятать не будет. Другой вопрос, что все равно нужно ввозидить для каждого идюка свой enum. Так а зачем его вводить, если мы используем ООП? Вот он класс, вот оно свойство.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Свойства нужны в любом случае (для индивидуального использования индикатора в стратегии)
И Values нужны (для визуализатора)
Считаю что для Values необходим какой-то механизм идентификации сути каждого элемента.
В том же визуализаторе кроме самих линий хорошо бы знать их наименования. Как бы сделать это красиво и универсально?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9078/</id>
    <title type="text">sergey.masyura: Надо еще конфиг для R# указывать. Resharper-&amp;gt;Options-&amp;gt;Settings Manager. Там выбрать ...</title>
    <published>2011-06-22T16:36:31Z</published>
    <updated>2011-06-22T16:36:31Z</updated>
    <author>
      <name>artemox</name>
      <uri>https://stocksharp.ru/users/490/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9043)" rel="nofollow" target="_blank"&gt;sergey.masyura&lt;/a&gt;:&lt;/strong&gt;
Надо еще конфиг для R# указывать. Resharper-&amp;gt;Options-&amp;gt;Settings Manager.
Там выбрать папку где лежит R#.R#Settings и в комбо выбрать его.
Спасибо я думал что персональные сетинги на проект с индивидуальными настройками не влияют,
и все равно в LengthIndicator пожелтела строка 37 с this.Buffer и this.Length&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/9063/</id>
    <title type="text">esper: Да в общем то ничем, разве что у всех индикаторов будет одинаковый интерфейс Он и так будет. ...</title>
    <published>2011-06-22T12:56:43Z</published>
    <updated>2011-06-22T12:56:43Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9061)" rel="nofollow" target="_blank"&gt;esper&lt;/a&gt;:&lt;/strong&gt;
Да в общем то ничем, разве что у всех индикаторов будет одинаковый интерфейс&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Он и так будет. Values никто прятать не будет. Другой вопрос, что все равно нужно ввозидить для каждого идюка свой enum. Так а зачем его вводить, если мы используем ООП? Вот он класс, вот оно свойство.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/9061/</id>
    <title type="text">Mikhail Sukhov;9060: esper;9059: Mikhail Sukhov;9058: esper;9053: По индикаторам у которых несколько...</title>
    <published>2011-06-22T11:43:53Z</published>
    <updated>2011-06-22T11:43:53Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.ru/users/5990/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov;9060:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;esper;9059:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov;9058:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;esper;9053:&lt;/strong&gt;
По индикаторам у которых несколько значений было предложение сделать так:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;artemox:&lt;/strong&gt;
MultiValueIndicator возможно как массив значений.
А обращение к элементам массива через перечисление, объявленное в каждом классе.
Остановимся на нем?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;Насчет массива понял, а вот при чем здесь enum?
Чтобы значения можно было получать так:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;BB bb = new BB();
var bottom = bb.Values[BB.Fields.Bottom];&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; 
&amp;gt; А чем это лучше такого?:
&amp;gt; 
&amp;gt; ```csharp
BB bb = new BB();
var bottom = bb.Bottom;
&lt;/code&gt;&lt;/pre&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/9060/</id>
    <title type="text">esper;9059: Mikhail Sukhov;9058: esper;9053: По индикаторам у которых несколько значений было предло...</title>
    <published>2011-06-22T11:06:23Z</published>
    <updated>2011-06-22T11:06:23Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;esper;9059:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov;9058:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;esper;9053:&lt;/strong&gt;
По индикаторам у которых несколько значений было предложение сделать так:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;artemox:&lt;/strong&gt;
MultiValueIndicator возможно как массив значений.
А обращение к элементам массива через перечисление, объявленное в каждом классе.
Остановимся на нем?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;Насчет массива понял, а вот при чем здесь enum?
Чтобы значения можно было получать так:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;BB bb = new BB();
var bottom = bb.Values[BB.Fields.Bottom];&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
А чем это лучше такого?:

```csharp
BB bb = new BB();
var bottom = bb.Bottom;
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>