﻿<?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/4172/indikator-fraktaly/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-30T06:03:57Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=4172" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/28686/</id>
    <title type="text">Две недели прошло, удалось что-нибудь выяснить? Пока что не удалось. Работаем над этим.</title>
    <published>2013-12-19T15:34:37Z</published>
    <updated>2013-12-19T15:34:37Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.ru/users/26984/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pft_man &lt;a href="https://stocksharp.ru/posts/m/28664/" 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.ru/posts/m/28664/</id>
    <title type="text">Две недели прошло, удалось что-нибудь выяснить?</title>
    <published>2013-12-16T08:02:16Z</published>
    <updated>2013-12-16T08:02:16Z</updated>
    <author>
      <name>pft_man</name>
      <uri>https://stocksharp.ru/users/28735/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Две недели прошло, удалось что-нибудь выяснить?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/28575/</id>
    <title type="text">Иван, что с этим делать-то, возможно поправить? Очень хочется фракталы на графике нарисовать. Разбир...</title>
    <published>2013-12-01T05:49:29Z</published>
    <updated>2013-12-01T05:49:29Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.ru/users/26984/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pft_man &lt;a href="https://stocksharp.ru/posts/m/28572/" 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.ru/posts/m/28572/</id>
    <title type="text">Иван, что с этим делать-то, возможно поправить? Очень хочется фракталы на графике нарисовать.</title>
    <published>2013-11-30T22:04:05Z</published>
    <updated>2013-11-30T22:04:05Z</updated>
    <author>
      <name>pft_man</name>
      <uri>https://stocksharp.ru/users/28735/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Иван, что с этим делать-то, возможно поправить? Очень хочется фракталы на графике нарисовать.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/28471/</id>
    <title type="text">Ok, пытаюсь нарисовать эти фракталы на графике. Сначала попробовал нарисовать их стандартно: Fractal...</title>
    <published>2013-11-27T23:03:10Z</published>
    <updated>2013-11-29T07:46:46Z</updated>
    <author>
      <name>pft_man</name>
      <uri>https://stocksharp.ru/users/28735/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Ok, пытаюсь нарисовать эти фракталы на графике.&lt;br /&gt;&lt;br /&gt;Сначала попробовал нарисовать их стандартно:&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_de2d0a9481ee44fe8f7de6e5d14a7228');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_de2d0a9481ee44fe8f7de6e5d14a7228' style='display:none'&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

Fractals fractals = new Fractals();
chartFractalsElement = new ChartIndicatorElement() { Title = &amp;quot;Fractals&amp;quot;, Color = Colors.Green, Indicator = fractals, DrawStyle = ChartIndicatorDrawStyles.Dot,
                                                     StrokeThickness = 5 };
riCandleChartArea.Elements.Add(chartFractalsElement);

bool final = candle.State == CandleStates.Finished;
IIndicatorValue fractalsValue = fractals.Process(new CandleIndicatorValue(candle) { IsFinal = final });
ChartIndicatorValue chartFractalsValue = new ChartIndicatorValue(fractals, fractalsValue);

