﻿<?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">S#.API</title>
  <id>~/topic/5044/s_api/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-09T03:10:42Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=5044" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/33464/</id>
    <title type="text">В след раз делайте Пул Реквесты. Это не долго, но нагляднее. </title>
    <published>2015-08-11T00:34:12Z</published>
    <updated>2015-08-11T00:34:12Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;В след раз делайте &lt;a href="https://help.github.com/articles/creating-a-pull-request/" rel="nofollow" target="_blank"&gt;Пул Реквесты&lt;/a&gt;. Это не долго, но нагляднее.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/33462/</id>
    <title type="text">обнаружена ошибка в файле CandleBulder.cs в выделенной строчке: protected virtual void UpdateCandle(...</title>
    <published>2015-08-10T08:13:54Z</published>
    <updated>2015-08-10T08:13:54Z</updated>
    <author>
      <name>robot.sv</name>
      <uri>https://stocksharp.com/users/39504/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;обнаружена ошибка в файле CandleBulder.cs в выделенной строчке:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;protected virtual void UpdateCandle(CandleSeries series, TCandle candle, ICandleBuilderSourceValue value)
{
if (candle == null)
throw new ArgumentNullException(&amp;quot;candle&amp;quot;);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  	if (value == null)
  		throw new ArgumentNullException(&amp;quot;value&amp;quot;);

  	if (value.Price &amp;lt; candle.LowPrice)
  	{
  		candle.LowPrice = value.Price;
  		candle.LowTime = value.Time;
  	}

  	if (value.Price &amp;gt; candle.HighPrice)
  	{
  		candle.HighPrice = value.Price;
  		candle.HighTime = value.Time;
  	}

  	candle.ClosePrice = value.Price;
  	candle.TotalPrice += value.Price * value.Volume;

  	candle.LowVolume = (candle.LowVolume ?? 0m).Min(value.Volume);
  	candle.HighVolume = (candle.HighVolume ?? 0m).Max(value.Volume);
  	candle.CloseVolume = value.Volume;
  	candle.TotalVolume += value.Volume;

        if (value.OrderDirection != null)
        {
           &amp;lt;u&amp;gt;***candle.RelativeVolume += value.OrderDirection == Sides.Buy ? value.Volume : -value.Volume;***&amp;lt;/u&amp;gt;
        }


  	candle.CloseTime = value.Time;

  	if (series.IsCalcVolumeProfile)
  		candle.VolumeProfileInfo.Update(value);
  }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;candle.RelativeVolume всегда будет null
у себя переделал код:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;if (value.OrderDirection != null)
{
var volumeDirect = value.OrderDirection == Sides.Buy ? value.Volume : -value.Volume;
candle.RelativeVolume = candle.RelativeVolume != null ? candle.RelativeVolume.Value + volumeDirect : volumeDirect;
}
Теперь candle.RelativeVolume заполняется корректно&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>