﻿<?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">Не могу отобразить методом Draw индикаторы класса BaseComplexIndicator на графике.</title>
  <id>~/topic/10370/ne-mogu-otobrazit-metodom-draw-indikatory-klassa-basecomplexindicator-na-grafike_/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-13T23:06:02Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=10370" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/46467/</id>
    <title type="text">Здравствуйте, Не могу разобраться как вывести на график составные индикаторы типа BollingerBands. Ме...</title>
    <published>2019-01-28T09:38:25Z</published>
    <updated>2019-01-28T09:38:25Z</updated>
    <author>
      <name>allint29</name>
      <uri>https://stocksharp.com/users/103515/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Здравствуйте,&lt;/p&gt;
&lt;p&gt;Не могу разобраться как вывести на график составные индикаторы типа BollingerBands. Метод Draw говорит что не поддерживает данный тип данных.&lt;/p&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code&gt; private void InitIndicators()
        {
            _chartCandleElement = new ChartCandleElement(); //  после чего определим новый элемент графика для свечей и
            area1.Elements.Add(_chartCandleElement); // добавим ее на область графика

            _chBolBands = new ChartIndicatorElement {FullTitle = &amp;quot;Боллинжер&amp;quot;, Color = Colors.DeepPink, };
            area1.Elements.Add(_chBolBands);

            _chAlligatorEl = new ChartIndicatorElement { FullTitle = &amp;quot;Аллигатор&amp;quot;, Color = Colors.SaddleBrown };
            area1.Elements.Add(_chAlligatorEl);

            _chartIndElSMAFast = new ChartIndicatorElement { FullTitle = &amp;quot;Короткая&amp;quot;, Color = Colors.OrangeRed };
            area1.Elements.Add(_chartIndElSMAFast);

            _chartIndElSMALong = new ChartIndicatorElement { FullTitle = &amp;quot;Длинная&amp;quot;, Color = Colors.GreenYellow };
            area1.Elements.Add(_chartIndElSMALong);

            _chartIndElVolume = new ChartIndicatorElement { FullTitle = &amp;quot;Объем&amp;quot;, Color = Colors.Blue, DrawStyle = ChartIndicatorDrawStyles.Histogram };
            area3.Elements.Add(_chartIndElVolume);

            _chDiMin = new ChartIndicatorElement() { FullTitle = &amp;quot;Di-&amp;quot;, Color = Colors.Red, DrawStyle = ChartIndicatorDrawStyles.Histogram };
            area2.Elements.Add(_chDiMin);

            _chDiPlus = new ChartIndicatorElement() { FullTitle = &amp;quot;Di+&amp;quot;, Color = Colors.DarkGreen };
            area2.Elements.Add(_chDiPlus);


            _alligator = new Alligator() {Teeth = { Shift = 2, Length = 2}};
            _diMin = new DiMinus() { Length = 10 };
            _diPlus = new DiPlus() { Length = 10 };
            _smaFast = new SimpleMovingAverage() { Length = 5};
            _smaLong = new SimpleMovingAverage() { Length = 50 };
            _totalVolume = new SimpleMovingAverage() { Length = 1 };
            _bollingerBands = new BollingerBands() { Length = 3, UpBand = {  Width = 2,} };


        }

        private void InitChart()
        {
            ChartPanel.ClearAreas(); // очистим от старых свечей
            area1 = new ChartArea(); // и создадим нову область графика
            area2 = new ChartArea();
            area3 = new ChartArea();
            ChartPanel.AddArea(area1); // добавим ее на график
            ChartPanel.AddArea(area2);
            ChartPanel.AddArea(area3);
        }

        private void DrawData(CandleSeries series, Candle candle)
        {
            var longValueFast = _smaFast.Process(candle.ClosePrice);
            var longValueLong = _smaLong.Process(candle.ClosePrice);
            var diMin = _diMin.Process(candle);
            var diPlus = _diPlus.Process(candle);
            var totalVol = _totalVolume.Process(candle.TotalVolume);
            var bolVol = _bollingerBands.Process(candle.ClosePrice);
            
            var data = new ChartDrawData();

            this.GuiAsync(()=&amp;gt;
            {
               data
                   .Group(candle.OpenTime)
                   .Add(_chartCandleElement, candle)
                   .Add(_chartIndElSMAFast, longValueFast)
                   .Add(_chartIndElSMALong, longValueLong)
                   .Add(_chDiMin, diMin)
                   .Add(_chDiPlus, diPlus)
                   .Add(_chartIndElVolume, totalVol)
                   .Add(_chBolBands, bolVol)
                   ;
           
           ChartPanel.Draw(data);
                
            });

&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Подскажите, пожалуйста, в чем ошибка.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>