if (candle.State == CandleStates.Finished || candle.OpenTime &amp;gt;= candleBounds.Min)
{
    this.GuiAsync(() =&amp;gt; riChartWindow.RiChart.ProcessValues(candle.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt; 
        {     
            { chartFractalsElement, chartFractalsValue } 
        }));
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Но тут метод ProcessValues вызывает Exception о том, что индикатор пустой (точнее не установлено значение индикатора). И правильно, ведь у нас в индикаторе fractals есть Up и Down и один из них (или оба) всегда будет пустым, потому что обычно на одной свечке не бывает сразу двух фракталов - и вверх и вниз. Поэтому и нарисовать мы это значение не можем, поскольку его просто не существует. Это отличает этот индикатор от, например,  BollingerBands, у которого на всех свечках есть значение и верхней полосы и нижней.&lt;br /&gt;&lt;br /&gt;Поэтому я разделил отрисовку на две части - для фракталов вверх и для фракталов вниз, включив проверку на пустоту индикатора. Для краткости привожу только фрагмент кода для фракталов вверх.&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_e10c053b582c4a6ebd7d7b22a0d25cae');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_e10c053b582c4a6ebd7d7b22a0d25cae' style='display:none'&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

Fractals fractals = new Fractals();
chartUpFractalsElement = new ChartIndicatorElement() { Title = &amp;quot;Fractals&amp;quot;, Color = Colors.Green, Indicator = fractals.Up, DrawStyle =
                                                       ChartIndicatorDrawStyles.Dot, StrokeThickness = 5 };
riCandleChartArea.Elements.Add(chartUpFractalsElement);

bool final = candle.State == CandleStates.Finished;
fractals.Process(new CandleIndicatorValue(candle) { IsFinal = final });

if (fractals.IsFormed)
{
    IIndicatorValue upFractalValue = fractals.Up.GetCurrentValue&amp;lt;ShiftedIndicatorValue&amp;gt;();
    if (!upFractalValue.IsEmpty)
    {
        ChartIndicatorValue chartFractalsValue = new ChartIndicatorValue(fractals.Up, upFractalValue);
        this.GuiAsync(() =&amp;gt; riChartWindow.RiChart.ProcessValues(candle.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt; 
                            { { chartUpFractalsElement, chartFractalsValue } }));
    }
}

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Но теперь почему-то все фракталы (точки на графике) рисуются в левой части графика (см. рисунок)! Горизонтальные линии я добавил сам, они указывают на центральный бар фрактала. Это ошибка в библиотеке или можно в моём коде что-то поправить?&lt;br /&gt;&lt;br /&gt;************************&lt;br /&gt;Update. Кстати, заметил, что эти фракталы рисуются на каждом баре поочереди, начиная с нулевого. Как так, ведь в ProcessValues(candle.OpenTime, new Dictionary&amp;lt;IChartElement, object&amp;gt;) передаётся та свеча, на которой обнаружен фрактал?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/28440/</id>
    <title type="text">Здравствуйте. Подскажите, пожалуйста, как пользоваться индикатором фракталы? У него (Fractals) есть ...</title>
    <published>2013-11-26T08:05:36Z</published>
    <updated>2013-11-26T08:05:36Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.ru/users/26984/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pft_man &lt;a href="https://stocksharp.ru/posts/m/28436/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Здравствуйте. Подскажите, пожалуйста, как пользоваться индикатором фракталы? &lt;br /&gt;У него (Fractals) есть FractalPart Up и Down. Что возвращает метод GetCurrentValue&amp;lt;&amp;gt;()? &lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;T GetCurrentValue&amp;lt;T&amp;gt;()&lt;br /&gt;этот метод возвращает значение текущего состояния индикатора в виде типа T, т.е. текущее значение индикатора преобразовывается в тип T, который указан в угловых скобках.&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;pft_man &lt;a href="https://stocksharp.ru/posts/m/28436/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Например, я создал такой индикатор, как проверить, что на данной свечке получен фрактал? Up или Down? Можно ли узнать значение high/low свечки, на которой получен фрактал?&lt;br /&gt;Пытался сам разобраться с исходниками индикатора, но что-то не получается.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Примерно так Вы получаете значение фрактала на свечу:&lt;br /&gt;fractal.Process(candle)&lt;br /&gt;здесь метод Process вернет комплексное значение, состоящее из Up и Down, в виде коллекции.&lt;br /&gt;Затем для каждого Up и Down Вы анализируете что вернет метод GetCurrentValue(), и на основе этого делаете вывод о том, что у Вас Up или Down.&lt;br /&gt;И если хотите посмотреть свойства свечи, по которой сработал индикатор, то анализируете свечу candle.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/28436/</id>
    <title type="text">Здравствуйте. Подскажите, пожалуйста, как пользоваться индикатором фракталы? У него (Fractals) есть ...</title>
    <published>2013-11-25T19:08:17Z</published>
    <updated>2013-11-25T19:08:17Z</updated>
    <author>
      <name>pft_man</name>
      <uri>https://stocksharp.ru/users/28735/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Здравствуйте. Подскажите, пожалуйста, как пользоваться индикатором фракталы? &lt;br /&gt;У него (Fractals) есть FractalPart Up и Down. Что возвращает метод GetCurrentValue&amp;lt;&amp;gt;()? Например, я создал такой индикатор, как проверить, что на данной свечке получен фрактал? Up или Down? Можно ли узнать значение high/low свечки, на которой получен фрактал?&lt;br /&gt;Пытался сам разобраться с исходниками индикатора, но что-то не получается.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>