﻿<?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">В Transaq коннекторе не могу получить свечки</title>
  <id>~/topic/8289/v-transaq-konnektore-ne-mogu-poluchit-svechki/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-05T20:55:18Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=8289" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/49788/</id>
    <title type="text">Добрый день. Так же как и Вы не могу получить объёмы исторических свечей с коннектором Transaq, верс...</title>
    <published>2020-03-26T17:54:26Z</published>
    <updated>2020-03-26T17:54:26Z</updated>
    <author>
      <name>Igruran</name>
      <uri>https://stocksharp.ru/users/98190/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день. Так же как и Вы не могу получить объёмы исторических свечей с коннектором Transaq, версия Stocksharp 4.4.16.
Текущие объёмы свечей приходят нормально. С коннектором Quik так же всё работает. Попробовал (как Вы рекомендовали) поменять в региональных настройках Windows запятую на точку, но результат тот же самый.Может я не там запятые на точки меняю? Или проблема в разрядности Windows (у меня 32-разрядная)? А может в коде чего нибудь не учитываю?&lt;/p&gt;
&lt;p&gt;using Ecng.Common;
using StockSharp.Algo.Candles;
using StockSharp.Messages;
using StockSharp.Transaq;
using System;
using System.Net;&lt;/p&gt;
&lt;p&gt;namespace CandleTransaq
{
class Program
{
private static void Main(string[] args)
{&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;        var transaqTrader = new TransaqTrader()
        {
            Login = &amp;quot;XXXXXXX&amp;quot;,
            Password = &amp;quot;XXXXXXX&amp;quot;,
            Address = &amp;quot;tr1.finam.ru:3900&amp;quot;.To&amp;lt;EndPoint&amp;gt;(),
            IsHFT = false,
        };

        if (transaqTrader.ConnectionState == ConnectionStates.Disconnected)
        {
            transaqTrader.Connected += () =&amp;gt;
        {
            Console.WriteLine(&amp;quot;Подключено успешно&amp;quot;);
        };

            transaqTrader.ConnectionError += ex =&amp;gt; Console.WriteLine(&amp;quot;Ошибка &amp;quot; + ex.ToString());

            transaqTrader.NewSecurities += securities =&amp;gt;
            {
                foreach (var security in securities)
                {
                    if (security.Id == &amp;quot;SBER@TQBR&amp;quot;)
                    {
                        CandleSeries _series = new CandleSeries(typeof(TimeFrameCandle), security, TimeSpan.FromDays(1))
                        {
                            BuildCandlesMode = MarketDataBuildModes.Load,
                            From = DateTimeOffset.Now.AddDays(-10),
                            To = DateTimeOffset.Now,
                        };

                        transaqTrader.SubscribeCandles(_series, null, null);

                        transaqTrader.CandleSeriesProcessing += DrawElement;
                    }
                };
            };

            transaqTrader.NewTrade += (t) =&amp;gt;
            {
                var t1 = t;
            };

            transaqTrader.Connect();
        }

        Console.ReadKey();
        transaqTrader.Disconnect();
    }

    private static void DrawElement(CandleSeries series, Candle candle)
    {
        Console.WriteLine($&amp;quot;O: {candle.OpenPrice}, H: {candle.HighPrice}, L: {candle.LowPrice}, C: {candle.ClosePrice}, V: {candle.TotalVolume}&amp;quot;);
    }
}
&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/49515/</id>
    <title type="text">Добрый день, аналогичная проблема с коннектором Transaq, версия Stocksharp 4.4.16. Подключение проис...</title>
    <published>2020-02-12T14:31:53Z</published>
    <updated>2020-02-12T15:11:16Z</updated>
    <author>
      <name>AlgoCoder</name>
      <uri>https://stocksharp.ru/users/101888/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день, аналогичная проблема с коннектором Transaq, версия Stocksharp 4.4.16.
Подключение происходит, инструмент находит, изменение MarketDepth есть, но новые свечи по SubscribeCandles не приходят.
Исторические свечи загружаются, но приходят с нулевыми объёмами.
При переключении на коннектор Quik всё работает.&lt;/p&gt;
&lt;p&gt;Как удалось решить:
В логах нашёл ошибку
Error System.InvalidCastException: Can't convert 100.0% of type 'System.String' to type 'System.Double'. ---&amp;gt; System.FormatException: Input string was not in a correct format.
at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
...
at StockSharp.Transaq.TransaqMessageAdapter.
at Ecng.Common.Converter.DoInCulture[T](CultureInfo cultureInfo, Func`1 func)
at StockSharp.Transaq.TransaqMessageAdapter.
которая указывает на проблему парсинга строки в Double.
Поменял в региональных настройках Windows на вкладках Numbers/Currency в поле Decimal symbol заменил запятую на точку, всё заработало.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40051/</id>
    <title type="text">Ок, проверим... </title>
    <published>2017-05-31T18:36:45Z</published>
    <updated>2017-05-31T18:36:45Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&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/40045/</id>
    <title type="text">Менял значение BuildCandlesModes и на значение Load и LoadAndBuild - результат прежний, свечки не пр...</title>
    <published>2017-05-31T02:04:29Z</published>
    <updated>2017-05-31T02:04:29Z</updated>
    <author>
      <name>Pelmen32</name>
      <uri>https://stocksharp.ru/users/95692/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Менял значение BuildCandlesModes и на значение Load и LoadAndBuild - результат прежний, свечки не приходят
через событие СandleManager.Processing.&lt;/p&gt;
&lt;p&gt;Попробовал сделать следующим образом через создание переменной IExternalCandleSourse и метод SubscribeCandles:&lt;/p&gt;
&lt;p&gt;[code]_series = new CandleSeries(typeof(TimeFrameCandle), _security, TimeSpan.FromMinutes(5))
;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;                _iexternalCandleSource = _trader;

                _candleManager = new CandleManager(_iexternalCandleSource);

                _iexternalCandleSource.SubscribeCandles(_series,DateTimeOffset.MinValue, DateTimeOffset.MaxValue);
                    
                _candleManager.Processing += DrawElement;
                _candleManager.Start(_series);[/code]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;В метод DrawElement стали приходить только исторические свечки за текущий день до текущего времени,
новые свечки не формируются в CandleManger. При этом, в событие _trader.NewTrade новые сделки поступают.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Можно ли через Transaq коннектор и CandleManager получать не только историю, но и сформированные новые свечки в реальном времени?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Возможно ли сформировать свечки произвольного таймфрейма из сделок, а не загружать уже готовые свечки (в транзаке всего свечки 5 таймфреймов)?&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&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/40040/</id>
    <title type="text">BuildCandlesMode = BuildCandlesModes.Build. Здесь выберите другое значение, не Build... </title>
    <published>2017-05-30T13:44:56Z</published>
    <updated>2017-05-30T13:44:56Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;BuildCandlesMode = BuildCandlesModes.Build. Здесь выберите другое значение, не Build...&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40032/</id>
    <title type="text">Добрый день. В приложенном простом примере не могу получить свечки через событие СandleManager.Proce...</title>
    <published>2017-05-30T00:25:40Z</published>
    <updated>2017-05-30T01:08:50Z</updated>
    <author>
      <name>Pelmen32</name>
      <uri>https://stocksharp.ru/users/95692/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день.
В приложенном простом примере не могу получить свечки через событие СandleManager.Processing.
Подключение происходит, инструмент находит, также приходят сделки через подписку NewTrade,
но свечки через CandleManager не формируются.
Transaq от Финам, библиотека StockSharp - 4.3.24.0
При создании CandleSeries, указываю BuildCandlesMode = BuildCandlesModes.Build.
Помогите, пожалуйста, в чем может быть причина?
Аналогичный пример с подключением через Квик работает.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/40033/</id>
    <title type="text">using System; using System.Linq; using System.Net; using Ecng.Common; using StockSharp.Algo.Candles;...</title>
    <published>2017-05-30T00:26:32Z</published>
    <updated>2017-05-30T00:26:32Z</updated>
    <author>
      <name>Pelmen32</name>
      <uri>https://stocksharp.ru/users/95692/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;using System;
using System.Linq;
using System.Net;
using Ecng.Common;
using StockSharp.Algo.Candles;
using StockSharp.BusinessEntities;
using StockSharp.Messages;
using StockSharp.Transaq;&lt;/p&gt;
&lt;p&gt;namespace TransaqTest
{
class Program
{
private static TransaqTrader _trader;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;    private static Security _security;

    private static CandleManager _candleManager;

    private static CandleSeries _series;

    private static void Main(string[] args)
    {

        _trader = new TransaqTrader
        {
            Login = &amp;quot;XXXXXXXXXXX&amp;quot;,
            Password = &amp;quot;XXXXXXXXXX&amp;quot;,
            Address = &amp;quot;tr1.finam.ru:3900&amp;quot;.To&amp;lt;EndPoint&amp;gt;(),
            IsHFT = false
        };

        if (_trader.ConnectionState == ConnectionStates.Disconnected)
        {
            //подписываемся на событие успешного подклюия
            _trader.Connected += () =&amp;gt;
            {
               Console.WriteLine(&amp;quot;Успешно подключились&amp;quot;);

               _candleManager.Start(_series);

               //_trader.RegisterSecurity(_security);

               //_trader.RegisterTrades(_security);

            };

            _trader.NewSecurities += securities =&amp;gt;
            {
                _security = securities.FirstOrDefault(s =&amp;gt; s.Code.ToUpper()==&amp;quot;SIM7&amp;quot;);

                if (_security != null)
                {
                    Console.WriteLine(&amp;quot;Инструмент {0} найден&amp;quot;, _security.Code.ToString());

                    _candleManager = new CandleManager((IConnector) _trader);

                    _candleManager.Processing += DrawElement;

                    _series = new CandleSeries(typeof(TimeFrameCandle), _security, TimeSpan.FromMinutes(1))
                    {
                        BuildCandlesMode = BuildCandlesModes.Build,
                    };

               }

            };

            _trader.NewTrade += (t) =&amp;gt;
            {
                var t1 = t;
            };

            _trader.Connect();
            
        }
        else
        {
            _trader.Disconnect();
        }

        Console.ReadKey();
        _trader.Disconnect();
    }

    private static void DrawElement(CandleSeries series, Candle candle)
    {
        Console.WriteLine(&amp;quot;Свечка: {0}, {1}&amp;quot;, candle.OpenTime, candle.CloseTime);
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>